二 函数参数
2.1 必备参数(位置参数)
def func_1(id,passwd):print("id = ",id)print("passwd = ",passwd)
func_1(10086,123456)
2.2 默认参数
def func_2(id = 100001,passwd = '<PASSWORD>'):func_1(id,passwd)
func_2()
2.3 可变参数
def func_3(*args):print(args[0])
func_3('可变参数')
2.4 关键参数
def func_4(**kwargs):print(kwargs)
func_4(id= "10001", passwd= "123456")
2.5 函数嵌套
func_2()
2.6 嵌套定义
def out_func():print("调用外部函数")def in_func():print("调用内部函数")#in_func() # 如果这里不调用内部函数,外部调用out_func时,内部函数是不会被调用的
out_func()
三 作用域
3.1 全局变量
3.2 局部变量
num = 10
def func_1():num = {1,2,3}print(num)
func_1()
print(num)
3.3 global关键字
-
用法1 :在函数内部修改全局变量的值,可以使用global关键字否则在函数内部修改的全局变量不会生效
-
用法2: 在函数内部使用global声明全局变量,外部可以使用.
id = 10001
def func_2():global idid = 10003
func_2()
print(id)
3.4 nonloacl:关键字
a = 10
def out_func():a = 5def in_func():nonlocal aa = 20print("内函数的值a = %d"%a)in_func()print("外函数的值a = %d" % a)
out_func()
匿名函数:
格式: 函数名 = lambda 形参 : 返回值(表达式)
调用: 结果 = 函数名(实参)
"""
add = lambda a,b: a+b # a,b就是形参
print(add(2,5))"""
lambda:
无参数:
"""
noargs_func = lambda :"无参lambda"
#必备参数
must_func = lambda a,b:a+b
#默认参数
default_func = lambda id,passwd = "123456":(id,passwd)
print(default_func(5))# 关键子参数
kwargs_func = lambda **kwargs:kwargs
print(kwargs_func(id = 1,passwd = 123))