Python工厂函数能做什么,用法是怎样的
Admin 2022-07-12 群英技术资讯 730 次浏览
工厂函数:能够产生类实例的内建函数。
工厂函数是指这些内建函数都是类对象, 当调用它们时,实际上是创建了一个类实例。
Python中的工厂函数举例如下:
>>> a=int(9.9) >>> a 9 >>> b=long(45) >>> b 45L >>> f=float(8) >>> f 8.0 >>> c=complex(8) >>> c (8+0j) >>> b1=bool(7.9) >>> b1 True >>> b2=bool(0.0) >>> b2 False >>> b3=bool([]) >>> b2 False >>> b4=bool((34,5)) >>> b4 True
>>> s=str(9.9) >>> s '9.9' >>> unicode(9.0) u'9.0' >>> unicode('love') u'love'
>>> l=list('python') >>> l ['p', 'y', 't', 'h', 'o', 'n'] >>> t=tuple('python') >>> t ('p', 'y', 't', 'h', 'o', 'n')
>>> type(6) <type 'int'> >>> type('python') <type 'str'> >>> type(u'love') <type 'unicode'> >>> class A(): ... pass ... >>> a=A() >>> type(a) <type 'instance'> >>> type(A) <type 'classobj'>
>>> dict() {} >>> dict(one=1,two=2) {'two': 2, 'one': 1} >>> dict(zip(('one','two'),(1,2))) {'two': 2, 'one': 1} >>> dict([('one',1),('two',2)]) {'two': 2, 'one': 1} >>> dict([['one',1],['two',2]]) {'two': 2, 'one': 1} >>> dict((('one',1),('two',2))) {'two': 2, 'one': 1} >>> dict((['one',1],['two',2])) {'two': 2, 'one': 1}
>>> s=set('python') >>> s set(['h', 'o', 'n', 'p', 't', 'y']) >>> s.add(825)#可变集合 >>> s set(['h', 'o', 'n', 'p', 't', 'y', 825])
>>> s=frozenset('python') >>> s frozenset(['h', 'o', 'n', 'p', 't', 'y']) >>> s.add()#不可变集合 AttributeError: 'frozenset' object has no attribute 'add'
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python中,有很多函数的作用是一样的,例如:python中remove与del都会删除元素,但是还有有区别的。本文主要介绍python中remove与del的区别:del会根据索引删除;删除索引范围内的元素;删除整个列表。
堆积柱状图有堆积柱状图的好处,比如说我们可以很方便地看到多分类总和的趋势,下面这篇文章主要给大家介绍了关于使用matplotlib绘制并排柱状图的相关资料,需要的朋友可以参考下
这篇文章主要介绍了Python数据分析之绘制m1-m2数据,文章基于python的相关资料展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了python类的私有属性和公共属性说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了Python3.7 + Yolo3识别语音播报功能,开始之前我们先得解析出来Yolo3的代码,从而获取到被识别出来的物体标签,具体详细过程跟随小编一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008