python函数的创建和函数参数
【1】#函数的作用:1.减少重复代码 2.方便修改,更容易扩展3.保持代码的一致性
【2】#函数简单的定义规则:
函数代码块以def关键词开头,后接函数标识符名称和圆括号(),任何传入参数和自变量必须放在圆括号中间
函数内容以冒号起始,并且缩进
若有返回值,Return[expression] 结束函数;不带return 表达式相当于返回None
函数通常使用三个单引号 '''...''' 来注释说明函数;函数体内容不可为空,可用 pass 来表示空语句;以下几个为简单的函数示例:
1 ''' some basic functions ''' 2 def func1(): # 函数无传入参数 3 print("func1") # 无return值 4 func1() # 函数调用 5 6 def func2(): 7 return("func2") # return 字符串 "func2" 8 print(func2()) 9 10 def func3(a,b): # 需传两个参数 11 print("a+b = %d" %(a+b)) # print表达式,无return 12 func3(3,4) 13 14 def func4(a,b): # 需传两个参数 15 return (a+b) # return a+b 的值 16 print(func4(4,3))
【3】函数的参数:
1.必备参数(必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样)
2.关键字参数(关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值)
#可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme( str = "My string");
3.默认参数(调用函数时,缺省参数的值如果没有传入,则被认为是默认值)
#可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" ); printinfo( name="miki" );
4.不定长参数(一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,列如:*arg,**kwarg)
def printinfo( arg1, *arg): "打印任何传入的参数" print "输出: " print arg1 for var in arg: print var return; # 调用printinfo 函数 printinfo( 10 ); printinfo( 70, 60, 50 ); 输出: 10 输出: 70 60 50
def fun3(**arg):#参数转让如同字典,也可以用遍历的方法打印出来
print ("arg type=" + str(type(arg)))
print ("arg=" + str(arg))
print ("age:" + str(arg['age']))
print ("name:" + str(arg['name']))
fun3(age=2,name=3)
fun3(name=2, age=3)
#输出结果
arg type=<class 'dict'>
arg={'name': 3, 'age': 2}
age:2
name:3
arg type=<class 'dict'>
arg={'name': 2, 'age': 3}
age:3
name:2
arg type=<class 'dict'>