Python函数 之 参数

1.参数的简单介绍 

  • 参数
    • 形式参数(形参):在函数定义的时候,在括号中写⼊变量,这个变量就称为是函数的参数。
    • 实际参数(实参):在函数调⽤的时候,可以给定义时候的形参传递具体的数据值,供其使⽤。
    • 在函数调⽤的时候,会将函数的实参值传递给形参。
  • 好处: 可以让函数更加的通用,函数中的数据值不是固定的,是调用的时候,你传递的。
  • 使用场景: 判断 函数中 数据值是不是固定不变的, 如果是变化的,就可以使⽤参数传递
  • 注意点: ⽬前书写的函数, 如果存在形参,必须传递相同个数的实参

2.函数传参的方式

函数传参:是指如何将 实参的值传递给形参

(1)位置传参

在函数调用的时候按照 形参的顺序将实参的值传递给形参

(2)关键字传参

在函数调用的时候, 指定将实参传递给哪个形参

(3)混合使用

  1. 位置参数必须写在关键字参数的前边, 关键字参数必须放在位置参数的后边
  2.  同一个形参只能接收一个实参值(不能既使用位置传参和关键字传参给同一个形参传参)
def show_info(name, age):
    print(f"name:{name}, age: {age}")

# 位置传参
show_info('小明', 18)

# 关键字传参
show_info(age=18, name='张三')

# 混合使用
show_info('李四', age=17)
# show_info(name='赵六', 19) # 关键字参数必须放在位置参数的后边
# show_info('王五', name="李四") # 不能既使用位置传参和关键字传参给同一个形参传参

 


3.缺省参数(默认参数)

(1)定义

在函数定义的时候, 给形参一个默认的数据值,这个参数就是缺省参数(默认参数)

(2)特点

在函数调用的时候, 缺省参数可以不用传递实参值.
  1. 如果不传实参值, 使用的就是默认值
  2. 如果传递实参值, 使用的就是传递的实参值

(3)注意点

缺省参数必须写在 普通参数的后边

(4)代码

"""
定义 show_info 参数 姓名,年龄, 性别, 将年龄设置为默认参数 18, 性别设置为默认 保密
"""


def show_info(name, age=18, sex='保密'):
    print(name, age, sex)


# 调用
show_info('张三', 18, '男')  # 张三 18 男
# 李四
show_info('李四')  # 李四 18 保密
# 王五 19
show_info('王五', 19)  # 王五 19 保密
# 赵六 男
show_info('赵六', sex='男')  # 赵六 18 男
# show_info('赵六', '男')  # 赵六 男 保密

小tips:parameter(形参)   argument(实参)


4.多值参数(可变参数/不定长参数) 

  1. 在函数定义的时候,不确定在调用的时候实参有多少个,此时可以使用 多值参数
  2.  在普通的参数前边加上一个 *这个参数就变为 多值参数
  3. 这个参数可以接收任意多个位置传参的数据, 类型 元组
  4. 这个形参一般写作 args(arguments), 即 *args

参数顺序:# 普通, 缺省, 多值

def 函数名(普通, *args, 缺省):
        pass

def func(*args):
    print(args)


func()  # ()
func(1, 2, 3)  # (1, 2, 3)

练习1: 定义一个函数,my_sum,作用,可以对任意多个数字进行求和计算.

def my_sum(*args):  # args 是元组
    num = 0
    for i in args:
        num += i
    return num


print(my_sum())  #
print(my_sum(1))  # 1
print(my_sum(1, 2))  # 3
print(my_sum(1, 2, 3))  # 6

 

练习2:需求对 元组(my_tuple = (1, 2, 3, 4, 5) )中的所有数据使用 my_sum 进行求和
注意: 想要把 列表(元组) 中的数据作为位置参数 进行传递, 只需要在 列表(元组)前边加上一个 *  ,进行 拆包 即可
def my_sum(*args):  # args 是元组
    num = 0
    for i in args:
        num += i
    return num


my_tuple = (1, 2, 3, 4, 5)
# 需求对 元组中的所有数据使用 my_sum 进行求和
# 想要把列表(元组) 中的数据作为位置参数进行传递, 只需要在列表(元组)前边加上一个 * ,进行拆包即可
print(my_sum(*my_tuple))  # 15

未完待续。。。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python函数参数可以分为四种类型:位置参数、默认参数、可变参数和关键字参数。 1. 位置参数:位置参数是指在函数定义时按照顺序声明的参数,调用函数时需要按照相同的顺序传入对应的参数值。例如: ```python def add(x, y): return x + y result = add(3, 5) print(result) # 输出8 ``` 2. 默认参数:默认参数是在函数定义时给参数指定一个默认值,如果调用函数时没有传入对应的参数值,则使用默认值。默认参数可以提供函数的灵活性。例如: ```python def greet(name, message="Hello"): print(message, name) greet("Alice") # 输出Hello Alice greet("Bob", "Hi") # 输出Hi Bob ``` 3. 可变参数:可变参数允许函数接受任意数量的参数。在函数定义时,可以使用星号(*)来表示可变参数。可变参数会被封装成一个元组传递给函数。例如: ```python def multiply(*numbers): result = 1 for num in numbers: result *= num return result result = multiply(2, 3, 4) print(result) # 输出24 ``` 4. 关键字参数:关键字参数允许函数接受任意数量的关键字参数。在函数定义时,可以使用两个星号(**)来表示关键字参数。关键字参数会被封装成一个字典传递给函数。例如: ```python def person_info(**info): for key, value in info.items(): print(key, ":", value) person_info(name="Alice", age=25, city="New York") # 输出: # name : Alice # age : 25 # city : New York ``` 这些不同类型的参数可以组合使用,但是需要注意参数的顺序:位置参数、默认参数、可变参数和关键字参数的顺序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

埜玊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值