Python3 内置函数(三)
前言
内置函数是我们经常使用的函数,详细解析记录可有助于学习。
help()
函数用于查看函数或模块用途的详细说明。
>>> help(list) Help on class list in module builtins: class list(object) | list(iterable=(), /) | | Built-in mutable sequence. | | If no argument is given, the constructor creates a new empty list. | The argument must be an iterable if specified. | | Methods defined here: | | __add__(self, value, /) | Return self+value. ...........................
hex()
将整数转换为以“0x”为前缀的小写十六进制字符串。如果 x 不是 Python int 对象,则必须定义返回整数的__index__()方法。
>>> hex(12) '0xc' >>> hex(255) '0xff'
id(object)
返回对象的“标识值”。该值是一个整数,在此对象的生命周期中保证是唯一且恒定的。两个生命期不重叠的对象可能具有相同的id值。
>>> a = [1,2,3] >>> id(a) 41433280
input([prompt])
接受一个标准输入数据,返回为 string 类型。如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。prompt:提示符。
>>> input('-->') -->EOF 'EOF'
int()
int(x, base=10)
- x -- 字符串或数字。
- base -- 进制数,默认十进制。
用于将一个字符串或数字转换为整型。或者在未给出参数时返回 0
。
>>>int() # 不传入参数时,得到结果0 0 >>> int(3) 3 >>> int(3.6) 3 >>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制 18 >>> int('0xa',16) 10 >>> int('10',8) 8
isinstance(object,classinfo)
如果参数 object 是参数 classinfo 的实例或者是其 (直接、间接) 子类则返回 True
。 如果 object 不是给定类型的对象,函数将总是返回 False
。 如果 classinfo 是类型对象元组(或由其他此类元组递归组成的元组),那么如果 object 是其中任何一个类型的实例就返回 True
。 如果 classinfo 既不是类型,也不是类型元组或类型元组的元组,则将引发TypeError异常。
>>> isinstance(2,int) True >>> isinstance('3',int) False >>> isinstance('3',(int,str,list)) True
isinstance() 与 type() 区别:
-
type() 不会认为子类是一种父类类型,不考虑继承关系。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。
issbuclass(class,classinfo)
用于判断参数 class 是否是类型参数 classinfo 的子类。
class A: pass class B(A): pass print(issubclass(B,A)) # 返回 True
iter(object[, sentinel])
用来生成迭代器。
- object -- 支持迭代的集合对象。
- sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。
>>> list_1 = [1,2,3,4,5] >>> for i in iter(list_1): ... print(i) ... 1 2 3 4 5
len(s)
返回对象的长度(元素个数)。实参可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。
list([iterable])
用于将元组或字符串转换为列表。
>>> str_1 = 'abcdefg' >>> list_1 = list(str_1) >>> list_1 ['a', 'b', 'c', 'd', 'e', 'f', 'g']
locals()
字典类型返回当前位置的全部局部变量。
map(function,iterable,...)
返回可迭代对象中最大的元素,或者返回两个及以上实参中最大的。
def func(x): return x * x print(list(map(func,[1,2,3,4,5])))
结果:
[1, 4, 9, 16, 25]
max()
返回给定参数的最大值,参数可以为序列。
a = [1,99,2,3,4,5,66,] print(max(a)) 结果: 99
memoryview()
返回给定参数的内存查看对象(memory view)。
所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。
b=memoryview(bytearray("abcefg", 'utf-8'))
print(b[2])
结果:
99