关于Python变量和数据类型
最近在学习慕课网的python入门课程,下面是一些变量和数据类型的记录:
python能够直接处理我们常见的几种数据类型
整数,浮点数,空值,字符串,布尔型。
and和or运算的一条重要法则
短路计算
- 计算a and b时,如果a是真值,根据and运算法则,取决整个运算结果的是b的值,所以返回b;
- 如果a是假值,则运算结果一定是假的,所以直接返回a
- 计算a or b时,如果a是假值,根据or运算法则,取决整个运算结果的是b的值,所以返回b;
- 如果a是真值,则运算结果一定是真的,所以直接返回a
即解释器在做布尔运算时,提前能确定结果的,直接返回值,不再继续计算。
中文字符串的使用
如果中文字符串在Python环境下遇到 UnicodeDecodeError
这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码
然后用Notepad++,另存为一个文件,并选择UTF-8格式保存。
代码编辑第一行的注释表明以下Python代码使用utf-8编码
这样的话,输出语句不能再写成print u'''...''',如果这样写的话
就是又要让解释器使用Unicode编码输出,导致解码出错
我们应该记住以何种方式编码就应以何种方式解码,否则就很有可能出现编码错误
关于raw字符串
raw字符串是是' '内的字符进行自动转义,不用加
而我们新手或许会对u'''...'''和ur'''...'''之类的东西感觉疑惑
为什么要加r呢?有时候加和不加,感觉输出是一样的啊?
这个作用是将整个多行字符串也可以转成raw字符串,免去了转义的麻烦。而平常我们新手所见的只是纯文字,或者没有需要转义的字符,会感觉没用。
在我搜索raw字符串的时候,也发现有的资料写到他拥有抑制转义的作用
详见博客:http://blog.sina.com.cn/s/blog_6a6c136d0102wzrj.html