当前位置:网站首页 > Python编程 > 正文

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





函数的参数分为形参(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个职场道理!

点击“阅读原文”,立即报名社群运营实战技巧班课程
到此这篇python 函数的类型(python中的函数包括)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • python 函数的类型(python函数有哪几类)2025-01-09 10:54:06
  • python 字典 增加(python字典增加元素代码)2025-01-09 10:54:06
  • sigmoid函数输出范围(sigmoid函数python)2025-01-09 10:54:06
  • Python函数递归调用(python 递归调用)2025-01-09 10:54:06
  • python pivot函数(python pivot table aggfunc)2025-01-09 10:54:06
  • 在线编程网站(在线编程网站百度Python)2025-01-09 10:54:06
  • Python函数定义(Python函数定义的规则)2025-01-09 10:54:06
  • pivot函数的作用(pivot函数 python)2025-01-09 10:54:06
  • python中将list中的字符串转换成数字(python list字符串转list)2025-01-09 10:54:06
  • vs怎么用python(vs怎么用scanf输入)2025-01-09 10:54:06
  • 全屏图片