失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python函数默认参数位置_二十二 Python函数参数类型(位置 关键字 默认 不定长参数)...

python函数默认参数位置_二十二 Python函数参数类型(位置 关键字 默认 不定长参数)...

时间:2021-01-03 19:56:39

相关推荐

python函数默认参数位置_二十二 Python函数参数类型(位置 关键字 默认 不定长参数)...

调用函数时可使用的参数类型

在调用Python函数时可使用的参数类型主要有以下几种:

必要参数(位置参数)

关键字参数

默认参数

不定长参数

必要参数(位置参数)

在Python中,

必要参数必须以正确的顺序传入函数。调用的时候必须和定义函数声明时的一样

def rectangle_area(width, height):

"""

计算长方形面积

"""

return width*height

# 调用

ra1 = rectangle_area(10,5)

print(f'长方形长为10,宽为5的面积是:{ra1}')

# 如果您只传入一个参数

# ra2 = rectangle_area(10) #报错:rectangle_area() missing 1 required positional argument: 'height'

关键字参数

在Python中,关键字参数和函数调用关系非常紧密,函数调用时使用关键字参数来确定传入的参数,因此,调用函数时使用关键字参数,参数的顺序与声明可以不一致,因为Python解释器可以根据关键字参数名匹配参数值。

def trapezoid_area(topline, baseline, height):

'''

计算梯形面积

'''

area = (topline+baseline)*height/2

return area

# 通过必要参数(位置参数时,形参与实参必须一一对应)

t1 = trapezoid_area(10,20,10)

print(f'上底为10,下底为20, 高为10的梯形面积为:{t1}')

# 通过关键字来调用

t2 = trapezoid_area(topline=10, baseline=20, height=10)

print(f'上底为10,下底为20, 高为10的梯形面积为:{t2}')

# 顺序可以不一致

t3 = trapezoid_area(height=10,topline=10, baseline=20)

print(f'上底为10,下底为20, 高为10的梯形面积为:{t3}')

关键字参数的顺序可以任意

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。

def produce_product(id, name, product_type='生活品', price=10, quantity=10):

'''

封装product成列表返回

'''

product = []

product.append(id)

product.append(name)

product.append(product_type)

product.append(price)

product.append(quantity)

return product

# 调用

p1 = produce_product(1, '洗衣粉', '数码', 2999, 5)

print(f'p1: {p1}')

# 默认参数是使用定义函数时的默认值

p2 = produce_product(2, '洗衣粉')

print(f'p2: {p2}')

默认参数在调用时可以不写

不定长参数

在特定情况下,可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数。和以上几种参数相比,不定长参数在声明时不会指定特定名称。比较常见的例子是,计算不确定数值的最大值,数据库连接时除了必要参数以外的可选参数等。

在Python中,处理不定长参数有两种:

加了*的参数会以元组的形式导入,存放所有未命名的变量参数

加了**的参数会以字典的形式导入

def print_star_info(name,gender='男', *args, **kwargs):

'''

打印明星信息

'''

print(name, gender, args, kwargs)

# 调用

print_star_info('陈老师','男','白芷','欣彤','阿叫',hobby='CB', skill='拍照')

print_star_info('杨过','男','郭襄','郭芙','李莫愁', weapon='玄铁重剑', car='雕哥',\

kongfu=['黯然销魂掌','九阴真经','玉女素心剑法','玄铁剑法','蛤蟆功','打狗棒法'])

可变参数

下节预告:变量的作用域

如果觉得《python函数默认参数位置_二十二 Python函数参数类型(位置 关键字 默认 不定长参数)...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。