一、查看内置函数
print("内置函数=", dir(__builtins__))
二、内置函数
2.1、type() 和 isinstance()
用处:查问变量所指的对象类型
举例:
a, b, c, d = 20, 5.5, True, 1 + 3j# type()print(type(a)) # <class 'int'>print(type(b)) # <class 'float'>print(type(c)) # <class 'bool'>print(type(d)) # <class 'complex'># isinstance()print(isinstance(a, int)) # Trueprint(isinstance(b, float)) # Trueprint(isinstance(c, bool)) # Trueprint(isinstance(d, complex)) # True
区别:
- type()不会认为子类是一种父类类型
- isinstance()会认为子类是一种父类类型
class A: passclass B(A): passprint(isinstance(A(), A)) # Trueprint(type(A()) == A) # Trueprint(isinstance(B(), A)) # Trueprint(type(B()) == A) # False
2.2、ord()
用处:将字符转换为相应的整数值
eg:
x = b"hello"print(x[0]) # 104print(ord("h")) # 104if 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'} <class 'set'>
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) # <generator object <genexpr> at 0x0000020334874BC8> 返回的是一个生成器对象print(tuple(a)) # (1, 2, 3, 4, 5, 6, 7, 8, 9)