今天学了2节课
一》第一节课:时区时间匹配
第一节课找不到书里对应的章节,请python大大再指明一下。大概知道是校准电脑时间和时区时间是否一致,一致则按照计划输出。
自己百度,解答了几个疑惑
(1)import是调用python的模块,但是发现每次调用sys的时候都要reload一下,reload是重新加载模块的意思,这是因为
“这里的import语句其实并不是sys的第一次导入语句,也就是说这里其实可能是第二、三次进行sys模块的import,这里只是一个对sys的引用,只能reload才能进行重新加载;那么为什么要重新加载,而直接引用过来则不能调用该函数呢?因为setdefaultencoding函数在被系统调用后被删除了,所以通过import引用进来时其实已经没有了,所以必须reload一次sys模块,这样setdefaultencoding才会为可用,才能在代码里修改解释器当前的字符编码。”
(摘自:http://blog.csdn.net/five3/article/details/7762870)
另外,import只可以调用模块,不能调用模块中的函数、变量
"例如:模块 A(A.py)中有个函数 getName,另一个模块不能通过 import A.getName 将 getName导入到本模块,只能用 from A import getName。"
(摘自:http://www.jb51.net/article/51815.htm)
(2)setdefaultencoding ('gbk'): 2,5-7行其实是编码器的转换,因为python大大原来的11行打印的是中文,所以需要在这里有个编码转换,不然的话,中文会按照utf-8解码,print会形成乱码(这里我不太确定,留个疑问)
(3)第8行的作用:指定tz 为pytz模块中的timezone函数调用的上海时区
(4)第9行的作用:用datetime函数得到tz指定时区对应的时间
(5)第10-11行的作用:时间匹配
二》字典 对应书中的第6章节。
python大大省略了初始状态下,dict的设置状态,而是假设dict为空。
第6-8行都是在字典已经存在的状况下添加一对“键:值”组合(例如,name是键,初学是值)。
第9-10行是一个简单的遍历for循环,需要注意的是(可以看我之后尝试的那个截图):如果print (dict), 打印的将是dict字典里所有的内容,包括键和值,例如本文中则会打印出{'name':'ana'};但如果print dict["name"],则只会打印出ana。关于后面的截图,再次验证了第一课的说法,我在没有打reload和setdefaultencoding命令时,系统无法识别,无法打印。不过我还是没能说透,希望大大解答。