软件测试|什么是Python函数及名称空间
发布时间: 2023-07-11

Python函数及名称空间

函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

作用:

函数能提高应用的模块性,和代码的重复利用率

def 函数名(参数):

'''函数注释'''

函数体代码

return 返回值

1.def

定义函数的关键字

2.函数名

等同于变量名

3.参数

可以不填,主要是在使用函数的时候规定外界要不要传数据进来

4.函数注释

类似于说明书,用来介绍这段函数体的使用说明

5.函数体代码

是整段函数的核心,主要取决于程序员的编写

6.return

使用函数之后可以返回数据给使用者,可以不填

展开全文

1.函数在定义阶段只检测语法,不执行代码

def func():

pass

2.函数在调用阶段才会执行函数体代码

func()

3.函数必须先定义,后调用

4.函数的调用使用:函数名()

如有参数需要在括号内按相应的规则填写

1.空函数

函数体代码为空,主要用于先创建一个框架,函数体用pass补全

def register():

"""注册功能"""

pass

2.无参函数

函数名后方括号内无需填写参数

def index():

print('from index function')

3.有参函数

函数名后方括号内需要填写参数才可以调用

def func(a):

print(a)

1.什么是返回值

调用函数之后返回给调用者的结果

2.如何获取返回值

# 变量名 赋值符号 函数的调用

res = func() # 先调用函数,然后用变量名接收结果

3.返回值的多种结果

1.函数体代码中没有return时,默认返回None

2.函数体代码中有return时,后面没写数据,返回None

3.函数体代码中有ruturn时,返回后面写的值

4.函数体代码中有return时,后面写多个数据,以元组的形式返回

我们以list形式写的值就会以列表返回,否则默认以元组形式返回

5.函数体代码遇到retrun会自动结束函数体代码

1.形式参数

在函数定义阶段函数名后方括号内填写的参数,简称‘形参’

2.实际参数

函数调用时,函数名后方括号内填写的参数,简称‘实参’

形参与实参的关系:

形参类似于变量名,在函数定于阶段可以随便写,最好做到见名知意

def register(name,pwd):

pass

实参类似于数据值 在函数调用阶段与形参临时绑定 函数运行结束立刻断开

register('kangkang',123) 形参name与kangkang绑定 形参pwd与123绑定

函数参数

引言:

函数的参数主要是在使用函数的时候规定外界要不要传数据进来

参数分为两种:

1、形参

2、实参

而形参和实参又共分为以下几个种类

1.位置形参:

在函数定义阶段括号内从左往右依次填写的变量名

def func(a, b, c):pass

2.位置实参:

在函数调用阶段括号内从左往右依次填写的数据值

func(1, 2, 3)

定义:

1、在调用时,形参和实参位置必须一致

2、在调用时,形参和实参数量必须一致

3、在调用时可用关键字传参

3.1.关键字传参需要跟在位置传参的后面

4、同一个形参在调用时不能多次赋值

5、实参可以传递绑定数据值的变量名

在下面这个函数中,a是必选参数,是必须要指定的

>>> def demo_func(a):

... print(a)

>>> demo_func(10)

10

>>> demo_func() # 不指定会报错

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: demo_func() missing 1 required positional argument: 'a'

在下面这个函数中, name和age 都是必选参数,在调用指定参数时,如果不使用关键字参数方式传参,需要注意顺序

>>> def print_profile(name, age):

... return f"我的名字叫{name},今年{age}岁了"

>>> print_profile("kangkang", 18)

'我的名字叫kangkang,今年18岁了'

如果参数太多,你不想太花精力去注意顺序,可以使用关键字参数方式传参,在指定参数时附上参数名,比如这样:

>>> print_profile(age=18, name="kangkang")

'我的名字叫kangkang,今年18岁了'

1.默认形参

在函数定义阶段,可填写默认值

def func(name, age = '18')

2.默认实参

在调用阶段,默认值不需要修改时可以不用传参,结果为默认值

def func('kangkang')

定义:

默认参数必须放在位置参数的后面,否则程序会报错

在下面这个函数中,b是可选参数(默认参数),可以指定也可以不指定,不指定的话,默认为10

>>> def demo_func(b=10):

... print(b)

>>> demo_func(20)

20

>>> demo_func()

10

在定义时,必选参数一定要在可选参数的前面,不然运行时会报错

>>> def demo_func(a=1, b):

... print(a, b)

File "<stdin>", line 1

SyntaxError: non-default argument follows default argument

>>>

>>> def demo_func(a, b=1):

... print(a, b)

>>>

3、可变长参数

1.可变长形参 * (一个*号)

在函数定义阶段,括号内的参数可接收多余位置实参,*后的参数名约定俗成为args

def num (x,y,*args):

print(args)

return 1

num(1,2,3,4,5)

(3, 4, 5) *args就为(3,4,5),1,2分别传给了x,y

2.可变长实参 * (一个*号)

在函数调用阶段,*可接收各类数据库并循环进行传参

def func(x, y, z, *args):

print(x, y, z, args)

func(1, *(1, 2), 3, 4)

1 1 2 (3, 4)

须知:

1.字符串 # 按字符顺序依次传参

2.列表 # 按列表数据值顺序依次传参

3.集合 # 集合无序,数据值传参顺序随机

4.元组 # 按元组数据值顺序依次传参

5.字典 # 只能传参字典K值

在下面这个函数中,args 参数和上面的参数名不太一样,在它前面有一个 *,这就表明

微信