python的circle函数的参数_python学习第10节:函数参数的力量_百度文 ...

python的circle函数的参数_python学习第10节:函数参数的⼒
定义函数时括号⾥的变量,叫做形式参数(形参);
调⽤函数时括号⾥传⼊的值,叫做实际参数(实参);
形参只是形式中的⼀种参数,是定义函数时需要使⽤的变量;⽽实参是⼀个实实在在存在的参数,是我们赋予变量的值。
缺省参数
缺省(default)也就是默认的意思,我们可以在定义函数时就给形式参数赋予⼀些默认的实参值,这些被赋予了默认实参值的形参,就被称作缺省参数。
注意:缺省参数在定义时要在⼀般参数之后,如果不遵守,Python就会⽆情的抛出⼀个报错。# 定义函数时给形式参数 pi设置⼀个默认的实参
def circle(r, pi=3.14159):
area = pi * r ** 2
return area
# 调⽤函数时不给pi⼀个实际参数值,这时候pi是3.14159
my_area = circle(10)
print("半径为10的圆的⾯积是{}".format(my_area))
# 调⽤函数时修改缺省参数pi的值为3.14
my_area = circle(10,3.14)
print("半径为10的圆的⾯积是{}".format(my_area))
参数传递
在调⽤函数时,通过实参给形参赋值的过程,就是参数传递。常见的参数传递有四种:位置传参、序列传参、关键字传参和字典关键字传参。
位置传参
在使⽤位置传参的⽅法时,实参和形参位置⼀ ⼀对应。⼀旦你使⽤了错误的顺序,传参结果就会出现混乱。
def person(name, age=22, gender='男'):
print ("姓名:", name)
print ("年龄:", age)
print ("性别:", gender)
person ("杨紫", 27, "⼥")
序列传参
和位置传参相似,序列传参时,是将序列按照索引顺序进⾏拆解后,位置与形参⼀ ⼀对应。实际应⽤中,使⽤列表和元组传参都是⾮常⽅便的⽅式,但是我们很少会⽤字符串进⾏传参。
它的格式⽐较特殊,在调⽤函数传⼊实参时,⽤⼀个星号* 加上参数名,来看下⾯的例⼦。def person
(name, age=22, gender='男'):
print ("姓名:", name)
print ("年龄:", age)
print ("性别:", gender)
# 使⽤*加列表
person (*["杨紫", 27, "⼥"])
# 使⽤*加元组
print ("\n元组:")
person (*("杨紫", 27, "⼥"))
# 使⽤*加字符串
print ("\n字符串:")
person (*"123")
关键字传参
使⽤关键字传参的⽅法时,参数位置的对应将变得不再重要。因此关键字传参的⽅法尤其适⽤于参数很多,默认参数也多,你⽆法准确记住参数顺序的时候。def person(name, age=22, gender='男'):
print ("姓名:", name)
print ("年龄:", age)
print ("性别:", gender)
# 关键字传参
person (gender="⼥", name="杨紫", age=27)
字典关键字传参
字典关键字传参就是将字典作为实参,并⽤两个星号**拆解。字典的键名和形参名必须⼀致,也就是说字典的键名必须符合变量的命名规则,且必须存在于形参中。def person(name, age=22, gender='
男'):
print("姓名:", name)
print("年龄:", age)
print("性别:", gender)
# 字典关键字传参
person (**{'gender':"⼥", 'name':"杨紫", 'age':27})
传递练习def person(name, age, hight, weight, hair='⿊', eye='棕', gender='男'):
print("姓名:", name)
print("年龄:", age)
print("⾝⾼:", hight)
print("体重:", weight)
print('发⾊:', hair)
print('瞳⾊:', eye)
print("性别:", gender,'\n')
person('张三', 20, 170, 90)
person(*['张三', 20, 170, 90])
person(age=20,name="张三",hight=170,weight=90)
person(**{'name':'张三','age':20,'weight':90,'hight':170})
person (*["⼩猫", 3, '23cm'], '4kg', **{'gender':'⼥', 'eye':'蓝', 'hair':'⽩'})
定义形参
形参定义和参数传递是⼀ ⼀对应的,因此形参定义也有四种⽅式:位置形参、可变形参、关键字形参和字典关键字形参。
位置形参
def fruits(name, fruit1, fruit2, fruit3):
print (name,'喜欢的⽔果有:', fruit1, fruit2, fruit3)
fruits('⼩K', '苹果', '梨⼦', '桃⼦')
可变形参
它解决的是参数长度不固定的情况,作⽤是收集多余的位置传递过来的实参,可变形参的语法如下。爱美说
def fruits(name, *fruit):
print(name,'喜欢的⽔果有:', fruit)
print(type(fruit))
fruits('⼩K', '苹果', '梨⼦', '桃⼦', "葡萄")
fruits('⼩K', *['苹果', '梨⼦', '桃⼦', "葡萄"])
关键字形参
第⼀种语法中,关键字形参需要⼀个特殊分隔符*,在分隔符*后⾯的参数被视为关键字形参,调⽤时必须使⽤关键字传参的⽅法。def transcript(name, year, month, *, Physics, Chemistry, Biology):
print('{}同学{}年{}⽉理科成绩单:'.format(name, year, month))
print('物理:', Physics)
print('化学:', Chemistry)
print('⽣物:', Biology)
transcript("⼩明", 2019, 5, Physics=76, Chemistry=65, Biology=42)
第⼆种语法中,在⼀系列关键字形参之前添加了可变形参,调⽤时也必须使⽤关键字传参的⽅法。
def transcript(name, *date, Physics, Chemistry, Biology):
print('{}同学{}年{}⽉理科成绩单:'.format(name, date[0], date[1]))
print('物理:', Physics)
人才管理系统
print('化学:', Chemistry)
print('⽣物:', Biology)
transcript("⼩明", 2019, 5, Physics=75, Chemistry=65, Biology=42)
字典关键字形参
字典关键字形参的语法形式为**字典名,所以字典关键字形参也叫双星号字典形参。
def transcript(name, year, month, **grade):
print('{}同学{}年{}⽉成绩单:'.format(name, year, month))
for subject in grade:
print(subject, ':', grade[subject])
# 只传⼊位置参数
transcript("⼩明", 2019, 5)
# 关键字传参传⼊两个关键字参数
transcript("⼩明", 2019, 5, 数学=144, 语⽂=124)
秋天的图画教学设计
# 字典关键字传参传⼊三个关键字参数
transcript("⼩明", 2019, 5, **{'数学':144, '语⽂':124, '英语':115})脱氧剂
总结
形参:即形式参数,定义函数时( )⾥的象征意义的变量。
实参:即实际参数,给形参传⼊的有意义的值。
代码复⽤:使⽤函数式编程的⽅式,重复利⽤代码。
缺省参数:即默认参数,是指被赋予了默认实参值的形参。
参数传递:在调⽤函数的过程中通过实参给形参赋值的过程。
点餐练习
朋友开了⼀家茶馆,想要请你帮忙开发⼀个电⼦点单功能。要求是:客⼈点单后,程序可以把桌号和对应餐品⾃动打印在后厨的电⼦屏上。def order(number, *menu):
print('桌号:{},点餐:'.format(number))
for i in menu:
重合林
print(i,end="\t")
print('\n')
order('001',*['⽜⾁盖浇饭','1份'])
order('002',*['拉⾯','3份'])def order(number, **menu):
print('桌号:{},点餐:'.format(number))
for name in menu:
print(name,menu[name],end="\n")心有林希
print('\n')
order('001',**{'⽜⾁⾯':'1份','炸酱⾯':'2份'})
order('002',⽔果='1份',炸酱⾯='4份')

本文发布于:2024-09-20 19:41:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/685328.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:参数   实参   形参   字典   位置   字形
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议