当前位置:   article > 正文

python内置函数功能汇总_type(x)作用

type(x)作用

这篇博客是学习python内置函数(built in function BIF)的汇总,老规矩,上官网python3内置函数官网
不需要额外导入任何模块即可直接使用
jupyter notebook里敲dir(__builtins__)
在这里插入图片描述
拜读了另一位前辈的分类学习法,将这68个内置函数分成了10类:7个数学运算型,24个类型转换型,8个序列操作型,7个对象操作,8个反射操作,2个变量操作,2个交互操作,1个文件操作,4个编译执行,3个装饰器

这里补充一下python对象:
  • 标识(identity):
    用于唯一标识一个对象,通常对应于对象在计算机内存中的位置。使用内置函数==id(x)==可以返回对象x的唯一标识
  • 类型(type):
    用于表示对象所属的数据类型(类),数据类型用于限定对象的取值范围,以及允许执行的处理操作。使用内置函数type(x)可以返回对象x所属的数据类型
  • 值(value):用于表示对象的数据类型的值。使用内置函数value(x)可以返回对象x的值

一、数学运算

1.abs()

返回x的绝对值

2.divmod()

商余函数,返回两个数值的商和余数。比较有意思的是如果传入的数值的整数则返回也是整数,如果传入有浮点数,则返回均为浮点数

3.max()

返回可迭代对象(字符串之类)或所有参数中的最大值。用key参数可以比较传入参数绝对值对象,再返回传入参数
在这里插入图片描述

4.min()

返回可迭代对象(字符串之类)或所有参数中的最小值。用key参数可以比较传入参数绝对值对象,再返回传入参数(同上max())

5.pow()

返回两个数值的幂运算(输入两个数值时)或指定整数的取模(三个数值)
在这里插入图片描述

6.round(x,y)

对浮点数x进行四舍五入。若y>0,则保留y为小数;若y<0,则往小数点左边第y位四舍五入(第y位的进第y+1位)

7.sum()

迭代求和
在这里插入图片描述

二、类型转换

1.bool()

根据传入的参数的逻辑值创建一个新的布尔值,当未传入参数、传入0、空序列等值时返回False,其余返回True

2.int()

根据传入的参数创建一个新的整数,无论正负数都相当于不看小数部分,返回整数部分。

3.float()

根据传入的参数创建一个新的浮点数,传入空值时返回0.0,传入字符数字时返回数字的浮点类型。

4.complex()

根据传入参数创建一个新的复数 ,用j表示复数。传入空值时返回0j。
在这里插入图片描述

5.str()

返回一个对象的字符串表现形式

6.ord()

返回Unicode字符对应的整数,有点像C语言里的ASCII编码,注意输入字符类型不要忘记引号

7.chr()

返回整数所对应的Unicode字符,与上一个函数相反,输入数字返回它ASCII对应的字符

8.bytearray()

根据传入的参数创建一个新的字节数组:
在这里插入图片描述

9.bytes()

根据传入的参数创建一个新的不可变字节数组:
在这里插入图片描述

10.memoryview()

根据传入的参数创建一个新的内存查看对象
在这里插入图片描述

11.bin()

将整数转换成2进制字符串

12.oct()

将整数转化成8进制数字符串

13.hex()

将整数转换成16进制字符串

14.tuple()

根据传入的参数创建一个新的元组。不传入参数时创建空元组;传入可迭代对象时,使用其元素创建新的元组。元组用圆括号表示 ( ) 。

15.list()

根据传入的参数创建一个新的列表。同上,不传入参数时创建空列表;传入可迭代对象时,使用其元素创建新的列表。列表用中括号表示 [ ] 。

16.dict()

根据传入的参数创建一个新的字典。不传入参数时创建空字典;还可以传入可迭代对象、键值对、映射函数,创建字典 ,字典用花括号表示 { } 。
在这里插入图片描述

17.set()

根据传入的参数创建一个新的集合。不传入参数时创建空集合,传入可迭代对象还可以用让range()函数,集合也是用花括号表示

