您的位置:首页 > 编程语言 > Python开发

《Python学习手册》学习笔记(11)之第11章赋值、表达式和打印(关键词:编程语言/Python/赋值/表达式/打印)

2017-10-06 23:36 323 查看

第11章 赋值、表达式和打印

写在开头的读者笔记

值得一读的小节

1.赋值语句

- 赋值语句建立对象引用值。Python**赋值语句会把对象引用值存储变量名或数据结构的元素内。赋值语句总是建立对象引用值,而不是复制对象**。

1.1.赋值语句 - 多目标赋值语句 - 多目标赋值以及共享引用

>>> a = b = []
>>> b = b + 1
>>> a, b
(0, 1)


修改b只会对b发生修改,因为数字不支持原处修改。只要赋值的对象不可变的,即使有一个以上变量名使用该对象无所谓

变量初始值设为空的可变对象时(诸如列表字典),就得小心一点:

>>> a = b = []
>>> b.append(42)
>>> a, b
([42], [42])


为了避免这个问题,要在单独的语句初始化可变对象,以便分别执行独立的常量表达式来创建独立的空对象

>>> a = []
>>> b = []
>>> b.append(42)
>>> a, b
([], [42])


2.表达式语句

2.1.表达式语句 - 表达式语句和在原处的修改

>>> L = L.append(4)
>>> print(L)
None


列表调用append、sort或reverse这类原处修改的运算,一定是对列表做原处的修改,但这些方法在列表修改后不会列表返回。事实上,它们返回的是None对象。

赋值语句

(读者:

- 赋值语句建立对象引用值。Python**赋值语句会把对象引用值存储变量名或数据结构的元素内。赋值语句总是建立对象引用值,而不是复制对象**。



赋值语句的形式

序列赋值

Python3.0中的扩展序列解包

多目标赋值语句

多目标赋值语句以及共享引用

(读者:

>>> a = b = []
>>> b = b + 1
>>> a, b
(0, 1)


修改b只会对b发生修改,因为数字不支持原处修改。只要赋值的对象不可变的,即使有一个以上变量名使用该对象无所谓

变量初始值设为空的可变对象时(诸如列表字典),就得小心一点:

>>> a = b = []
>>> b.append(42)
>>> a, b
([42], [42])


为了避免这个问题,要在单独的语句初始化可变对象,以便分别执行独立的常量表达式来创建独立的空对象

>>> a = []
>>> b = []
>>> b.append(42)
>>> a, b
([], [42])






增强赋值语句

变量命名规则

Python的废弃协议

表达式语句

表达式语句和在原处的修改

(读者:

>>> L = L.append(4)
>>> print(L)
None


列表调用append、sort或reverse这类原处修改的运算,一定是对列表做原处的修改,但这些方法在列表修改后不会列表返回。事实上,它们返回的是None对象。





打印操作

Python 3.0的print函数

Python 2.6 print语句

打印流重定向

版本独立的打印

为什么要注意print和stdout

参考文献:

1.《Python学习手册》。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