写一个python函数参数较多的代码
时间: 2024-02-09 19:09:30 浏览: 93
深入讲解Python函数中参数的使用及默认参数的陷阱
好的,以下是一个使用了多个参数的 Python 函数示例:
```python
def calculate_salary(base_salary, experience, position, *bonuses, **deductions):
# 计算薪资
total_bonus = sum(bonuses)
total_deduction = sum(deductions.values())
salary = base_salary * (1 + experience * 0.1) + total_bonus - total_deduction
# 打印薪资明细
print(f"基本工资:{base_salary}元")
print(f"工龄补贴:{experience * 0.1 * base_salary}元")
print(f"职位津贴:{get_position_allowance(position)}元")
if bonuses:
print(f"其他奖金:{total_bonus}元")
if deductions:
print("扣款明细:")
for name, amount in deductions.items():
print(f"{name}:{amount}元")
print(f"实发工资:{salary}元")
def get_position_allowance(position):
# 根据职位返回津贴金额
if position == "经理":
return 5000
elif position == "主管":
return 3000
else:
return 0
```
这个函数用于计算员工的薪资,并打印出薪资明细。它接受的参数包括:基本工资、工龄、职位、其他奖金(可选)、扣款明细(可选)。
其中,`*bonuses`表示接受任意数量的其他奖金,它们将被打包成一个元组传递给函数;`**deductions`表示接受任意数量的扣款明细,它们将被打包成一个字典传递给函数。
这个函数还调用了`get_position_allowance`函数,根据职位返回津贴金额。最后,它将计算出的薪资信息打印出来。
你可以像下面这样调用这个函数:
```python
calculate_salary(10000, 5, "经理", 2000, 1000, 保险费=500, 公积金=1000)
```
这个例子中,员工的基本工资为 10000 元,工龄为 5 年,职位为经理,还有两个其他奖金:2000 元和 1000 元。此外,还有两项扣款明细:保险费为 500 元,公积金为 1000 元。函数会根据这些参数计算出员工的薪资,并打印出薪资明细。
阅读全文