无参函数:
def f():
print('Hello World')
f()
普通参数:
def add(a,b):
print(a+b)
add(2,3)
每一个函数都是有返回值的,如果没有return,函数的默认返回值是None。
一旦执行了return后,函数执行过程立即终止,不再执行,在函数中,return后是函数的返回值
默认参数:在一个函数中,如果有多个形式参数,那么默认参数只能放在普通参数后面,不能把默认参数在前面
def add(a,b=3,c=5):
print(a+b+c)
add(2)
动态参数:*代表元组,**代表字典
接口测试中应用场景:1.请求参数的个数不确定 2.请求参数的数据类型不确定
def f1(*args,**kwargs):
print(args,kwargs)
函数和方法的区别:
函数(FunctionType):
函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。 所有传递给函数的数据都是显式传递的。
方法(MethodType):
方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。
区别之一(所处位置不同):函数是直接写文件中而不是class中,方法是只能写在class中。
区别之二(定义方式不同):函数:def关键字 然后接函数名 再是括号 括号里面写形参也可以省略不写形参
方法:首先方法是定义在类中的,其他他大体和函数定义差不多,这里需要注意的一点就是方法必须带一个默认参数(相当于this),静态方法除外
区别之三(调用方式不同):函数的调用:直接写 函数名(函数参数1,函数参数2,......)
方法的调用:方法是通过对象点方法调用的(这里是指对象方法)
函数返回值:
函数返回值的价值和意义:函数或者方法的返回值是给另外一个函数或者另外一个方法提供请求的参数
应用举例:
1、发送整个登录的POST请求
2、登录成功之后拿到登录成功后这个用户的session信息,return返回
3、发送个人主页的请求,在这个请求当中,把登录返回的session信息带进去 def login(username='18258179999',password='123456') if username == '18258179999' and password == '123456': return 'ewwww21111'
else:
print('请先登录系统')
def profile(session):
if session == 'ewwww21111':
print('欢迎访问菜鸟的个人主页')
else:
print('请先登录系统')
profile(login())
匿名函数:通常是在需要一个函数实现一个简单功能,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。
lambda函数:
冒汗左边的是函数的形式参数,冒号右边是函数体的内容或者说功能