免费建站网站自助建站的网站建站,网站常用字号,大连市招标网公示,嘉兴网站制作维护1.形式参数#xff08;Formal Parameters#xff09;和实际参数#xff08;Actual Parameters#xff09;是函数或方法定义和调用过程中的两个重要概念。举个例子#xff0c;在下面的greet函数中#xff0c;当我们调用greet(“李白”)时#xff0c;李白就是…1.形式参数Formal Parameters和实际参数Actual Parameters是函数或方法定义和调用过程中的两个重要概念。举个例子在下面的greet函数中当我们调用greet(“李白”)时李白就是实际参数name是一个形式参数。这个实际参数被用来替换函数定义中的形式参数以执行函数操作。
# Author : 小红牛
# 微信公众号WdPython简单来说形式参数是函数或方法定义的参数列表用于规定接收输入的方式实际参数是在调用函数或方法时传递的值用于执行函数或方法的操作。
def greet(name):print(f大家好我是{name}哥哥)# 调用函数
greet(李白) # 输出大家好我是李白哥哥2.位置参数Positional Arguments位置参数是按照函数定义时的顺序传递的参数。在调用函数时必须按照定义时的顺序传递参数。位置参数是函数的基础通常用于定义函数的主体逻辑。这里还说明参数的个数传参的时候要相同比如下面的greet函数有两个参数传参的时候也要传两个实参和形参数量保持一致且第一个参数是name第二个参数是age顺序不能错乱参数的类型也要一致不然解释器容易报错。
def greet(name, age):print(f大家好我是{name}哥哥今年{age}岁)# 调用函数时必须按照定义时的顺序传递参数
greet(李白, 18) # 输出大家好我是李白哥哥今年18岁# 传参顺序不一样的输出
greet(18, 李白) # 大家好我是18哥哥今年李白岁3.默认参数Default Arguments默认参数是在函数定义时为参数设置一个默认值。如果在调用函数时没有提供该参数的值那么将使用默认值。默认参数可以减少函数调用的复杂性同时提供一种灵活的方式来处理未提供的参数值。下面的name‘李白’, age18就是两个默认参数。
def greet(name李白, age18):print(f大家好我是{name}哥哥今年{age}岁)# 1.调用函数时不传递任何参数使用默认值
greet() # 输出大家好我是李白哥哥今年18岁# 2.调用函数时只传递一个参数其他参数使用默认值
greet(杜甫) # 输出大家好我是杜甫哥哥今年18岁
# 3.查询参数有默认值返回值是一个元组
print(greet.__defaults__) #输出 (李白, 18)混合参数的使用的小提醒 当定义一个有默认值参数的函数时有默认值的参数必须位于所有没有默认值参数的后面。如下ab参数放在默认参数name李白’的前面就不会报错反之放在后面就会有语法错误。
# 不会报错
def greet(a, b, name李白, age18):# 会报错
def greet(name李白, age18, a, b):4.关键字参数Keyword Arguments关键字参数是在调用函数时明确指定参数的名称和值。在函数定义中可以通过为参数设置默认值来确保它们有默认值但在调用函数时可以使用关键字参数来明确指定要使用的值。关键字参数提供了更大的灵活性允许在调用函数时传递特定的值而不是使用默认值。下面例子中func1函数有4个参数abcd在调用func1的时候指定了关键字参数d4指定的实参和形参写法上都要放在最后面除非你把所有的参数都传入的是关键字参数这样可以无序传参 。func2函数错误的原因是因为形参c如果是关键字参数的时候一定要放在参数的最后面位置不然报错。所以func3是对func2错误的改写。只需要把指定的关键字参数c放在最后面即可。即函数含有混合传参时关键字参数必须位于所有的位置参数之后。
print(1.正确的写法.center(30, -))
def func1(a, b, c, d):print(参数的值, a, b, c, d)func1(1, 2, 3, d4) # 参数的值1 2 3 4
func1(c30, a10, b20, d40) # 参数的值10 20 30 40print(2.错误的写法.center(30, -))
def func2(a, b, c, d):print(参数的值, a, b, c, d)
func2(1, 2, 4, c3)
# 输出 TypeError: func2() got multiple values for argument cprint(3.错误的改对的方法.center(30, -))
def func3(a, b, d, c):print(参数的值, a, b, c, d)
func3(1, 2, 4, c3) # 参数的值1 2 3 45.动态参数Variable-length Arguments动态参数允许函数接受可变数量的参数。在Python中有两种动态参数类型args和**kwargs。args用于接收任意数量的位置参数**kwargs用于接收任意数量的关键字参数。这些动态参数可以与其他普通参数一起传递给函数以实现更灵活的函数调用。
# 动态参数示例*args
def sum_numbers(*numbers):total 0for num in numbers:total numreturn total# 调用函数时传递任意数量的数字参数
result sum_numbers(1, 2, 3)
print(result) # 输出6
result2 sum_numbers(1, 2, 3, 4, 5)
print(result2) # 输出15**kwargs的示例用法
def print_info(**kwargs):print(kwargs.items())for key, value in kwargs.items():print(f{key}: {value})# 调用函数并传递参数
print_info(name李白, age18, city唐)输出内容
dict_items([(name, 李白), (age, 18), (city, 唐)])
name: 李白
age: 18
city: 唐完毕感谢您的收看
----------★★历史博文集合★★----------
我的零基础Python教程Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具