python3中可选参数的灵活运用/内置函数与函数的区别

来源:互联网 发布:联通3g网络速度 编辑:程序博客网 时间:2024/06/05 18:30



# 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里的函数 不是内置函数 里面必须带有参数