默认值参数

  • 形参设定默认值 称为 默认参数。调用函数时,可以使用比定义时更少的参数。
  • 调用函数时,如果没有传入默认参数对应的实参,则实参使用默认值
  • 默认参数在调用的时候可以不传递,也可以传递 ```python def say_hello(name=’林青霞’):# 形参 “”” 给女神打招呼 :param name: :return: “”” print(‘hello ‘, name)

调用时不传递参数,使用默认值

say_hello()

调用时传递参数

say_hello(‘高圆圆’)

  1. 注意:
  2. :::warning
  3. 默认参数一定要在参数的最后
  4. :::
  5. ```python
  6. def say_hello(score, name='林青霞'):# 默认参数放在参数最后面
  7. """
  8. 给女神打招呼
  9. :param name:
  10. :return:
  11. """
  12. print('hello %s'%(name))
  13. say_hello(60, '高圆圆')

关键字参数

  • 调用函数时,实参可以指定对应的形参,称为 关键字参数 ```python def say_hello(name, age, score): print(‘姓名:%s,年纪:%d,分数:%f’%(name,age,score))

say_hello(name=’林青霞’,age=60,score=70.5)

  1. - 使用关键字参数调用可以**改变传递参数的顺序**
  2. ```python
  3. # 改变参数传递的顺序
  4. say_hello(score=70,age=30,name='高圆圆')

练习-根据需要创建用户

根据需要创建对象是很常见的需求,在一个函数中,我们可以保留一些默认配置,然后根据需要进行修改。
例如,我们有一个创建用户的函数create_user,参数如下

  • username (用户名)必填
  • password (密码) 必填
  • is_admin (是否是管理员)可选,默认为False
  • is_active (是否已激活)可选,默认为True
  • is_verified (是否已验证)可选,默认为False

    需求

    声明一个函数,实现根据需求create_user创建用户,打印用户的创建用户用到的参数。使其支持如下方式的代码调用:
    1. create_user("john", "password")
    2. create_user("jane", "password123", is_admin=True)
    3. create_user("alice", "pass123", is_active=False, is_verified=True)

    代码

    ```python def create_user(username, password, is_admin=False, is_active=True, is_verified=False):

    创建用户的逻辑

    print(“Creating user…”) print(“Username:”, username) print(“Password:”, password) print(“Is Admin:”, is_admin) print(“Is Active:”, is_active) print(“Is Verified:”, is_verified) print(“User created successfully.”)

示例用法

create_user(“john”, “password”) create_user(“jane”, “password123”, is_admin=True) create_user(“alice”, “pass123”, is_active=False, is_verified=True) ```