2018/11/6(python)

函数

函数定义

def sum(x,y):
    "求和"               #注释
    z=x+y
    return z
a=sum(2,3)
print(a)

1.不写return,函数返回None

2.返回多个值时,返回一个元组

def x():
    return 1,2,3,"abc",[9,4]
v=x()
print(v)

3.位置参数与关键字调用              *位置参数必须在关键字左边

def p(x,y,z):
    print(x)
    print(y)
    print(z)
#位置参数(一一对应)
p(2,1,3)
#关键字调用(任意顺序)
p(y=1,z=2,x=3)

4.默认参数

def test(x,y="qaq"):
    print(x,y)
#不穿type
test(3)
#传type
test(2,y="qq")

5.参数组

#参数组:*字典,**列表
def t(x,*arg):
    print(x)
    print(arg)
#省略arg
t(3)
#7,8,9作为一个元素传给arg
t(2,7,8,9)
#[4,5,6]作为一个元素传给arg
t(3,[4,5,6])
#[4,5,6]元素依次赋值传给arg
t(3,*[4,5,6])

#字典形式
def T(x,**key):
    print(x)
    print(key)
#传值
T(3,y=3,z=5)

#同时传列表,字典
def t(x,*arg,**kwargs):         #顺序不能乱
    print(x)
    print(arg)
    print(kwargs)
#接受值可任意长
t(9,5,3,6,8,1,y="qop",z=3)

**********************************************************************************************************************************************************************************************************************全局变量==》顶头写,没有缩进

局部变量==》子程序里定义的

1.局部没有,调用全局

x=8
def T():
    print(x)
T()

2.局部有,调用局部

x=8
def T():
    x=6
    print(x)
T()

3.局部变量全局化,覆盖全局变量==》global

x=8
def T():
    global x
    x=6
    print(x)
T()
print(x)

4.函数嵌套局部变量覆盖上一层局部变量==》nonloca

x=3
def a():
    x=6
    def b():
        nonlocal x          #覆盖上一局局部变量
        x=8
    b()
    print(x)
a()
原文地址:https://www.cnblogs.com/2018-1025/p/9926026.html