简明python教程三-----函数

函数通过def关键字定义。def关键字后跟一个函数的表标识符名称,然后跟一对圆括号。

圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

def sayHello():
    print 'Hello World!'

sayHello()

函数形参是在函数定义的圆括号对内指定,用逗号分隔。

def printMax(a,b):
    if a>b:
        print a,'is maximum'
    else:
        print b,'is maximum'

printMax(3,4)

x = 5
y = 7

printMax(x,y)

 

使用局部变量

def func(x):
    print 'x is',x
    x=2
    print 'Changed local x to',x

x=50
func(x)
print 'x is still',x

 

使用global语句

定义全局变量,使用global语句完成这一功能。

使用global语句可以清楚地表明变量是在外面的块定义的。

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

结果:

x is 50
Changed local x to 2
Value of x is 2

 

默认参数值

在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。

def say(message,times=1):
    print message*times

say('Hello')
say('World',5)

重要

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。(因为赋给形参的值时根据位置而赋值的)

例如,def func(a,b=5)是有效的,但是def func(a=5,b)是无效的

 

关键参数

函数有多个参数,而你只想指定其中的一部分,则可以通过命名来为这些参数赋值----关键参数

优势:1.不必担心参数的顺序,使用函数变得更加简单。

  2.假设其他参数都有默认值,可以只给我们想要的参数赋值。

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)

 

return

注意:没有返回值的return语句等价于return None。

None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值是None,可以表示它没有值。

除非提供自己的return语句,每个函数都在结尾暗含有return None语句。

 

DocStrings

文档字符串,它通常被简称为docstrings。

DocStrings是一个重要的工具,能帮助你的程序文档更加简单易懂,应尽量使用它,甚至可以在程序运行的时候,从函数恢复文档字符串。

#!/usr/bin/python
# Filename: func_doc.py

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__

注意:DocStrings也适用于模块类。

文档字符串的惯例是一个多行字符串,首行以大写字母开始,句号结束。第二行是空行,从第三行开始是详细的描述。

使用——doc——(注意是双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。

 

posted on 2017-02-07 21:20  白宫飘红旗  阅读(363)  评论(0编辑  收藏  举报