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

未完待续。。。

相关推荐

  1. python函数参数

    2024-07-13 13:42:02       40 阅读
  2. Python函数参数

    2024-07-13 13:42:02       57 阅读
  3. 函数式编程参数

    2024-07-13 13:42:02       36 阅读
  4. python参数注解介绍

    2024-07-13 13:42:02       18 阅读
  5. 接收多个参数函数——python

    2024-07-13 13:42:02       50 阅读
  6. python函数-变量和参数-2.4

    2024-07-13 13:42:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 13:42:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 13:42:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 13:42:02       58 阅读
  4. Python语言-面向对象

    2024-07-13 13:42:02       69 阅读

热门阅读

  1. 【AI应用探讨】—迁移学习(TL)应用场景

    2024-07-13 13:42:02       29 阅读
  2. vue-侦听器

    2024-07-13 13:42:02       23 阅读
  3. Dubbo 核心概念介绍

    2024-07-13 13:42:02       21 阅读
  4. springboot的mybatis使用CONCAT模糊查询

    2024-07-13 13:42:02       20 阅读
  5. std::filesystem::current_path().generic_string()的bug

    2024-07-13 13:42:02       23 阅读
  6. 【Android】在渲染生效前提前测量View大小

    2024-07-13 13:42:02       22 阅读