python之函数(三)
1.函数的作用
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
#coding=utf-8 #函数的意思:可重复使用,功能模块化 #函数的定义 def function_name(): print("I am a function") return def function_taozi(): print("I an taozi") #return表示退出函数,并在调用时返回一个值,retun没有指定值或没有return时,默认返回none return 0; print("retuen已结束退出函数,不会执行后面的语句") # 函数只有调用才会执行 function_name() print(function_taozi(),function_name())
运行结果:
I am a function
I an taozi
I am a function
0 None
2.函数的定义
def 函数名(参数列表): 函数体 -------------------------------------------- def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3. 函数定义示例
def hello_word(): pass def print_diamond(count): pass def get_max(a, b, c): pass
3.1.函数可以有0个,1个或多个参数
3.2.pass相当于占位符,没有实际作用
4.函数调用示例
#coding=utf-8; #无参数函数diaoyong def helloname(): print "无参数调用"; return ; helloname(); #一个参数调用 def duiying(args): if args <= 18: print "此人是青年"; elif args>18 and args<=45: print "此人是中年"; else: print "此人是老年"; #return; duiying(55); #多个参数调用 def sum(a,b,c): s =a+b+c; return s; print sum(22,44,22);
执行结果:
无参数调用
此人是老年
88
当你使用def 定义了一个函数后,只有调用这个函数才能让这个函数运行。
return的作用是退出函数并返回函数的返回值,任何时候,只要执行了return语句就一定会退出函数。函数2 retun已被注释掉,是否有返回值。
函数2没有使用return语句,但仍然会有返回值,这种情况下,函数默认返回None.
4.1 函数有多个返回值
#函数有多个返回值 def muchvalue(): return 1,2,3,4,5,6; print muchvalue(),type(muchvalue());
返回结果:
(1, 2, 3, 4, 5, 6) <type 'tuple'>
函数一次返回多个结果时,是以元组的形式返回的。如果函数里没有任何数据需要返回,但需要提前结束,也可以使用return。
5.None类型
#None类型 a = None; b = None; print a==b,id(a),id(b),a is None,b is None ,"a的类型:",type(a),not a;
运行结果:
True 1510931096 1510931096 True True a的类型: <type 'NoneType'> True
None在python中是一个特殊的对象,它表示空值,其类型为NoneType。
None只存在一个,python解释器启动时创建,解释器退出时销毁
由于内存None只有一个,所以a is b的结果为True。
None不支持任何运算,也没有内建方法,除了表示空以外,什么都做不了。
如果要判断一个对象是否为None,使用is身份运算符。
如果一个函数,没有显式return任何数据,则默认返回None。
在判断语句中,None等价于False。