python 函数的类型(python中的函数包括)

python 函数的类型(python中的函数包括)函数的参数分为形参 parameter 和实参 argument 定义函数时用于指定函数可以接收的参数称为形参 调用函数时传递给函数的值称为实参 然而很多情况 对这两种参数的说法不做区分 例如 给 hello world 函数加上参数 使该函数可以打印给定次数的 Hello world gt gt gt def hello world n

大家好,我是讯享网,很高兴认识大家。




讯享网





函数的参数分为形参(parameter)和实参(argument)。
定义函数时用于指定函数可以接收的参数称为形参;
调用函数时传递给函数的值称为实参。

然而很多情况,对这两种参数的说法不做区分。
例如,给hello_world()函数加上参数,使该函数可以打印给定次数的“Hello,world!”:
>>> def hello_world(n): # n为形参
… for i in range(n):
… print(‘Hello, world!’)
>>> hello_world(2) # 直接使用字面量调用函数
Hello, world!
Hello, world!
>>> x = 3
>>> hello_world(x) # 传递变量作为实参
Hello, world!
Hello, world!
Hello, world!
>>> n = 1
>>> hello_world(n) # 实参和形参的名称(标识符)可以相同
Hello, world!

在上述函数中,使用n作为函数的形参,形参n的值为多少,函数就打印多少次“Hello,world!”。

第一次调用函数时,直接提供数字作为实参;
第二次调用函数时,以变量作为实参,将x的值传递给n;
第三次调用函数时,也是以变量作为实参,将实参n的值传递给形参n,实参和形参的名称(标识符)可以相同。

函数一经定义,就可以不限次数地使用它,每次传递的参数也可以不同。

在调用函数时,必须给每一个定义时的参数提供对应的值。
例如,在调用hello_world(n)时,参数n是必不可少的:
>>> def hello_world(n):
… for i in range(n):
… print(‘Hello, world!’)
>>> hello_world()
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: hello_world() missing 1 required positional argument: ‘n’
Python解释器提示出错了,在调用函数时缺少了一个参数n。

1.位置参数
内建函数的参数可以不止一个(如之前用过的print()函数),自定义函数的参数也可以不止一个。

当调用有多个参数的函数时,传递参数可以按照参数的位置顺序一个个地进行传递,这种方式称为位置参数。

假设要定义一个函数,该函数有三个参数,分别是学生的名字name、分数grade和是否有附加分has_bonus,其中附加分为10分,分数上限为100分:
>>> def student_grade(name, grade, has_bonus):
… if has_bonus:   # 当has_bonus值为True时,有附加分,否则没有附加分
… grade += 10
… if grade > 100:   # 当分数超过100时,分数变为100
… grade = 100
… print(‘{name}的成绩为{grade}’.format(name=name, grade=grade))
…  

调用这个函数的方式有两种,其中之一是使用位置参数:
>>> # 下面调用了三次该函数
>>> student_grade(‘Ming’, 80, True) # 按顺序依次传递三个函数
Ming的成绩为90
>>> student_grade(‘Zhang’, 79, False)
Zhang的成绩为79
>>> student_grade(‘Li’, 99, True)
Li的成绩为100

位置参数的关键是参数的顺序,如果传递参数时调换了顺序,那么函数的运行结果可能会与预期不同:
>>> student_grade(99, ‘Ming’, True) # 颠倒了名字和分数的顺序
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “<stdin>”, line 3, in student_grade
TypeError: can only concatenate str (not “int”) to str

Python解释器提示出错了,因为传给参数grade的是一个字符串,而字符串无法与整数相加。

调用函数时缺少参数也是不行的,即使所缺少的参数没有在函数体内使用到。在下面这个示例中pass语句就派上了用场:
>>> def f(a, b):
… pass
>>> f(10)
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: f() missing 1 required positional argument: ‘b’
Python解释器提示出错了,因为f()函数缺少了参数b。

以上就是今天的内容,希望对大家有所帮助。




想了解更多技能学习,可以扫描二维码,找优优了解!




社群运营实战技巧班
限时低价!扫码立即报名~


< 💊 >


其他小文(戳蓝字阅读):


热门推荐 |UI设计丨疫情影响之下,UI设计行业现在还好吗?


值得关注 |软件测试丨如何准备百万级测试数据



值得收藏 |新媒体标题怎么写?上千爆款标题背后的9个实用方法!


职场要看 |【职场】盘点《甄嬛传》暴露的4个职场道理!


 点击“阅读原文”,立即报名社群运营实战技巧班课程

小讯
上一篇 2025-06-09 14:38
下一篇 2025-04-17 11:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/151030.html