定义一个函数
加上一些算法,由自己定义的函数,以下是简单的规则:
- 函数代码块以 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