服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

福利来了!Python内置函数最全总结,建议收藏!

日期: 来源:Python极客专栏收集编辑:


1 abs()

绝对值或复数的模

In [1]: abs(-6)
Out[1]: 6

2 all()

接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

In [2]: all([1,0,3,6])
Out[2]: False

In [3]: all([1,2,3])
Out[3]: True

3 any()

接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

In [4]: any([0,0,0,[]])
Out[4]: False

In [5]: any([0,0,1])
Out[5]: True

4 ascii()

调用对象的repr() 方法,获得该方法的返回值
In [30]: class Student():
    ...:     def __init__(self,id,name):
    ...:         self.id = id
    ...:         self.name = name
    ...:     def __repr__(self):
    ...:         return 'id = '+self.id +', name = '+self.name

In [33]: print(xiaoming)
id = 001, name = xiaoming

In [34]: ascii(xiaoming)
Out[34]: 'id = 001, name = xiaoming'

5 dict()

创建数据字典

In [92]: dict()
Out[92]: {}

In [93]: dict(a='a',b='b')
Out[93]: {'a': 'a', 'b': 'b'}

In [94]: dict(zip(['a','b'],[1,2]))
Out[94]: {'a': 1, 'b': 2}

In [95]: dict([('a',1),('b',2)])
Out[95]: {'a': 1, 'b': 2}

6 dir()

不带参数时返回当前范围内的变量,方法和定义的类型列表;带参数时返回参数的属性,方法列表。

In [96]: dir(xiaoming)
Out[96]:
['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',

 'name']

7 divmod()

分别取商和余数

In [97]: divmod(10,3)
Out[97]: (3, 1)

8  isinstance(object, classinfo)

判断object是否为类classinfo的实例,是返回true

In [20]: class Student():
    ...:     ...:     def __init__(self,id,name):
    ...:     ...:         self.id = id
    ...:     ...:         self.name = name
    ...:     ...:     def __repr__(self):
    ...:     ...:         return 'id = '+self.id +', name = '+self.name
    ...:

In [21]: xiaoming = Student('001','xiaoming')

In [22]: isinstance(xiaoming,Student)
Out[22]: True

9 issubclass(class, classinfo)

如果class是classinfo类的子类,返回True:

In [27]: class undergraduate(Student):
    ...:     def studyClass(self):
    ...:         pass
    ...:     def attendActivity(self):
    ...:         pass
    ...:

In [28]: issubclass(undergraduate,Student)
Out[28]: True

In [29]: issubclass(object,Student)
Out[29]: False

In [30]: issubclass(Student,object)
Out[30]: True
如果class是classinfo元组中某个元素的子类,也会返回True
In [26]: issubclass(int,(int,float))
Out[26]: True

10 iter(object, sentinel)

返回一个可迭代对象, sentinel可省略

In [72]: lst = [1,3,5]

In [73]: for i in iter(lst):
    ...:     print(i)
    ...:
1
3
5

sentinel 理解为迭代对象的哨兵,一旦迭代到此元素,立即终止:

In [81]: class TestIter(object):
    ...:         def __init__(self):
    ...:             self.l=[1,3,2,3,4,5]
    ...:             self.i=iter(self.l)
    ...:         def __call__(self):  #定义了__call__方法的类的实例是可调用的
    ...:             item = next(self.i)
    ...:             print ("__call__ is called,which would return",item)
    ...:             return item
    ...:         def __iter__(self): #支持迭代协议(即定义有__iter__()函数)
    ...:             print ("__iter__ is called!!")
    ...:             return iter(self.l)
    ...:

In [82]:     t = TestIter()
    ...:     t1 = iter(t, 3)
    ...:     for i in t1:
    ...:         print(i)
    ...:
__call__ is called,which would return 1
1
__call__ is called,which would return 3

11 max(iterable,*[, key, default])

返回最大值:

In [99]: max(3,1,4,2,1)
Out[99]: 4

In [100]: max((),default=0)
Out[100]: 0

In [89]: di = {'a':3,'b1':1,'c':4}
In [90]: max(di)
Out[90]: 'c'

