# 2.定义一个func(name,callback=None),效果如下。
# assert func("lilei") == "Lilei"# assert func("LILEI",callback=string.lower) == "lilei"
# assert func("lilei",callback=string.upper) == "LILEI"
def swastr(name, callback=None):
if callback == None:
return name.capitalize() #capitalize() 为内置函数所以必须写成 val.capitalize() 形式
else:
return callback(name)
print(swastr("lilei",callback=str.upper)) #而upper为str里的函数 不是内置函数 里面必须带有参数
print(swastr("LILEI",callback=str.lower) == "lilei")
比如上面个的一个小程序 func(name,callback=None) 参数callback若无特殊定义说明则认为是None 即没有表明的时候则没有作用
但是输出的时候 可以自己改callback的值 最后以输出时为准 这就是可选参数的作用。
另外 区分出name.capitalize()和str.upper(name)的区别
capitalize() 为内置函数所以必须写成 val.capitalize() 形式
upper为str里的函数 不是内置函数 里面必须带有参数