一、查看内置函数
print("内置函数=", dir(__builtins__))
二、内置函数
2.1、type() 和 isinstance()
用途:查询变量所指的对象类型
举例:
a, b, c, d = 20, 5.5, True, 1 + 3j
# type()
print(type(a)) #
print(type(b)) #
print(type(c)) #
print(type(d)) #
# isinstance()
print(isinstance(a, int)) # True
print(isinstance(b, float)) # True
print(isinstance(c, bool)) # True
print(isinstance(d, complex)) # True
区别:
- type()不会认为子类是一种父类类型
- isinstance()会认为子类是一种父类类型
class A:
pass
class B(A):
pass
print(isinstance(A(), A)) # True
print(type(A()) == A) # True
print(isinstance(B(), A)) # True
print(type(B()) == A) # False
2.2、ord()
用途:将字符转换为相应的整数值
eg:
x = b"hello"
print(x[0]) # 104
print(ord("h")) # 104
if x[0] == ord("h"):
print("The first element is 'h'") # The first element is 'h'
三、python推导式
3.1、列表推导式
格式:表达式 for 变量 in 列表 或者 表达式 for 变量 in 列表 if 条件
eg:
# 过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
names = ['Bob', 'Tom', 'alice', 'Jerry', 'Wendy', 'Smith']
new_names = [name.upper() for name in names if len(name) > 3]
print(new_names)
输出:['ALICE', 'JERRY', 'WENDY', 'SMITH']
3.2、字典推导式
格式:
{ key_expr: value_expr for value in collection }
或
{ key_expr: value_expr for value in collection if condition }
eg:
# 将列表中各字符串值为键,各字符串的长度为值,组成键值对
listdemo = ['Google','Runoob', 'Taobao']
newdict = {key:len(key) for key in listdemo}
print(newdict)
输出:{'Google': 6, 'Runoob': 6, 'Taobao': 6}
3.3、集合推导式
格式:
{ expression for item in Sequence }
或
{ expression for item in Sequence if conditional }
eg:
# 判断不是 abc 的字母并输出
a = {x for x in 'abracadabra' if x not in 'abc'}
print(a, type(a))
输出:{'r', 'd'}
3.4、元组推导式
(expression for item in Sequence )
或
(expression for item in Sequence if conditional )
注意:元组推导式返回的结果是一个生成器对象
eg:
# 生成一个包含数字 1~9 的元组
a = (x for x in range(1, 10))
print(a) # at 0x0000020334874BC8> 返回的是一个生成器对象
print(tuple(a)) # (1, 2, 3, 4, 5, 6, 7, 8, 9)