- 行注释
- 块注释
-
除、整除(地板除)、幂
-
与、或、非
-
可以用连续比较运算符,如100 >= source >= 90
-
三元运算符:x if x < y else y
-
其他运算符:
操作符 名称 示例 in 存在 'A' in ['A', 'B', 'C'] not in 不存在 'h' not in ['A', 'B', 'C'] is 是 "hello" is "hello" is not 不是 "hello" is not "hello" 注意:
- is, is not 对比的是两个变量的内存地址
- ==, != 对比的是两个变量的值
- 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
- 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
- python里的数据类型都是对象?
- 使用dir()查看对象的属性和方法
- 使用type()查看变量的数据类型,isinstance()判断变量是不是某类型
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- python包是对象吗?
- decimal包与Decimal对象
- 使用Decimal构造函数构造固定精度的小数
- 使用decimal.getcontext()查看Decimal对象的信息,decimal.getcontext().prec存储了Decimal小数当前的精度
- 布尔型
- 除了直接给变量赋值 True 和 False,还可以用 bool(X) 来创建变量,其中 X 可以是
- 基本类型:整型、浮点型、布尔型
- 容器类型:字符串、元组、列表、字典和集合
- bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,其余就是 False;bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。
- 除了直接给变量赋值 True 和 False,还可以用 bool(X) 来创建变量,其中 X 可以是
- 类型转换
- 转换为整型 int(x, base=10)
- 转换为字符串 str(object='')
- 转换为浮点型 float(x)
print(*objects, sep=' ', end='n', file=sys.stdout, flush=False)
- 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
- 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
- 关键字参数end是输出结束时的字符,默认是换行符n;
- 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
- 关键字参数flush是立即把内容输出到流文件,不作缓存。
range([start,] stop[, step=1])
- 这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
- step=1 表示第三个参数的默认值是1。
- range 这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,该序列包含start的值但不包含stop的值。
enumerate(sequence, [start=0])
- sequence:一个序列、迭代器或其他支持迭代对象。
- start:下标起始位置。
- 返回 enumerate(枚举) 对象
- 用 enumerate(A) 不仅返回了 A 中的元素,还顺便给该元素一个索引值 (默认从 0 开始)。此外,用 enumerate(A, j) 还可以确定索引起始值为 j。
- 用>>快速除以2适用于负奇数吗?
- 如何用位运算^快速交换2个整数?
- 如何快速获取最后为1位置的整数?
- 如何利用位运算实现整数集合?
- 如何输出整数在计算机内的存储编码?比如如何输出-3的补码?
- assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
- while-else循环
- for循环与C++有何不同?
使用占位符
推导式 列表推导式 元组推导式 字典推导式 集合推导式 其他- next(iterator[, default]) Return the next item from the iterator. If default is given and the iterator is exhausted, it is returned instead of raising StopIteration.
- 如果异常不与任何except匹配,程序会如何处理?
- 如果异常与多个except匹配,程序会如何执行?
- 父类与子类异常谁应该先except?
- try - except - finally语句如果没有任何except能截获异常,finally语句会执行吗?
- try - except - else语句可不可以没有except?
- 为什么不建议except后不带具体的异常类型?
- raise语句