In [102]: a = [{'name':'xiaoming','age':18,'gender':'male'},{'name':'
     ...: xiaohong','age':20,'gender':'female'}]
In [104]: max(a,key=lambda x: x['age'])
Out[104]: {'name': 'xiaohong', 'age': 20, 'gender': 'female'}

12 min(iterable,*[, key, default])

返回最小值

13 memoryview(obj)

返回由给定实参创建的“内存视图”对象, Python 代码访问一个对象的内部数据,只要该对象支持 缓冲区协议 而无需进行拷贝

14 next(iterator,[, default])

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

In [129]: it = iter([5,3,4,1])

In [130]: next(it)
Out[130]: 5

In [131]: next(it)
Out[131]: 3

In [132]: next(it)
Out[132]: 4

In [133]: next(it)
Out[133]: 1

In [134]: next(it,0) #迭代到头,默认返回值为0
Out[134]: 0

In [135]: next(it)
----------------------------------------------------------------------
StopIteration                        Traceback (most recent call last)
<ipython-input-135-bc1ab118995a> in <module>
----> 1 next(it)

StopIteration:

15 object()

返回一个没有特征的新对象。object 是所有类的基类。

In [137]: o = object()

In [138]: type(o)
Out[138]: object


相关阅读

  • ChatGPT 团队揭秘:3 清华、1 北大、1 华科

  • 来源 | AIGC开放社区转自 | DatawhaleAminer和智谱研究发布了《ChatGPT团队背景研究》报告,深度揭示了这款火爆全球应用的背后团队的总体人员架构。调查发现,ChatGPT团队只有8
  • PDF 预览和下载你是怎么实现的?

  • 前言在开发过程中要求对 PDF 类型的发票提供 预览 和 下载 功能,**PDF** 类型文件的来源又包括 H5 移动端 和 **PC 端**,而针对这两个不同端的处理会有些许不同,下文会有所提及
  • 前端工程化-VSCode插件集成脚手架和组件库

  • 目录VSCode插件能做什么?VSCode可扩展能力有哪些?如何开发一个VSCode插件?VSCode插件如何集成基建的脚手架和组件库?(FAW保姆级教程)前端常见插件的实现原理分析?前言我们程序员
  • Fabric.js 自定义控件

  • 本文简介带尬猴,我是德育处主任虽然 Fabric.js 提供的基础功能已经很丰富了,但有时难免需要定制一些需求。比如本文要讲的 『自定义控件』。掌握创建自定义控件这个功能,能够创
  • 直降10~12℃!神木天气大反转

  • 重要天气报告 本周前期升温的势头真的真的太猛了!尤其是今天我市最高气温达到了20℃不到一周的时间分明就是冬夏的无缝交接若你以为会这样一路升到夏天那可会逗乐一批围
  • 3月10日流感疫苗接种通知!!

  • 流感疫苗到货数量有限,先到先得!!近期甲型流感来袭接种流感疫苗是预防甲流最经济最有效的手段!6月龄-3岁以内的儿童需要接种两剂次流感疫苗3岁以上的人群只需要接种1剂次流感疫

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • TVB艺人淘宝带货:看戏的多,买单的少

  • “更多港星正被送进直播间。”好文4766字 | 8分钟阅读题图源自TVB官方来源:开菠萝财经(ID:kaiboluocaijing)作者:纪校玲 | 编辑:金玙璠没有“3、2、1上链接”,也没有“所有女生”以
  • 罗永浩“最后一次创业”:冒险、撕裂与孤独

  • 作者:闫俊文 刘哲铭编辑:李薇来源:中国企业家(ID:iceo-com-cn)2月底,作为被投企业细红线科技的创始人,罗永浩参加了联想创投CEO年会。他低调地卡点进场,坐在第四排,安静听讲,没有与任何
  • 香港代购不香了,深圳反向代购火了

  • “深圳人老说自己是美食荒漠,香港人听了都觉得凡尔赛。”好文3663字 | 6分钟阅读来源:深圳微时光(ID:szdays)作者:白粥3月6日,就是香港与内地全面通关满月的日子。深港口岸回来了,恢