cszer

python学习笔记–函数

分类: python       评论: 4   阅读:1,337 views

函数:
function.py

1
2
3
4
#!/usr/bin/python
def sayhello():
    print "hello world"
sayhello()

函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体

func_param.py 函数形参

1
2
3
4
5
6
#!/usr/bin/python
def printMax(a,b):
    if a>b:
        print a,'is max'
    else:
        print b,'is max'
printMax(4,7)
x=5
y=8
printMax(x,y)

func_local.py 局部变量

1
2
3
4
5
6
7
8
9
#!/usr/bin/python
def func(x):
    print 'x is', x
    x = 2
    print 'Changed local x to', x
 
x = 50
func(x)
print 'x is still', x
$ python func_local.py
x is 50
Changed local x to 2
x is still 50

func_global.py 全局变量 使用global语句

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python
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
$ python func_global.py
x is 50
Changed global x to 2
Value of x is 2

func_default.py 默认参数

1
2
3
4
5
6
#!/usr/bin/python
def say(message, times = 1):
    print message * times
 
say('Hello')
say('World', 5)
$ python func_default.py
Hello
WorldWorldWorldWorldWorld

func_key.py 关键参数

1
2
3
4
5
6
7
#!/usr/bin/python
def func(a, b=5, c=10):
    print 'a is', a, 'and b is', b, 'and c is', c
 
func(3, 7)
func(25, c=24)
func(c=50, a=100)
$ python func_key.py
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50

如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。

func_return.py

1
2
3
4
5
6
#!/usr/bin/python
def maximum(x, y):
    if x > y:
        return x
    else:
        return y

print maximum(2, 3)
maximum函数返回参数中的最大值,在这里是提供给函数的数。它使用简单的if..else语句来找出较大的值,然后 返回 那个值。

注意,没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值为None,可以表示它没有值。

除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句。通过运行print someFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:

def someFunction():
pass

pass语句在Python中表示一个空的语句块。

func_doc.py

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python
def printMax(x, y):
    '''Prints the maximum of two numbers.
    The two values must be integers.'''
    x = int(x) # convert to integers, if possible
    y = int(y)
 
    if x > y:
        print x, 'is maximum'
    else:
        print y, 'is maximum'
printMax(3, 5)
print printMax.__doc__
$ python func_doc.py
5 is maximum
Prints the maximum of two numbers.
        The two values must be integers.

除非注明,文章皆由( csz )原创,转载请标明本文地址
本文地址: http://www.cszhi.com/20130305/python-study-function.html

03-05
2013

发表评论