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)