(1)如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
(2)and 和 or 运算的一条重要法则:短路计算。Python 解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果
(3)因为()既可以表示 tuple,又可以作为括号表示运算时的优先级,结果 (1) 被 Python 解释器计算出结果 1,导致我们得到的不是 tuple,而是整数 1。
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>> t = (1,)
>>> print t
(1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。
(4)注意:Python 代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的 print )。如果 if 语句判断为 True,就会执行这个代码块。
缩进请严格按照 Python 的习惯写法:4个空格,不要使用 Tab,更不要混合 Tab 和空格,否则很容易造成因为缩进引起的语法错误。
注意: if 语句后接表达式,然后用:表示代码块开始。
如果你在 Python 交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车
(5)幂运算**
(6)set 持有一系列元素,这一点和 list 很像(set 和 list 存的都是元素),但是 set 的元素没有重复,而且是无序的,这点和 dict 的 key 很像(dict 的 key 也是无序且不可重复的)。
(7)set 的内部结构和 dict 很像,唯一区别是不存储 value,因此,判断一个元素是否在 set 中速度很快。
set 存储的元素和 dict 的 key 类似,必须是不变对象,因此,任何可变对象是不能放入 set 中的。
最后,set 存储的元素也是没有顺序的。