【Python】-012-函数-基本语法

声明函数

def function(arguments):
    statments
    return x

x = function(para)

变量作用域

Python变量作用域的四种情况:

  • B:build-in 系统固定模块里面的变量,也叫系统变量,比如int

  • G:global 全局变量,也就是模块级别定义的变量

  • E:enclosing 嵌套的父级函数的局部作用域,就是包含此函数的上层函数的局部作用域

  • L:local 局部作用域,即为函数中定义的变量

  • 例子,考虑X的变化:
    X = 9
    def f1():
    #global X
    #print X
    X = 8
    def f2():
    #print 'In f2(), X is ', X
    #X = 7
    print 'In f2(), X is ',X
    f2()
    print 'In f1(), X is ', X

    f1()
    print 'out f1(), X is ', X
    

参数

def f1(a, b=2, c=3):
    print a,b,c
f1(1)  //1 2 3
f1(1,5)  //1 5 3
f1(1,3,5)  //1 3 5

def f2(s, *args):
    print s, args  //args 无命名元组,任意长度参数
f2('233')  //233 ()
f2('233', 0, 999, 'asd')  //233 (0, 999, 'asd')

def f3(s, *args, **kargs):
    print s, args, kargs  //kargs 字典,可带变量名
f3(1,2,3,4,5,a=1,b=4,c=9)  //1 (2, 3, 4, 5) {'a': 1, 'c': 9, 'b': 4}
f3(1,a=1,b=4,c=9)  //1 () {'a': 1, 'c': 9, 'b': 4}
f3(a=1,b=4,c=9)  //TypeError: f3() takes at least 1 argument (0 given)

你可能感兴趣的:(【Python】-012-函数-基本语法)