Python(五) Python 中的函数
2017-02-18 本文已影响34人
StarShift
Python 中的函数
Python中的函数和其他程序设计语言一样,函数的主要作用是代码重用,在逻辑上分割代码的大小。
定义函数
通过def 关键字定义。def关键字后面跟一个函数的标识名称,后面跟一对圆括号。圆括号中间是参数变量名,该行用冒号结尾。接下来是一块语句,他们是函数体。
函数定义的例子:
#!/usr/bin/env python
# *coding=utf-8
""" set encoding """
def sayhello():
"""example of python function"""
print "Hello"
sayhello()
函数形参
函数的形参具有局部性,在函数中使用参数应该注意这种局部性,并且加以区分,在这里我们可以看一个例子。
#!/usr/bin/env python
# *coding=utf-8
""" set encoding """
def func(x):
print "x is %d" %(x)
x = 2
print "change local x to %d" %(x)
x = 50
func(x)
print "x is still %d" %(x)
在函数中,我们第一次使用x 的值的时候,Python 使用函数声明的形参的值。
接下来,我们将2赋值给x。这个时候x是函数的局部变量,所以我们在函数内部改变x 的时候,在主块中的x不受影响。
Golbal 语句
如果需要为在函数外面定义的变量赋值,那么需要在函数内告诉python,这个变量不是局部的,是全局的。使用golbal语句,可以明确的让读者知道,这个变量是在函数外面定义的。
def func():
global x
print "x is", x
x = 2
print "changed local x to ", x
x = 50
func()
print "Value of x is", x
运行结果:
PS G:\2> & python g:/2/exp.py
x is 50
changed local x to 2
Value of x is 2
PS G:\2>
默认参数值
对于一些函数, 你希望它的一些参数是可选的,用户可以根据需要输入参数的值。如果用户不想要为这些参数提供数值的话,这些参数就可以使用默认值。可以在函数定义的形参名之后加上赋值运算符(=)和默认值,从而给参数指定默认参数值。
#!/usr/bin/env python
# *coding=utf-8
""" set encoding """
def sayhello(name, time = 5):
""" defaulf is 5"""
print name
print "hello"*time
sayhello("kk")
sayhello("kk",1)
PS G:\2> & python g:/2/exp.py
kk
hellohellohellohellohello
kk
hello
PS G:\2>