Python常见问题合集
面筋分类汇总-测开向
-
单引号、双引号、三引号的区别
- 单引号、双引号等效,引号中的内容不可以换行,需要用符号
\
。 - 三引号中的内容可以换行,并且可以包含注释。
- 单双引号的嵌套:
- 单引号中不能再嵌套单引号,但可以嵌套双引号;
- 双引号中不能再嵌套双引号,但可以嵌套单引号;
- 单双引号相互嵌套,可以不用转义而显示引号符号。
- 单引号、双引号等效,引号中的内容不可以换行,需要用符号
-
字典添加元素的方法:
dictname['key'] = 'value'
-
pass语句的作用
- 不执行的语句,一般作为占位符或者创建占位程序;
- 在负载语句中,如果一个地方需要暂时留白,可以先填充一个pass语句。
-
断言assert
- 异常处理中,raise和assert
- assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
- 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,
- 结构:
- 语法格式如下:
assert expression
, 等价于:if not expression: raise AssertionError
- assert 后面也可以紧跟参数:
assert expression [, arguments]
, 等价于:if not expression: raise AssertionError(arguments)
- 语法格式如下:
- assert可以设置第二个参数,用于作为触发异常后的提示语句,并显示在最后:
>>assert 1==2, '1 不等于 2' Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError: 1 不等于 2
-
- 直接赋值:其实就是对象的引用(别名)。
b = a
- 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
b = a.copy()
或者b = copy.copy(a)
- 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
- 需要
import copy
然后c = copy.deepcopy(a)
- 需要
- 直接赋值:其实就是对象的引用(别名)。
()代表tuple元祖数据类型,元祖是一种不可变序列。 []代表list列表数据类型,列表是一种可变序列。
匿名表达式lamda表达式:a = lambda x,y,z:(x+8)*y-z
闭包
自增自减