Python(九)函数

1.基本语法

def 函数名(参数列表):

    函数体

2.函数分类

2.1有参数

(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)

2.2 有返回值

(1)单个返回值

def aa(x):
    return x
a = aa(10)

(2)多个返回值

def aa(x):
    return x,10
a = aa(10) # a是一个元组
a,b = aa(10) # 多个参数接收

3.匿名函数

lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

 4.变量作用域

L (Local)

局部作用域

E (Enclosing)

闭包函数外的函数中

G (Global)

全局作用域

B (Built-in)

内建作用域

L -> E -> G ->B(在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找)

5.全局变量和局部变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

total = 0 # 这是一个全局变量

# 可写函数说明

def sum( arg1, arg2 ):
    #返回2个参数的和."
    total = arg1 + arg2 				# total在这里是局部变量.
    print("函数内是局部变量 : ", total)
        return total
#调用sum函数
sum( 10, 20 )
print ("函数外是全局变量 : ", total)

猜你喜欢

转载自blog.csdn.net/weixin_43233971/article/details/107947754