Python之函数-缺省值

Python之函数-缺省值

形参缺省值

  • 缺省值也称为默认值,可以在函数定义时,为形参增加一个缺省值。其作用:
    • 参数的默认值可以在未传入足够的实参的时,对没有给定的参数赋值为默认值
    • 参数非常多的时候,并不需要用户每次都输入所有的参数,简化函数调用

示例

def add(x=4, y=5): # 形参也是标识符,也是变量
    print(x, y)
    return x + y

# 定义一个add函数,形参是x和y,x的默认值是4,y的默认值是5
add(), add(10), add(7), add(y=8), add(4, 9), add(x=10), add(11, y=12), add(x=7, y=20), add(y=20, x=7)

# 返回结果:(9, 15, 12, 12, 13, 15, 23, 27, 27)
add(y=20, 8)

# 按位置传参时,复杂的放后面,简单的放前面
# 报错内容:SyntaxError: positional argument follows keyword argument
def login(host='local', port=3306, username='root', password='root'):
    conn_str = "mysql://{2}:{3}@{0}:{1}/".format(host, port, username,password)
    print(conn_str)
    
# 上面代码定义了一个数据库连接的函数,用于获取数据库ip、端口、用户名、密码,都有缺省值,但是一般都需要更换
login()

# 这个函数调用返回的结果,都是默认值
# 返回结果:mysql://root:root@local:3306/
login('192.168.1.1')

# 这个函数调用返回的结果,输入了一个IP地址,一般数据库的IP会分项目环境业务进去区分
# 返回结果:mysql://root:[email protected]:3306/
login('192.168.1.1', username='Runaway')

# 这个函数调用返回的结果,输入了一个IP地址是位置传参,Runaway是关键字传参,指定了username='Runaway'
# 返回结果:mysql://Runaway:[email protected]:3306/
login(username='Runaway', password='1234', host='192.168.1.11', port='3307')

# 这个函数调用4个形参都使用了关键字参数,没有使用默认的缺省值
# 返回结果:mysql://Runaway:[email protected]:3307/

你可能感兴趣的:(Python,python,开发语言)