python学习笔记5-自定义函数

时间:2023-03-09 03:01:41
python学习笔记5-自定义函数

1 自定义函数
   (1)函数代码块以def关键字开头,然后函数标识符名称和圆括号
   (2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
   (3)函数的第一行语句可以选择性的使用文档字符串用于存放函数说明
   (4)函数内容以冒号开始 并且缩进
   (5)return[expression]结束函数 选择性的返回一个值给调用方 不带
   表达式的return相当于返回none

2 基本的定义和调用

 #自定义函数
'''
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
''' def printme( str ):
"打印传入的字符串到标准显示设备上"
print (str)
return #函数调用
printme("我要调用用户自定义函数!");
printme("再次调用同一函数"); # 可写函数说明
def changeme( mylist ):
"修改传入的列表"
mylist.append([1,2,3,4]);
print ("函数内取值: ", mylist)
return # 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print ("函数外取值: ", mylist) #参数 调用的时候没有传导致错误
def printme( str ):
"打印任何传入的字符串"
print (str);
return; #调用printme函数
printme();

2.1 参数可以不按照顺序传 但是要有命名

 #调用printme函数
printme( str = "My string"); #命名参数 即使顺序不一样 仍然可以自动匹配到
def printinfo( name, age ):
"打印任何传入的字符串"
print ("Name: ", name);
print ("Age ", age);
return; #调用printinfo函数
printinfo( age=50, name="miki" );
 #调用printinfo函数
printinfo( age=50, name="miki" ); def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print ("Name: ", name);
print ("Age ", age);
return; #调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );

2.2不定长参数

 #不定长参数
'''
def functionname([formal_args,] *var_args_tuple ):
"函数_文档字符串"
function_suite
return [expression]
'''
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print ("输出: ")
print (arg1)
for var in vartuple:
print (var)
return; # 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );

2.3匿名函数

 #匿名函数
'''
lambda [arg1 [,arg2,.....argn]]:expression
''' sum = lambda arg1, arg2: arg1 + arg2;
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))