python_函数
时间:2011-05-27 来源:邵国宝
1.定义函数
#!/usr/bin/python # Filename:function1.py def sayHello(): print 'Hello World!' #block belonging to the function sayHello() #call the function
都是差不多的东西
函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
2.函数形参
/usr/bin/python.py # Filename: func_param.py def printMax(a,b): if a <= b : print b, 'is maximum' else : print a, 'is maximum' printMax(3,4) #directly give literal values x = 8 y = 7 printMax(x,y) #give variables as arguments
差不多的东西
3.局部变量
3.1使用局部变量
/usr/bin/python.py # Filename: func_param.py def printMax(a,b): if a <= b : print b, 'is maximum' else : print a, 'is maximum' printMax(3,4) #directly give literal values x = 8 y = 7 printMax(x,y) #give variables as arguments
root@sgb-desktop:~/program# python func_local.py
x is 50
Changed local x to 2
after calling func(), x is still 50
这个不难理解
3.2使用global语句
#!/usr/bin/python # Filename: func_global.py 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
root@sgb-desktop:~/program# python func_glonal.py
x is 50
Changed local x to 2
Value of x is 2
root@sgb-desktop:~/program# vim func_glonal.py
这个似乎和c中的extern差不多,书上说不建议使用不是函数内定义的变量,这个可以理解。
4.默认参数
#!/usr/bin/python # Filename: func_default.py def say(message, times = 1): print message*times say('Hello') say('World',5)
c++中有这个东西
5.关键参数
1 #!/usr/bin/python
2 # Filename: func_key.py
3 def func(a, b = 5, c = 10):
4 print 'a is', a, 'and b is', b, 'and c is', c
5
6 func(3,7)
7 func(25, c=24)
8 func(c = 50, a = 100)
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
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。
这个好像在c++中没有
6.DocStrings
#!/usr/bin/python # Filename: func_doc.py def printMax(x,y): '''Prints the maxmum of two numbers. The two values must be integers.''' x = int(x) #convert to integers, if possible x = int(y) if x > y: print x, 'is maximum' else: print y, 'is maximum' printMax(3,5) print printMax.__doc__
root@sgb-desktop:~/program# python func_doc.py
5 is maximum
Prints the maxmum of two numbers.
The two values must be integers.
相关阅读 更多 +