函数传参(Python)

75 阅读1分钟
  1. 缺省参数
  2. 多值参数定义
  3. 多值参数求和
  • 缺省参数
    注意:
    应该使用最常见的参数作为默认值
    缺省参数应该放在参数得末尾
    在多个缺省参数传参的情况下,需要指定 parameter name(参数名)

number = [1, 9, 3]

number.sort()

print("打印升序: %s " % number)    # 打印升序: [1, 3, 9]

# reverse=True 是sort方法的缺省参数(默认参数)
number.sort(reverse=True)

print("打印倒叙: %s" % number)   # 打印倒序: [9, 3, 1]
# gender 是缺省参数

def print_info(name, gender=True):
    """

    :param name:  班上男生同学的姓名
    :param gender: True 男生  False 女生
    """
    gender_text = "男生"
    if not gender:
        gender_text = "女生"
    print(" %s 的性别是 %s" % (name, gender_text))     # 张三 的性别是 男生


print_info("张三", )
print_info("小美", False)


def print_info_statudents(name,title="", gender=True):   # [] 小美 的性别是 女生
    """

    :param name:  班上男生同学的姓名
    :param gender: True 男生  False 女生
    """
    gender_text = "男生"
    if not gender:
        gender_text = "女生"
    print(" [%s] %s 的性别是 %s" % (title, name, gender_text))


print_info_statudents("张三", )
print_info_statudents("小美", gender=False)   # 指定参数名称
  • 多值参数
    注意:
    参数名前增加一个 * 可以接收元组 tuple
    参数名前增加两个 ** 可以接收字典 dictionary
    一般在给多个参数命名时,习惯使用下面两个名字
    *args --存放 元组 参数,前面有一个 *
    **kwargs --存放 字典 参数,前面有两个 **
    kw 是 keyword 的简写 代表 字典键值对
def many_argument(number, *args, **kwargs):
    """

    :param number: 接收参数
    :param args:    接收 tuple 元组参数
    :param kwargs:  接收 dictionary 字典参数
    """
    print("多值操作~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    print(number)    # 1
    print(args)     # (2, 3, 4, 5)
    print(kwargs)    # {'name': '小明', 'age': '18'}


many_argument(1)
many_argument(1, 2, 3, 4, 5, name="小明", age="18",)
  • 多值参数求和
def sum_demo(*args):
    num = 0
    for n in args:
        num += n

    return num


str_num = sum_demo(1, 2, 3, 4, 5)
print("打印多值参数:", str_num)   # 打印多值参数: 15