代码改变世界

[python]函数

2015-12-03 15:13  sophia194910  阅读(175)  评论(0编辑  收藏  举报

1. 简介

Python是通过引用调用的,因此函数内对参数的改变会影响到原始对象。

实际上,只有可变对象会受此影响;对不可变对象来说,不会被影响,类似于按值调用。

2. 语法格式

def function_name([arguments]):
    "optional documentation string"
    function_suite

函数语法包括:

  • def关键字
  • 函数名加上参数
  • 函数作用说明(可选)
  • 函数体

3. 示例

def addMe2Me(x):
    'apply + operation to argument'
    x = x + x
    return (x)
 
print addMe2Me(2)
print addMe2Me('Hello')

运行结果:

4
HelloHello

 

函数的参数也可以有默认值,在函数定义中,参数以赋值语句的形式提供。

  • 在函数调用时,如果没有提供参数的值,则使用默认值。
  • 在函数调用时,如果提供参数的值,则使用提供的值,而非默认值。

示例:

def foo(debug = True):
    'Determine if in debug mode, whether the default value is used'
    if debug:
        print 'Now in debug mode'
    print 'Done'
    
foo()

print 

foo(False)

运行结果:

Now in debug mode
Done

Done

 可以看到:

  • 第一个foo()函数,没有提供参数,因此使用默认值。
  • 第二个foo(False)函数,提供参数,因此使用提供的参数,而非默认值。