>>>a = set(range(5)
>>>a
{0, 1, 2, 3, 4}
  • 1
  • 2
  • 3
18.frozenset()

根据传入的参数创建一个新的不可变集合,同上,只是创建的集合不可更改

19.enumerate()

根据可迭代对象创建枚举对象。
在这里插入图片描述

20.range()

根据传入的参数创建一个新的range对象。前面用过很多遍了,这里不举栗子了。

21.iter()

根据传入的参数创建一个新的可迭代对象
iter(o[, sentinel]),返回一个iterator对象。该函数对于第一个参数的解析依赖于第二个参数。 如果没有提供第二个参数,参数o必须是一个集合对象,支持遍历功能(__iter__()方法)或支持序列功能(__getitem__()方法),参数为整数,从零开始。如果不支持这两种功能,将处罚TypeError异常。 如果提供了第二个参数,参数o必须是一个可调用对象。在这种情况下创建一个iterator对象,每次调用iterator的next()方法来遍历下一个。参数的调用o,如果返回值等于参数sentinel,触发StopIteration异常,否则将返回该值。
在这里插入图片描述

22.slice()

根据传入的参数创建一个新的切片对象

23.super()

根据传入的参数创建一个新的子类和父类关系的代理对象
(以下案例复制参考博客
在这里插入图片描述

24.object()

创建一个新的object对象, 获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。没有任何参数

三、序列操作

1.all()

判断可迭代对象的每个元素是否都为True值,0的逻辑值是False,其余都是True,包括空元组、空字典等

2.any()

判断可迭代对象的元素是否有为True值的元素,有一个非0值就是True,空列表空字典为False

3.filter()

使用指定方法过滤可迭代对象的元素,在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据

1 filter(function, iterable)
2 参数function:返回值为True或False的函数,可以为None。
3 参数iterable:序列或可迭代对象。
4 >>> def bigerthan5(x):
5 ...     return x > 5
6 >>> filter(bigerthan5, [3, 4, 5, 6, 7, 8])
7 [6, 7, 8]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
4.map()

使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象

5.next()

返回可迭代对象中的下一个元素值

6.reversed()

反转序列生成新的可迭代对象

>>> a = reversed(range(10)) # 传入range对象
>>> a # 类型变成迭代器
<range_iterator object at 0x035634E8>
>>> list(a)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • 1
  • 2
  • 3
  • 4
  • 5
7.sorted()

对可迭代对象进行排序,返回一个新的列表。
在这里插入图片描述

8.zip()

聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器,取最小长度。
在这里插入图片描述

四、对象操作

1.help()

返回对象的帮助信息

2.dir()

返回对象或者当前作用域内的属性列表

3.id()

返回对象的唯一标识符,就是内存地址

4.hash()

获取对象的哈希值
在这里插入图片描述

5.type()

返回对象的类型,或者根据传入的参数创建一个新的类型

6.len()

返回对象的长度,字符串,字节数组,元组,列表,对象,字典,集合,不可变集合等

7.ascii()

返回对象的可打印表字符串表现方式

8.format()

格式化显示值

1 >>> "I am {0}, I like {1}!".format("xiaobai", "moon")    
2 'I am xiaobai, I like moon!'
  • 1
  • 2
9.vars()

返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表

五、序列操作

1.import

动态导入模块,用过好多遍了的,不唠叨了。

2.isinstance

判断对象是否是类或者类型元组中任意类元素的实例

>>> isinstance(1,int)
True
>>> isinstance(1,str)
False
>>> isinstance(1,(int,str))
Tru
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
3.issubclass

判断类是否是另外一个类或者类型元组中任意类元素的子类

>>> issubclass(bool,int)
True
>>> issubclass(bool,str)
False
>>> issubclass(bool,(str,int))
True
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4.hasattr

检查对象是否含有属性

5.getattr

获取对象的属性值

6.setattr

设置对象的属性值

7.delattr

删除对象的属性

8.callable

检测对象是否可被调用

六、变量操作

1.globals

返回当前作用域内的全局变量和其值组成的字典

>>> globals()
{'__spec__': None, '__package__': None, '__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', '__doc__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>}
>>> a = 1 
>>> globals() #多了一个a 
{'__spec__': None, '__package__': None, '__builtins__': <module 'builtins' (built-in)>, 'a': 1, '__name__': '__main__', '__doc__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>}
  • 1
  • 2
  • 3
  • 4
  • 5
2.locals

返回当前作用域内的局部变量和其值组成的字典

七、交互操作

1.print

向标准输出对象打印输出

2.input

读取用户输入值

八、文件操作

1.open

使用指定的模式和编码打开文件,返回文件读写对象

 # t为文本读写,b为二进制读写
>>> a = open('test.txt','rt')
>>> a.read()
'some text'
>>> a.close()
  • 1
  • 2
  • 3
  • 4
  • 5

九、编译执行

1.complie

将字符串编译为代码或者AST对象,使之能够通过exec语句来执行或者eval进行求值

2.eval

执行动态表达式求值,就是把引号去掉,如果可以执行就执行操作

3.exec

执行动态语句块
在这里插入图片描述

4.repr

返回一个对象的字符串表现形式(给解释器)

十、装饰器

1.property

标示属性的装饰器

2.classmethod

标示方法为类方法的装饰器

3.staticmethod

标示方法为静态方法的装饰器
参考文献

重点点

python采用的是基于值的内存管理方式,如果为不同的变量赋值为相同值**(仅适用于-5到256的整数和短字符串)**,这个值在内存中只有一份,多个变量指向同一个内存地址。

python内置数据类型概述

python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型。

  1. 数值数据类型:
    int、float、complex、bool、decimal(小数)、fractions(分数)
  2. 序列数据类型:
    不可变:str、tuple、bytes
    可变:list、bytearray
  3. 集合数据类型:
    set、frozenset
  4. 字典数据类型:
    dict
  5. 其他:
    NoneType、NotImplementedType和EllispsisType
运算优先级

算术运算优(先乘除后加减)先级最高,其次是位运算、成员测试运算、关系运算符、逻辑运算符等。
悄咪咪补一下运算由高到低顺口溜:
倒数第一或与非
测试比较上一级
按位或异与移位
乘除求余伴加减
全体单目排第二
大幂大佬笑嘻嘻
这里看博客的时候发现一位博主整理的非常好,就copy下来了,po上博主的链接博主原文

优先级运算符描述
1lambdalambda表达式
2or布尔"或"
3and布尔"与"
4not布尔"非"
5in, not in成员测试
6is, is not同一性测试
7<, <=, >, >=, !=, ==比较
8|按位或
9^按位异或
10&按位与
11<<, >>移位
12+, -加减法
13*, /, %乘、除和取余
14+x, -x正负号
15~x按位翻转
16**指数
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/958420
推荐阅读
相关标签
  

闽ICP备14008679号