defpass_parameter(inner_list=None): ifnot isinstance(inner_list, list): raise Exception('{} is not list.'.format(inner_list)) print('inner_list id is {}'.format(id(inner_list))) # (1)按照传可变对象传引用的说法,修改inner_list即等同修改outer_list inner_list.append(4) print('inner_list.append(4)后值为{}, id为{}'.format(inner_list, id(inner_list))) # (2)按照传可变对象传引用的说法,修改inner_list即等同修改outer_list inner_list = [5, 6, 7] print('inner_list = [5, 6, 7]后的id为{}'.format(id(inner_list)))
print('outer_list id is {}'.format(id(outer_list))) pass_parameter(inner_list=outer_list) print("修改后outer_list的值是{}, id是{}".format(outer_list, id(outer_list)))