定义一个函数
加上一些算法,由自己定义的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
##定义一个函数,两个人年龄的和 def fan_age(qiao,yan): #给自定义的函数设定参数 return(qiao+yan) #在函数体内赋予算法 def fan_name(name_1,name_2): return("hello:",name_2) # print("hello:",name_2) # 自定义函数不带return表达式,会在结果时返回一个None q=26 y=24 print(fan_name("","桥,燕"),"两人年龄相加为:",fan_age(q,y)) #利用自己所定义的函数实现功能吧!
def 函数名(参数列表):
##定义一个函数,两个人年龄的和 def fan_age(qiao,yan): #给自定义的函数设定参数 return(qiao+yan) #在函数体内赋予算法 def fan_name(name_1,name_2): return("hello:",name_2) #,在return返回时把结果传入一个参数1,参数2在你调用函数时传入 # print("hello:",name_2) # 自定义函数不带return表达式,会在结果时返回一个None q=26 y=24 print(fan_name("","桥,燕"),"两人年龄相加为:",fan_age(q,y)) #利用自己所定义的函数实现功能吧!
传可变对象实例
可变对象在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。例如:
def changeme(mylist): "修改传入的列表" mylist.append([1,2,3,4]); print ("函数内取值: ", mylist) return(mylist); mylist = [10,20,30] print("函数外%s "%"取值:",changeme(mylist),)
#参数组:*args(列表) **kwargs字典
def li(x,*args,**kwargs):#形参 print(x) print(args) print(kwargs) li(1,"q,w,e",y=2,z=3)#调用函数
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。以下实例中如果没有传入 age 参数,则使用默认值:
def info(name,age=25):#形参是没被定义,也不占内存的.age是实参,后面调用函数没有定义age,这里将使用默认的实参 print(name)#调用函数后, 将函数内取到实参所传递的值打印出来 print(age)#如果没有传递参数,则会使用默认参数 return;
info("qiao")#调用函数,实参没有被重新定义,将使用默认实参值 print("___________") info("qiao",age=26)#调用函数,参数将一一对应,第二位参数被重新定义
输出结果:
qiao
25
___________
qiao
26