BOOL类型
if判断,会判断if后面的bool类型是True还是Flase。
- 数值类型除了0之外都是True。
- 字符串除了空字符串之外都是True。
- 对象除了空对象之外都是True
常见错误类型
- SyntaxError: unexpected EOF while parsing
语法错误,多了无法解析的符号,检查一下是否多了或者少了括号 - SyntaxError: invalid character in identifier
语法错误有无效标识符,检查一下中文符号 - IndexError: list index out of range
索引错误,超出索引范围,检查一下列表是否为空 - TypeError: must be str, not int
数据类型错误,该数据不是正确的数据类型,比如字符串和数字直接拼接,检查一下数据类型 - IndentationError: expected an indented block
缩进错误,检查一下代码的缩进是否正确 - KeyError: ‘fond’
键错误,字典中没有该的key对应的值,检查一下键名或者字典数据是否正确 - ValueError: substring not found
值错误,输入的数据类型跟要求的不符合 - NameError: name ‘a’ is not defined
未初始化对象,变量没有被定义 - AttributeError: ‘tuple’ object has no attribute ‘remove’
属性错误,该对象没有这个属性、方法,检查一下数据类型 - SystemExit
解释器请求退出,出现在exit()函数后 - IOError
输入/输出操作失败 - ImportError
导入模块/对象失败,检查一下模块是否能够正常使用 - UnicodeDecodeError/UnicodeEncodeError/UnicodeTranslateError
Unicode 解码/编码/转换/时的错误
字符串格式化
#对齐输出
#左对齐 utf-8 万国码
In [5]: '{a:<10}'.format(a=12.3,b=13.44)
Out[5]: '12.3 '
#数字补x (填充右边, 宽度为10)
In [6]: '{a:0<10}'.format(a=12.3,b=13.44)
Out[6]: '12.3000000'
#两边对齐...
In [7]: '{a:0^10}'.format(a=12.3,b=13.44)
Out[7]: '00012.3000'
#保留小数点后两位
In [1]: '{:.2f}'.format(12.333)
Out[1]: '12.33'
In [2]: '{a:.2f}'.format(a=12.333)
Out[2]: '12.33'
In [3]: '{a:6.2f}'.format(a=12.333)
Out[3]: ' 12.33'
*解包语法(列表、字符串、元组)
只要是序列都可以解包,解包出来的是元素,无类型,需要对其进行接收
%s进行元素嵌入
数据容器
- 字符串是一种不可变的有序的数据类型
- 列表是一种有序的、可变的、数据容器
- 列表中最好装同样格式的数据
- list关键字,可以用于强制转化其他序列为列表
- 列表切片,顾首不顾尾(只要是序列就可以切片)
- 元组的速度比列表更快,如果仅仅进行遍历,可以用元组
- 元组”写保护“更加安全
- 集合是可变的无序的不可重复的数据容器
- 序列解包"_"舍弃变量,一定要一一对应
列表推导式,列表里for
main
# __name__ 魔法变量,输出的时代码运行的文件
# __name__ 如果是从当前文件启动,输出的就是__main__
if __name__ == '__main__':
print(__name__)