共计 1609 个字符,预计需要花费 5 分钟才能阅读完成。
一、查看内置函数
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)) # 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'} <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)
正文完