重读LPTHW-Lesson18-21 函数

1.def 定义函数,选取合适的函数名,原则是易于理解、阅读。函数名格式与变量命名格式相同,以字母开始,能够包含字母、数字、下划线。函数命名后,把参数放在()中,能够无参数。而后:结束函数命名,开始函数主体部分。主体部分开头缩进4个空格。函数

# -*- coding: utf-8 -*-
def print_input(user_input):
    user_input = raw_input("请输入需打印的内容".decode('utf-8').encode('gbk'))
    print user_input
        

2.能够在定义函数时指定某个/些参数的默认值:spa

def exponential(bottom,exponent = 2):
    value = bottom ** exponent
    print "%d ** %d = %d" % (bottom,exponent,value)
exponential(20)
exponential(20,3)

输出:3d

PS:只有在末尾的参数能够定义默认参数值。def func(a,b = 5)有效;而def func(a = 5,b)无效code

3.使用global 来声明全局变量。注意全局变量和局部变量的区别blog

(1)局部变量的例子:utf-8

def func(x):
    print "x is ",x
    x = 2
    print "Change local x to",x
x = 50
func(x) print "x is still",x

输出:input

(2)声明全局变量:class

def func():
    global x
    
    print "x is",x
    x = 2 
    print "Change local x to",x

x = 50
func()
print "Now value of x is",x

输出:变量

4.在调用函数而为参数赋值时,能够使用关键参数法。即调用的函数有多个参数,只想指定其中一部分则能够经过命名来为这些参数赋值,这样的优势有:①不用担忧参数赋值的顺序②假设其余参数有默认值的话,能够只给部分参数赋值。coding

eg:

def func(a,b = 5,c = 10):
    print "a is",a,"and b is",b,"and c is",c
func(23,c=34)        #23赋值给a,b用默认值,c赋值34
func(c=2,a = 1)      #c赋值2,a赋值1,b默认值5
func(12,23)          #a赋值12,b赋值23,c默认值10

输出: