Python基础查缺补漏
is和==的区别
is
用于检查两个对象是否指向内存中的相同地址,即它们是否是同一个对象。使用
==
运算符来比较两个对象的值是否相等
a = [1, 2, 3] |
注意:在 Python 中,整数和短字符串等不可变对象的内存地址会被缓存,所有值相同的不变量指向的内存地址相同。不变量包括: Number(数字)、String(字符串)、Tuple(元组)
。
tuple_1 = (1, 2, 3) |
type()和isinstance()的区别
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
class A: |
注意: Python3中, bool是int的子类。Python2中是没有布尔型的,0表示False,用1表示True。
print(issubclass(bool, int)) # True |
del
使用del
可以删除单个或者多个对象
del var |
复数
复数由实数部分和虚数部分构成,可以用 a + bj
,或者 complex(a,b)
表示, 复数的实部 a 和虚部 b 都是浮点型
。
+可以用来连接列表
list_1+list_2
等价于list_1.extend(list_2)
。
list_1 = [1, 2, 3] |
构建0个或1个元素的元组语法规则
tup1 = () # 空元组 |
集合的差集、并集和交集
a = {1, 2, 3} |
字典注意事项
键(key)必须使用不可变类型。
数据类型转换
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象。
frozenset(s) 转换为
不可变
集合,因为集合中的元素需要是不可变的,当需要元素为集合时,需要先把集合转换为不可变集合。chr(x) 将一个整数转换为一个字符,函数全称为character。
ord(x) 将一个字符转换为它的整数值,函数全称为ordinal sequence。
f-string
f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:
name = 'Tom' |
列表
删除列表元素
del list[下标]
list.remove(值)
列表脚本操作符
["Hi"]*4
等价于["Hi","Hi","Hi","Hi"]
while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
count = 0 |
输出 |
for…else
for…else 语句用于在循环结束后执行一段代码。
for x in range(6): |
输出 |