函数的定义和声明
创建函数
def function_name(arguments):
“这里是函数的文档”
function_content
注意:python中函数的声明和定义是为一体的
def hello():#声明并定义了函数
print ("hello")
if __name__ == "__main__":
hello() #hello
查看函数文档
1.print function_name.__doc__
2.help(function_name)
函数参数
-
普通参数
#coding:utf-8 def func(a): print (a) if __name__ == "__main__": func(3) #3
-
关键字参数:在参数多的时候适合使用
#coding:utf-8 def func(a): print (a) if __name__ == "__main__": func(3) #3 func(a = 4) #4
-
默认参数:在函数创建时默认给参数一个值
#coding:utf-8 def func(a,b=2): print (a+b) if __name__ == "__main__": func(3) #5 func(3,4) #7
-
可变长参数:
关键字字典(**p)是最后一个参数并且非关键字元组(*p)先于它之前出现#coding:utf-8 def func(*p): for x in p: print (x,end=" ") print() def func2(**p): for key,value in p.items(): print ("key=%s,value=%s" % (key,value)) def func3(a,*p,**t): print (a) for x in p: print(x, end=" ") print() for key, value in t.items(): print("key=%s,value=%s" % (key, value)) if __name__ =="__main__": func() func(1,2,3,4,5) k = [1,2,3] func(*k) func2() func2(k = 2,t = 5) t = {"第一位:":"哈哈","黑色四叶草":"好看"} func2(**t) func3(4,3,5,龙珠="鸟山明",bili="dili")
结果:
5.函数(函数的内嵌函数)
#coding:utf-8
def func(add,a,b):
print (add(a,b))
def add(a,b):
return a+b
if __name__ =="__main__":
func(add,1,2) #3
函数返回值
python函数没有显示返回值或者返回None时,python会返回一个None
如果对象多于一个则以元组的形式返回
#coding:utf-8
def func():
"没有返回值"
print ("no return")
def func1():
"返回值为空"
return None
def func2():
"返回一个值"
x = 2
return x
def func3():
"返回多个值"
x = 3
y = 4
t = 5
return x,y,t
if __name__ == "__main__":
print (func()) #no return None
print (func1()) #None
print (func2()) #2
print (func3()) #(3,4,5)
注意:Python中没有重载函数