在Python中设置变量的默认值可以通过以下几种方式实现:
1. 使用条件运算符(三元运算符):
variable = value_if_true if condition else value_if_false
2. 使用`if-else`语句:
def get_formatted_name(first, last, middle=""):
full_name = first + " " + middle + " " + last
return full_name.title()
dh = "jj"
sh = "gg"
f = get_formatted_name(dh, sh, "")
print(f) 输出:Jj Gg
3. 在类的构造函数中设置默认值:
class Foo:
def __init__(self, num=None):
self.num = num if num is not None else 1
foo1 = Foo(4)
foo2 = Foo() 使用默认值
4. 使用固定长度参数设置默认值:
def fun1(a, b, c, d=1, e=2):
print(a, b, c, d, e)
fun1(1, 2, 3) 使用默认值
5. 使用`or`关键字设置默认值:
string = string or "defaultValue"
6. 定义带有默认值参数的函数:
def say_hi(name="孙悟空", message="欢迎来到python学习网"):
print(name, "您好", message)
say_hi() 使用默认值
say_hi("白骨精") 只有name参数使用默认值
say_hi("白骨精", "欢迎学习Python") 只有name参数使用默认值
say_hi(message="欢迎学习Python") 只有message参数使用默认值
最佳实践是使用`None`作为默认值并在函数体内初始化,以避免不同调用之间的值共享问题。例如:
def func(items=None):
if items is None:
items = []
print(items)
需要注意的是,在定义带有默认值的函数时,指定有默认值的形式参数必须在所有没有默认值参数的最后,否则会产生语法错误