鱼C论坛

 找回密码
 立即注册
查看: 2784|回复: 10

python 列表赋值疑问

[复制链接]
发表于 2016-8-30 23:09:14 | 显示全部楼层 |阅读模式
20鱼币
list1 = [3,9,4,5];
list2 = list1;
list1.sort();
print(list1); # 打印结果 [3,4,5,9]
print(list2); # 打印结果 [3,4,5,9]
打印list1 和 list2 结果是相同。但是为什么下面这种情况 结果又不相同呢?没理解

str1 = 'abc';
str2 = str1;
str1.upper();
print(str1); #打印结果 'ABC'
print(str2); #打印结果 'abc'

请问高手解答一下这是为什么吗?

python中的变量赋值一直都是引用赋值。没理解这个变量赋值

最佳答案

查看完整内容

Python对静态变量传递为赋值,对动态变量传递为引用。列表,字典为动态变量,整数,字符串为静态变量。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-30 23:09:15 | 显示全部楼层
Python对静态变量传递为赋值,对动态变量传递为引用。列表,字典为动态变量,整数,字符串为静态变量。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-30 23:11:43 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 08:31:21 | 显示全部楼层
LZ你确定么?建议你实际输入试试结果
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-8-31 09:11:35 | 显示全部楼层
776667 发表于 2016-8-31 08:31
LZ你确定么?建议你实际输入试试结果

aab1.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 09:29:12 | 显示全部楼层
不知道楼主学没学过关于列表的分片和拷贝~第二,'abc',他不是一个元组  在这里,感觉是把他当成了字符串~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-8-31 09:55:25 | 显示全部楼层
iszhuangsha 发表于 2016-8-31 09:42
Python对静态变量传递为赋值,对动态变量传递为引用。列表,字典为动态变量,整数,字符串为静态变量。

谢谢!!根据你提示,查阅相关资料。已经理解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 09:55:58 | 显示全部楼层
你再敲一个 print(str1)  会发现  起始str1也没变成大写,
我猜猜 str1.upper() 只是在缓存中显示出来了,实际上没有改变
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 09:30:16 | 显示全部楼层
本帖最后由 776667 于 2016-9-1 09:34 编辑


你输入str1.upper()返回'ABC',但是你再输入print(str1)打印出来的还是abc,所以你帖子写的‘’print(str1); #打印结果 'ABC'‘’是不成立的。
upper()会返回一个将全部字母变成大写后的字符串,但是并不会修改方法对象。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 20:49:51 | 显示全部楼层
静态与动态
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-6 17:32:08 | 显示全部楼层
iszhuangsha 发表于 2016-8-30 23:09
Python对静态变量传递为赋值,对动态变量传递为引用。列表,字典为动态变量,整数,字符串为静态变量。

这个回答看起来很专业!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-22 12:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表