欢迎光临散文网 会员登陆 & 注册

effective python读书笔记——数量可变的参数

2021-12-02 08:29 作者:与时代脱轨的级数  | 我要投稿

def show(message,value):

    #value用于存放数值信息,若为空则区别对待

    if not value:

        print("empty")

    else:

        value_str=','.join(str(x) for x in value)

        #join函数:str.join(sequence),返回通过指定字符连接序列中元素后生成的新字符串

        #此处用逗号连接()中的每个元素

        print(f'{message} : {value_str}')


show('hello',[1,2,3])

show('hello',[])


#但这需要传递空列表,显得多余,而且有点乱

def show_1(message,*value):#带星号的参数可以接受任意数量的值

    if not value:

        print("empty")

    else:

        value_str=','.join(str(x) for x in value)

        print(f'{message} : {value_str}')

show_1('hi',1,2,3)

show_1('hi')


#如果想以列表的形式传入

a_list=[22,11,33]

show_1('wow',*a_list)

'''

注意:

1,使用此方法时,程序会把这些参数转化为一个元组,然后传给参数

程序必须把生成器中的值迭代完

如果参数过多可能导致耗费大量内存而崩溃

2,当要添加新变量而修改函数时,需要更新函数的操作,避免把需要给新变量的

参数传给了参数可变的*参数

'''

运行结果


effective python读书笔记——数量可变的参数的评论 (共 条)

分享到微博请遵守国家法律