函数基础
函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。可以自己创建函数,这被叫做用户自定义函数。
定义函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None.
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
示例:
1 #!/usr/bin/env python 2 #coding:utf-8 3 4 def add_function(x,y): #定义函数 5 6 """ 7 This is a function that adds x and y. #函数文档 8 """ 9 10 result =x + y 11 12 return result # 返回值 13 14 if __name__ =="__main__": #__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。 15 16 a = 4 17 b = 9 18 c = add_function(a,b) #调用函数 或者 c =add_function(x=a,y=b) 19 20 print "a + b = {0} + {1} ={2}".format(a,b,c)
函数的命名方式:
用小写字母、下划线组成 两个单词之间用下划线连接 add_function
驼峰命名法 第一个单词首字母小写,之后的单词首字母大写
调用函数
降低编程的难度,将一个复杂的大问题分解成一系列更简单的小问题。
代码重用
示例:
1 #!/usr/bin/env python 2 #coding:utf-8 3 4 def fibs(n): 5 6 """ 7 This is the Fibonacci sequence. 8 """ 9 10 result =[0,1] 11 for i in range(n-2): 12 result.append(result[-2]+result[-1]) 13 14 return result 15 16 if __name__ =="__main__": 17 18 lst=fibs(10) 19 20 print lst
其他示例:
1 >>> def my_fun(): #定义一个函数 2 return 1,2,3 3 4 >>> a =my_fun() #返回一个元组 5 >>> a 6 (1, 2, 3) 7 >>> type(a) 8 <type 'tuple'> 9 >>> b,c,d =my_fun() #定义一个函数,返回多个值 10 >>> b 11 1 12 >>> c 13 2 14 >>> d 15 3 16 >>> x,y=1,2 17 >>> x 18 1 19 >>> y 20 2 21 >>> def my_fun(): #定义一个没有返回值的函数 22 print "this is my function" 23 24 25 >>> a =my_fun() 26 this is my function 27 >>> a 28 >>> print a 29 None 30 >>> my_fun 31 <function my_fun at 0x0000000003BCF518> 32 >>> my_fun() 33 this is my function 34 >>> def my_fun(): 35 print "before return" 36 return #遇到return,后面的操作不在执行 37 print "after return" 38 39 >>> my_fun() 40 before return 41 >>>
函数文档
function.__doc__ 查看文档
help(function) 查看文档