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

 

posted @ 2021-07-19 14:29  老徐-lex  阅读(33)  评论(0编辑  收藏  举报