快速学习-Python函数

15. 函数

15.1 基本语法

def 函数名(参数列表):
	函数体

15.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)
  1. 有返回值
(1) 单个返回值
		def aa(x):
			return x
		a = aa(10)
(2) 多个返回值
		def aa(x):
			return x,10
		a = aa(10)		# a是一个元组
		a,b = aa(10)	# 多个参数接收

15.3 匿名函数

基本语法:

lambda [arg1 [,arg2,.....argn]]:expression

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

15.4 变量作用域

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

15.5 全局变量和局部变量

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

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

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

你可能感兴趣的:(快速学习)