函数以def关键字开头,后跟标识符和圆括号,圆括号内放参数,以‘:’开始,缩进对齐,return表示函数结束
def 函数名(参数):
函数体
函数调用也没什么好记的
可变类型和不可变类型
大概意思就是单个元素的是不可变类型,改了值的单个元素变量是一个新的变量,就像两个同名的人之间没有任何关系一样,可变类型是元素组这种,值发生了改变也还是原本的元素,就像是一个人截肢后和原本不一样但是还是那个人,
是不是新的变量可以通过查看他的地址查看,通过id(变量名)方法查看地址
参数
python里的参数调用挺好用
有多种方式
除了正常传参数外,还可以通过关键字传参,就是不用必须按照函数的参数排序方式传参,如果数据不完整还可以设置默认参数
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print ("名字: ", name)
print ("年龄: ", age)
return
#调用printinfo函数
printinfo( age=50, name="runoob" )
print ("------------------------")
printinfo( name="runoob" )
名字: runoob
年龄: 50
------------------------
名字: runoob
年龄: 35
不定长参数
还可以设置不定长的参数,很灵活啊
通过元组实现不定长,多出的参数带一个‘*’以元组的形式传入,或者带‘**’以字典的形式带入
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vartuple)
# 调用printinfo 函数
printinfo( 70, 60, 50 )
def printinfo( arg1, **vardict ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
print (vardict)
# 调用printinfo 函数
printinfo(1, a=2,b=3)
使用不定长参数时,*后的参数需要使用关键字传入
匿名函数
匿名函数不需要使用def语句这样标准的形式定义一个函数,而是使用lambda来创建一个函数
lambda:的格式为
lambda n个参数:有限的逻辑
强制位置参数
def f(a, b, /, c, d, *, e, f):
形参 a 和 b 必须使用指定位置参数,c 或 d 可以是位置形参或关键字形参,而 e 或 f 要求为关键字形参: