Python中如何实现函数的副本传参?
- 内容介绍
- 文章标签
- 相关推荐
本文共计276个文字,预计阅读时间需要2分钟。
pythonmessages=[1, 2, 3]copy_message=messages[:]send_message=[]
思考:为什么这样定义会报错:- `copy_message=messages[:]` 正确复制了列表 `messages`。- `send_message=[]` 正确初始化了一个空列表。
错误可能出现在后续的代码中,但没有提供完整的代码上下文,无法确定具体错误原因。
def send_message(message): pass
def update_messages(message): pass
messages = [1, 2, 3]copy_message = messages[:]
send_message = []
"""
思考:为什么这样定义会报错 :def send_message(message[:]):
"""
def update_messages(message): # 当列表为空了,在使用pop()会自动抛出异常,所以这种情况需要更改一下
message = message
send_messages = []
while message:
send_messages.append(message.pop()) # 因为函数pop()的特殊性,导致添加到send_messages的元素顺序是倒着的
send_messages.sort()
return send_messages
print('调用函数前,message:'+ str(messages))
print('调用函数前,send_message:'+ str(send_message))
print('调用函数前,copy_message:'+ str(copy_message))
send_message = update_messages(copy_message)
print('调用函数后,message:'+ str(messages))
print('调用函数后,send_message:'+ str(send_message))
print('调用函数后,copy_message:' + str(copy_message))
本文共计276个文字,预计阅读时间需要2分钟。
pythonmessages=[1, 2, 3]copy_message=messages[:]send_message=[]
思考:为什么这样定义会报错:- `copy_message=messages[:]` 正确复制了列表 `messages`。- `send_message=[]` 正确初始化了一个空列表。
错误可能出现在后续的代码中,但没有提供完整的代码上下文,无法确定具体错误原因。
def send_message(message): pass
def update_messages(message): pass
messages = [1, 2, 3]copy_message = messages[:]
send_message = []
"""
思考:为什么这样定义会报错 :def send_message(message[:]):
"""
def update_messages(message): # 当列表为空了,在使用pop()会自动抛出异常,所以这种情况需要更改一下
message = message
send_messages = []
while message:
send_messages.append(message.pop()) # 因为函数pop()的特殊性,导致添加到send_messages的元素顺序是倒着的
send_messages.sort()
return send_messages
print('调用函数前,message:'+ str(messages))
print('调用函数前,send_message:'+ str(send_message))
print('调用函数前,copy_message:'+ str(copy_message))
send_message = update_messages(copy_message)
print('调用函数后,message:'+ str(messages))
print('调用函数后,send_message:'+ str(send_message))
print('调用函数后,copy_message:' + str(copy_message))

