python学习笔记-函数

函数:传递列表

传递函数

def show_magicians(magician_names):
    for magician_name in magician_names:
        print(magician_name.title())
        
magician_names = ['tom','hanan','jay']
show_magicians(magician_names)

在函数中修改列表

将列表传递给函数后,函数就可对其进行修改。在函数中对列表的修改都是永久性的。

def show_magicians(magician_names):
    for magician_name in magician_names:
        print(magician_name.title())

def make_great(magician_names, new_magician_names):
    while magician_names:
        current_name = 'the Great ' + magician_names.pop()
        new_magician_names.append(current_name)
    
magician_names = ['tom','hanan','jay']
new_magician_names = []
make_great(magician_names, new_magician_names)
show_magicians(new_magician_names)

禁止函数修改列表

由于在函数中修改列表是永久性的,因此需要使用切片表示法创建列表的副本,对其副本进行修改,从而保留原始列表

'''定义一个函数,打印列表中所有的元素'''
def show_magicians(magician_names):
    for magician_name in magician_names:
        print(magician_name.title())

'''修改列表中的元素'''
def make_great(magician_names, new_magician_names):
    while magician_names:
        current_name = 'the Great ' + magician_names.pop()
        new_magician_names.append(current_name)
    

magician_names = ['tom','hanan','jay']
new_magician_names = []
make_great(magician_names[:], new_magician_names)
show_magicians(magician_names)
show_magicians(new_magician_names)

调用函数时,对需要保留的原始列表做相应的处理。

上一篇:2-10断言


下一篇:Flutter 三种方式实现页面切换后保持原页面状态