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>
上一篇下一篇

猜你喜欢

热点阅读