python函数参数没有定义、默认的返回值是_Python学习注释7(函数:自定义函数、参数默认值、不定参数函数),PYTHON,笔记,七,函数参数,缺省值...

PYTHON学习笔记七

函数

定义

把具有特定功能或经常重复使用的代码编写进独立的小单元并赋予函数一个名称,当程序需要时可以调用该函数并执行

优点

可将打程序分隔后由多人开发,这将有利于团队分工,缩短开发周期

可缩短代码长度,代码可重复使用

程序可读性高,易于排错和维护

自定义函数

创建自定义函数的语法为:

def 函数名称([参数1,参数2,…]):

程序块

[return.返回值1,返回值2…]

参数列表(参数1,参数2…)可有可无,是用来接收函数调用时传递进来的数据,如有多个参数,则函数间必须使用逗号分开,主程序中需要有多个变量来接收返回值

例如:创建名为sayhello()的函数,用来显示”欢迎光临”(无返回值)

def sayhello():

print ("欢迎光临")

再如,创建名为GetArea()的函数,用来参数传递矩形的宽和高,计算矩形面积后返回面积值

def GetArea(width,height):

area=width*height

return area

函数创建后并不会执行,必须在主程序中调用该函数才会执行

[变量=]函数名称([参数表])

如果函数有返回值,可以使用变量来存储返回值

例如:

def GetArea(width,height):

area=width*height

return area

ret1=GetArea(6,9)#ret1=54

案例:摄氏度转华氏度

输入一个摄氏度值,求对应的华氏度(华氏温度=摄氏温度*1.8+32)

程序代码:

def ctof(c):#定义函数ctof

f=c*1.8+32#将摄氏温度转换为华氏温度

return f#返回结果

inputc=float(input("请输入摄氏温度:"))

print (华氏温度为:%5.1f度"%ctof(inputc))#将数值带入函数中,计算结果

如果参数的数量较多,常会弄错参数顺序从而导致错误结果,调用函数时可以输入参数名字

例如:

def GetArea(width,height):

return width*height

ret1=GetArea(6,9)#ret1=54

ret2=GetArea(width=6,height=9)#ret2=54

ret3=GetArea(height=4,width=6)#ret3=54

参数缺省值

创建函数时可以为参数设定缺省值,那么在调用函数时,如果没有传入该参数,就会使用该缺省值

例如:

def GetArea(width,height=12):

return widh*height

ret1=GetArea(6) #ret1=72(6*12)

ret1=GetArea(6,9)#ret1=54(6*9)

设定缺省值的参数必须位于参数表的最后,否则在执行时会产生错误

例如:

def GetArea(width,height=12):#正确

def GetArea*widht=12,height):#错误

不定参函数

参数的个数如果固定,有时会遇到一些麻烦,如在加法函数中,一般是2个数值相加:

def add(n1,n2):

return n1+n2

但此函数无法用于3个数值相加,当然,我们可以再创建一个传入3个参数的函数,那么4个,5个数值相加呢?PYTHON创建函数时可以让函数不预先设定参数个数,方法是在参数名称前加星号,语法为:

def 函数名称(*参数):

....

例如创建不定参函数funcl:

def funcl(*args):

....

python通过元祖的方法把所有参数存与args元祖中,开发者通过操作元祖即可返回所有参数

案例:多数值加法器

创建不定参函数,此函数可以计算2个,3个,4个,.,…数值的合

def calsum(*params):

total=0

for param in params:

total+=param

return total

print ("不定参函数示例:")

print ("2个参数:4+5=%d"%calsum(4,5))#9

print ("3个参数:4+5+12=%d"%calsumn(4,5,12))#21

print ("4个参数:4+5+12+8=%d"%calsumn(4,5,12,8))#29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值