def 函数名(参数列表):
函数体
(1) 有几个参数,就得传入几个参数
(2) 在函数调用中输入参数时,参数名称必须对应
def aa(x):
print(x)
aa(x=5)
(3) 当调用函数时,必须全部定义名称,且名称对应,顺序可以不同
def aa(x,y):
print(x)
aa(y=2,x=5)
(4) 函数中可以定义默认值
def aa(x=30,y):
print(x)
aa(y=2,x=5)
(5) 不定长度参数
def aa(x,y,*args,**kwargs):
print(x)
print(args) # 元组
print(kwargs) # 字典
aa(1,2,3,4,5,6,7,a = 8,b=9)
(1) 单个返回值
def aa(x):
return x
a = aa(10)
(2) 多个返回值
def aa(x):
return x,10
a = aa(10) # a是一个元组
a,b = aa(10) # 多个参数接收
基本语法:
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内建作用域
L –> E –> G –>B(在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找)
x = int(2.9) # 内建作用域
g_count = 0 # 全局作用域
def outer():
o_count = 1 # 闭包函数外的函数中
def inner():
i_count = 2 # 局部作用域
o_count += 1
inner()
outer()
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。
total = 0 # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2 # total在这里是局部变量.
print("函数内是局部变量 : ", total)
return total
#调用sum函数
sum( 10, 20 )
print ("函数外是全局变量 : ", total)