关于python3.x:python的内置方法

8次阅读

共计 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)
正文完
 0