《Python 学习手册4th》 第十一章 赋值、表达式和打印

时间:2023-12-30 21:37:32
'''
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题、习题题目- 加粗,16px
'''

重点笔记

一.赋值语句

  通过赋值语句,吧对象赋给一个名词,特性如下:

  • 赋值语句建立对象引用值
  • 变量名在首次赋值时会被创建
  • 变量名在引用前必须先赋值
  • 执行隐式赋值的一些操作

二. Python3.0中的扩展序列解包

  在Python3.0中,我们可以在目标中使用带单个星号的名称来更通用的匹配。实例如下:

>>> list = [1,2,3,4]
>>> a,*b = list
>>> a
1
>>> b
[2, 3, 4]
>>> *a,b = list
>>> a
[1, 2, 3]
>>> b
4
>>> a = b = []
>>> b = [].append('a')
>>> a
[]
>>> id(a)
42958520
>>> id(b)
1898129408

三. 打印

>>> log = open('log.txt','a')
>>> x = 'x'
>>> y = 'y'
>>> z = 'z'
>>> print(x,y,z,file = log)
>>> log.close()
>>> print(open('log.txt').read())
x y z

本章习题:

1. 举出三种可以把三个变量赋值成相同值的方式。

答:a,b,c = 1,1,1

a=b=c=1

a = 1;b = 1; c = 1

2. 将三个变量赋值给可变对象时,你可能需要注意什么?

答: a=b=[]时,a= a.append(),a为none,b的值改变

3. L = L.sort()有什么错误?

答: 列表sort方法就像append方法,也是对主体列表进行原处的修改:返回none,而不是返回其修改的列表。赋值给L,会把L设为None,而不是排序后的列表。新的内建函数sorted会排序任何序列,并传回具有排序结果的新列表,因为这并不是在原处的修改。

>>> b = ['a','x','z']
>>> id(b)
43863176
>>> b = sorted(b)
>>> id(b)
43813024

4. 怎么使用print语句来向外部文件发送文本?

答:  print(x,y,file = f)