《Python 学习手册4th》 第十一章 赋值、表达式和打印
''' 时间: 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)