Python基础 打卡四
- 函数关键字
- 函数的定义
- 函数参数与作用域
- 返回值
函数关键字
关键字是python内置的,是具有特殊意义的标识符,调用其后不需要加()
import keyword
print("python中关键字的个数是:%d"%len(keyword.kwlist))
print(keyword.kwlist)
输出:
python中关键字的个数是:35
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
'try', 'while', 'with', 'yield']
函数的定义
函数声明时使用关键字 def ,返回时使用关键字 return
def function_name(参数):
函数体
return results #返回值
定义空函数:
def null_function():
pass
小实验:
def comp_10(x):
if x > 10:
return True
else:
return False
y =comp_10(20)
print(y) # 输出结果 :True
函数参数与作用域
(1)形式参数:在定义函数时,函数名后面括号中的变量名称叫做形参
(2)实际参数:在调用函数时,函数名后面括号中的变量名称叫做实参
(3)默认参数:定义函数时,指定参数的值,在调用函数时,如果没有传入或改变默认参数的值,则使用默认参数。如果不需要改变默认参数,不用传入默认参数;需要改变默认参数时,传入默认参数即可。
(4)可变参数:传入的参数个数可变,可以为0到任意个,在参数前加‘*’实现可变参数。可变参数在函数调用时自动组装为一个tuple。在列表和元组前加,可以将列表或元组中的元素变为可变参数传入函数。
(5)关键字参数:将任意个含参数名的参数组装为一个dict,在参数前加双星号实现关键字参数。在dict前加双星号,可以将dict作为为关键字参数传入函数。传入的为dict的拷贝,在函数中的修改不会影响函数外的dict。
(6)位置参数:实参与形参位置一一对应;
关键字调用:位置无须固定;
def comp_10(x): # x 为形参
if x > 10:
return True
else:
return False
y =comp_10(20) # y为实参
def func1(x,y,z = 10):
sum = x+y+z
return sum
r1 = func1(2,5) #位置参数,z不传值,为默认参数
r2 = func1(x=2,y=5)
r3 = func1(x = 2,y =5,z = 7) # z重新赋值
r4 = func1(y = 5,x = 2,z = 7) #关键字参数,位置不固定
print(r1,r2,r3,r4)
def func2(n,*m): #m为可变参数
s=1
for i in range(1,n+1):
s*=i
for j in m:
s*=j
return s
z = func2(3,3,3)
print (z)
返回值
函数需要先定义后调用,函数体中 return 语句的结果就是返回值。
如果一个函数没有 reutrn 语句,则默认返回值是 None。
无论定义的是返回什么类型,return 只能返回单值,但值可以存在多个元素,如返回元组。
def func3(x,y):
sum = x*y
return sum
def func4(x,y):
sum =x *y
def func5(x,y,z,g):
return x,y,z,g
z = func3(4,5)
w = func4(4,5)
d = func5(1,2,3,4)
print(z) #输出20
print(w) #输出None
print(d) #输出(1,2,3,4)