Função Python e passagem de parâmetro
定义一个函数
def funadd(a,b):
return a+b
函数的传参
#以此函数为例
def funtext(a,b=1,*args,**kwargs):
print(a,b)
print(args,kwargs)
funtext(1,2,3,4,5,6,name="wsm")
#打印结果
1 2
(3, 4, 5, 6) {
'name': 'wsm'}
#在调用函数时 a没有定义默认值 b的默认值是1
Tipo de parâmetro | valor (consulte o bloco de código acima) |
---|---|
Parâmetros necessários | a |
parâmetros opcionais | b (pode ser passado ou não, se não for usado, o valor padrão é 1) |
Parâmetros incertos | *args combina os valores sem argumentos em uma tupla (3, 4, 5, 6) |
* * kwargs combina instruções de atribuição com parâmetros e valores padrão em um dicionário {'name': 'wsm'} |
定义函数参数类型
#参数名 + : + 类型
def funtext2(a:str,b:int=1):
print(global a)
print(a,b)
局部变量和全局变量
name="wsm" #全局变量
#参数名 + : + 类型
def funtext(a=1,b=2):
c="123" #局部变量 仅在函数体内有效
print(a,b,c)# 1,2,"123"
print(c) #为定义
#修改全局变量 global
def funtext():
global name
name="123" #局部变量 仅在函数体内有效
print(name)# "123"
print(name) #"123"
递归函数
def text():
global num
num += 1
if num != 5:
print('不满足,继续调用自己', num)
return text()
else:
print("满足了", num)
#ps:递归函数一定要有结束条件 避免乱用造成内存溢出
匿名函数 lambda
- Definir uma função leve
- Use e exclua, muito adequado para uma função que precisa ser concluída, mas essa função é usada apenas em um local
- Por padrão retorna um valor
#例子
func =lambda:print(1)# 1
func2 =lamdba:x,y:x>y
print(func2(1,2))#False
func3 =lamdba:x,y=1:x+y
print(func2(1,2))#3