一、函数的定义与调用
1)函数定义
函数定义的格式
函数定义的格式:
def 函数名():
执行代码
2)函数的调用
调用格式
格式:
函数名()
注 def函数名不能和内置名词。调用函数时,函数名后面的括号千万不要忘记
例子
要求:定义函数,能够完成输出自己的姓名和年龄,并让函数执行
def getStudentInfo():
name = input('请输入姓名:')
age = int(input('请输入年龄:'))
print('我的名称是:%s,我今年%d岁'%(name,age))
#调用函数
getStudentInfo()
3)函数的参数
格式:
def 函数名(参数1,参数2...):
执行代码
调用格式:
函数名(参数1,参数2...)
自己的理解: 定义的函数里面包含很多的参数,x1 x2 x3 x4接着会对这些参数定义一个运行的设置,如加减乘除等运算。
当自己调用的时候对应输入参数即可得到想要的结果
关于参数的例子
定义一个函数,完成前两个数的加法运算,在对第三个数进行减法,调用该函数,完成计算并打印结果?
def sum(a,b,c):
d = a + b
e = d - c
print(e)
#调用函数
sum(1,3,5)
运行结果
注: 给函数逐步定义好自己想要的运算,直接打印最终的结果
4)函数的参数传递
函数的嵌套调用
def f1():
print('f1')
def f2():
print('f2')
def f3():
print('f3')
f3()
f2()
f1()
输出样式
**注:**def里面可以嵌套着定义多个函数,在调用的时候直接调用就可以了。
5) 可变对象
可变的数据类型
list,dict,set
例子
def change(num):#num形参
num.append(0)
li = [] #定义一个空列表li
change(li) #把列表作为参数
print(li)
输出结果
**自己的理解:**可以定义一个列表,然后把列表作为参数代入进去循环输出
6)默认参数
一个函数能够处理比当初声明时更多的参数------不定长参数,声明时一般不会命名
def fun(a,b,c,*args,**kwargs):
print('a=',a)
print('b=',b)
print('c=',c)
print('args=',args)
print('kwargs=',kwargs)
for key,value in kwargs.items():
print('key=',key,'value=',value)
#调用函数
fun(1,3,5,6,name='鹿晗',age=20,height=180)
**注:**1.自己的理解是在fun中定义的时候,给定了1-n个命名参数,即arg,可以对应输入n个参数
2.而后加上*args放入多余n个的参数 类型是元祖
3.**kwargs里面放入带=号的
7)偏函数
#从工具箱调用partial函数
from functools import partial
#求两个数之和
def add(a,b):
return a + b
#偏函数调用
plus = partial(add,100) #提前获知第一个参数的值
res = plus(9)
print(res)
运行结果
个人理解: partial就是对设有参数运算的函数,提前确定任意一个参数的值,在后面调用的时候只需要输入剩余参数的值即可。