Python-接口自动化(三)
python基础知识(三)
(三)函数
1、函数
函数的语法:
def 函数名():
函数体
a、函数的关键字是def,函数体就是你希望这个函数帮你实现什么功能,函数名命名需要遵循的原则是以小写字母分开,由数字字母数字下划线组成,但是不能以数字开头,不同的字母之间用下划线隔开;函数内容以冒号起始,并且缩进;
例如:
def han_shu():
print("我是一个函数")
函数名后面的括号内放入的参数叫做形参/位置参数,括号内的参数可放可不放,根据实际需要决定;传入的参数还可以给定一个默认值,这样的参数就叫做默认参数,默认参数如果开始定义的时候给定了值的话,那后续调用函数的时候就可以不用传参了。注:如果存在多个参数的话,那么默认参数必须放在位置参数的后面,不然就会报错。
b、调用函数:函数名(),调用的函数括号内放入的参数叫做实参,如果有对应的参数需要传递的话,括号内就要放入对应个数的参数值,否则会报缺少参数的错误提示;
例如:
def han_shu(name):
print("函数的名字是{0}".format)
han_shu("xiaozhu")
han_shu("xiaoxiaozhu")
打印出来的结果是:函数的名字是xiaozhu 函数的名字是xiaoxiaozhu
c、写函数需要遵循的原则
(1)先用代码实现基本功能,可以用一组数据来验证写的代码是否正确;
(2)变成函数,加def;
(3)想办法提升代码的复用性;
d、return函数
任何情况下当你调用这个函数的时候就会给你返回一个值,返回的值不会在控制台输出,但并不是所有的函数都需要用到这个函数,返回的这个值就是return后面的表达式;return后面接的语句都不会执行,因为return在函数里面就相当于一个结束符号,就表示函数到此为止,后面的代码都不会被执行。
例如:写一个函数,检查传入的列表长度,如果大于3,那就只保留前两个长度的内容,并将新内容返回
def check_list(a):
if len(a):>3
new_list=a[0:2]
return new_list
L=[1,2,3,4,5]
new_list=check_list(L)
print(new_list)
打印出来的结果是[1,2]
2、动态参数/不定长参数 *args argumnets
必须要有*,不会限制输入的参数长度和个数,在函数内部作为元祖来进行传递
例如:
def add_number(*L):
sum=0
for item in L:
sum+=item
print("相加的和是",sum)
add_number(1,2,3,4,5)
打印出来的结果是:15
3、关键字参数 key=value的方式 **kwargs key word arguments
必须要有**,在函数里面体现为字典形式,可以接收任意多个参数,但是必须以key-value的形式
例如:
def add(**kwargs):
print(kwargs)
add(x=1,y=2)
打印出来的结果是:{'x':1,'y':2}
4、变量作用域
全局变量:在整个模块里面都可以调用;如果相当某一个变量作为全局变量来进行使用的话需要用global来对其进行声明;
局部变量:函数的局部变量只能作用于该函数;
区别:作用范围不一样;当局部变量和全局变量同名且同时存在的时候,函数会优先调用局部变量;当局部变量没有的时候函数就会优先调用全局变量;
注:一般情况下最好是用局部变量,不要用全局变量。
5、引入模块
第一步:安装
(1)在线安装
a、打开终端,输入pip install 模块名;
b、使用国内源去进行安装,输入pip install 国内源地址 模块名;
c、打开pycharm——>file——>setting——>project interpreter——>点击+——>输入框输入你需要安装的模块,选中你需要安装的模块名之后点击下方的install package按钮就可以了
(2)离线安装
去python官网或者网上找到离线安装包下载下来,解压,拷贝解压后的文件到python安装路径下,在终端进入到安装包所在的文件路径,在终端输入python setup.py install 就可以了
注:安装之后文件的位置,Lib/lib目录下的是python自带的模块,site package目录下的是你在python安装的模块。
第二步:导入
有两种方法:
import
from...import(推荐使用):至少要具体到模块名
a、自己写的模块导入:一层一层的剥开,除了顶级目录,从平级目录一层一层往下进行导入
b、python自带的或者是后面安装的第三方库的引用:这个要比自己写的模块导入要简单一些
以上两种情况可以自行查资料了解或者直接在pycharm里面试一下,试一下你就知道了~
第三步:防止调用的模块名里面代码重复执行
为了防止调用的模块里面代码重复执行,为此可以在末尾加上一个主程序的执行入口 if __name__='__main__': ,这样可以保证只有当你在当前模块下面执行的时候才会执行,其他模块调用再执行的时候代码不会再一次执行,可以起到测试的作用。
以上,第三部分到此结束~
Python-接口自动化(三)的更多相关文章
- python接口自动化三(登录绕开验证码及发帖)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 但是这里需要明确 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
- python接口自动化 -参数关联(一)
原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...
- python接口自动化6-重定向(Location)
前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. ...
- python接口自动化5-Json数据处理
前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...
- python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...
- python接口自动化3-自动发帖(session)
前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? (敲黑板!!!由于博客园最近登录机制变了,登录全部走cookie登录) 一.sessi ...
- python接口自动化1-发送get请求
前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...
随机推荐
- Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍.本来以为花不了 ...
- kubernets code-generator
REF: how-to-generate-client-codes-for-kubernetes-custom-resource-definitions-crd Firstly we need to ...
- ldap集成bitbucket
confluence ldap配置跟jira ldap集成一样,请参考:https://www.cnblogs.com/imcati/p/9378668.html 需在 Global permissi ...
- <工厂方法>比<简单工厂>多了啥
前言:多注重设计.仅当复习讨论! 简单工厂模式 UML图 假如有一位爱心人士,想给饥饿的流浪动物喂食.此时爱心人士身带了狗粮,但是他到处找啊找,最终只找到了猫大人,是不是有点惨兮兮.但是如果有简单 ...
- bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind
今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...
- SAP ERP SD模块中维护销售人员
SAP ERP SD模块中维护销售人员信息并分配销售组织 分类: SAPHCM用户指南 在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...
- Fiddler抓取HTTPS请求配置
由于fiddler安装后默认只能抓取http请求,如果需要抓取https请求需要进行配置.配置方式:Tools--->Options--->HTTPS,勾选CaptureHTTPS CON ...
- 承接AR摄像头识别外包 AR图像识别 AR识别图像 AR识别应用外包
增强现实简称AR,是一种实时计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并实现互动. 这里千万别和VR虚拟现实混了.简单说就是VR看到的场景都是假的, ...
- IBase<T>
public interface IBase<T>//基类 { IEnumerable<T> SelectAll();//查询所有 T FindById(int ID);//根 ...
- Git 安装和使用Tips
1. git的安装 2. git的常见用法 3. git的常见问题 1. git的安装 1)首先去下载https://git-scm.com/downloads 在上述官网上下载符合自己操作系统的gi ...