1、csdn的编辑器真霸气,逼格满满,要好好学一下;
2、python3中已经把”raw_input“ 和”input“统一了,学learnpythonthehardway的时候敲了那么多raw_input 啊;
3、print后面得加()
4、learnpythonthehardwa敲到43章实在没勇气接着敲,好多基础还得补充一下再接着往下敲吧,另外那文字破游戏实在烦恶,大段大段英文游戏内容,和编程又没关系,弄那么多英文字干嘛,作者怎么想的?
5、如何在python下输入运算表达式,'输出运算结果。不能用eval()函数
6、在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。这条很重要。
7、变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型
8、python两种除法:“/”结果是浮点数,整除后也是浮点数;“//”地板除,只取整数部分;“%”是取余数运算
9、对于单个字符,python用函数ord()来获取字符的整数表示,用chr()来把编码转为对应字符
10、Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87' >>> '中文'.encode('ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。在bytes中,无法显示为ASCII字符的字节,用\x##显示。反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
>>> b'ABC'.decode('ascii') 'ABC' >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') '中文'
11、要计算str中包含多少字符,可以用len()函数,
>>>len ('abc')
3
>>>len ('牛逼')
2
如果换作byte,则计算字节数
>>>len (b'abc')
3
>>>len (b'\xe4\xb8\xad\xe6\x96\x87')
6
>>>len ('牛逼'.encode('utf-8'))
6