python中的types是什么模块_python的types模块
python的types模块
python的types模块
1.types是什么:
types模块中包含python中各种常见的数据类型,如IntType(整型),FloatType(浮点型)等等。
>>> import types
>>> dir(types)
['BooleanType',
'BufferType',
'BuiltinFunctionType',
'BuiltinMethodType',
'ClassType',
'CodeType',
'ComplexType',
'DictProxyType',
'DictType',
'DictionaryType',
'EllipsisType',
'FileType',
'FloatType',
'FrameType',
'FunctionType',
'GeneratorType',
'GetSetDescriptorType',
'InstanceType',
'IntType',
'LambdaType',
'ListType',
'LongType',
'MemberDescriptorType',
'MethodType',
'ModuleType',
'NoneType',
'NotImplementedType',
'ObjectType',
'SliceType',
'StringType',
'StringTypes',
'TracebackType',
'TupleType',
'TypeType',
'UnboundMethodType',
'UnicodeType',
'XRangeType',
'__all__',
'__builtins__',
'__doc__',
'__file__',
'__name__',
'__package__']
2.types常见用法:
# 100是整型吗?
>>> isinstance(100, types.IntType)
True
>>>type(100)
int
# 看下types的源码就会发现types.IntType就是int
>>> types.IntType is int
True
但有些类型并不是int这样简单的数据类型:
class Foo:
def run(self):
return None
def bark(self):
print('barking')
a = Foo()
print(type(1))
print(type(Foo))
print(type(Foo.run))
print(type(Foo().run))
print(type(bark))
输出结果:
python中总有些奇奇怪怪的类型。有些类型默认python中没有像int那样直接就有,单但其实也可以自己定义的。
>>> import types
>>> class Foo:
def run(self):
return None
def bark(self):
print('barking')
# Foo.run是函数吗?
>>> isinstance(Foo.run, types.FunctionType)
True
# Foo().run是方法吗?
>>> isinstance(Foo().run, types.MethodType)
True
# 其实:
>>> types.FunctionType is type(Foo.run)
True
>>> types.MethodType is type(Foo().run)
True
瞬间感觉types模块号low,直接用type都能代替。。事实就是这样
3.MethodType动态的给对象添加实例方法:
import types
class Foo:
def run(self):
return None
def bark(self):
print('i am barking')
a = Foo()
a.bark = types.MethodType(bark, a)
a.bark()
如果不用MethodType而是直接a.bark = bark的话,需要在调用bark时额外传递self参数,这不是我们想要的。
原文链接:https://www.cnblogs.com/PrettyTom/p/6664808.html
python中的types是什么模块_python的types模块相关推荐
- python中import string是什么意思_Python之string模块(详细讲述string常见的所有方法)...
相信不少学习python的程序员都接触过string模块 string模块主要包含关于字符串的处理函数 多说无益,初学python的小伙伴还不赶紧码起来 接下来将会讲到字符串的大小写.判断函数. 以及 ...
- python的time库有哪些方法_Python的time模块中的常用方法整理
在应用程序的开发过程中,难免要跟日期.时间处理打交道.如:记录一个复杂算法的执行时间:网络通信中数据包的延迟等等.Python中提供了time, datetime calendar等模块来处理时间日期 ...
- python中re模块_python之re模块
python 中使用正则表达式需要引入re模块,用来匹配处理字符串 如: import re #第一步,要引入re模块 a = re.findall("匹配规则", "要 ...
- python中heapq的库是什么_Python中heapq模块的用法
heapq 模块提供了堆算法.heapq是一种子节点和父节点排序的树形数据结构.这个模块提供heap[k] <= heap[2*k+1] and heap[k] <= heap[2*k+2 ...
- python中def main是什么意思_Python中’__main__’模块的作用
Python不同于C/C++,程序执行并不需要主程序,如main(),而是文件自上而下的执行. 但很多Python程序中都有 1 if __name__ == '__main__':2 stateme ...
- python中main.py是什么意思_python 模块中的 __init__.py __main__.py的作用
python中文件夹想作为一个模块被引用,则在文件夹内必须要包含 __init__.py 文件,即使此文件为空. 如果此模块想要运行则必须要包含 __main__.py 文件.接下来说下两个文件起到的 ...
- python中的pickle是什么意思_python中pickle模块浅析
本章为大家介绍的模块,在python2的时候,并不受宠,主要的问题是存在安全漏洞,发现问题就要及时解决,因此在现在3版本中,已经得到了妥善的修复.pickle模块是序列化模块,主要应用的是在元组和列表 ...
- python中怎样使用re模块_PYTHON正则表达式 re模块使用说明
首先,运行 Python 解释器,导入 re 模块并编译一个 RE: #!python Python 2.2.2 (#1, Feb 10 2003, 12:57:01) >>> im ...
- 在python中、使用( )语句导入模块_Python import导入模块
python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中. import语句作用 import语 ...
最新文章
- oracle 日志大于4g,Oracle日志文件达到4G
- 10次相遇我才知道什么是成熟的爱--转
- python创建配置文件_如何写python的配置文件
- s6-9 TCP 定时器
- [推荐]大量 Blazor 学习资源(一)
- 意大利归还中国文物;翟天临咪蒙成考公务员题目;携程回应五一机票涨价;腾讯未成年人网络保护体系上线;这就是今天的大新闻...
- 一个简单的单例模式的类
- matplotlib 热力图_5分钟入门 Seaborn 热力图可视化
- android studio aspectj使用,androidStudio中使用 AspectJ
- SaaS 客户生命周期(逐字稿+PPT)
- 中国武侠片的50条爆笑定律
- python图像对比_python+PIL实现图片对比(一)
- android 内存泄漏问题【转】
- MySQL中的锁机制-全局锁/表锁/行锁
- iOS系统玩ONS游戏的详细说明(越狱,非越狱)
- 计算机不显示固态硬盘,电脑重启后读不到固态硬盘怎么办
- css设置动画匀速运动,CSS3 transition动画
- 信息安全必备的8张思维导图
- NEO FANTASY:回合制策略游戏在ACGN文化与GameFi中的新探索09-07
- [LOJ575]不等关系
热门文章
- strdup 和 strcpy
- struct inode
- You have 18 unapplied migration(s).Watching for file changes with StatReloader
- CALayer与UIView的关系
- avue表头拖拽排序,vuedraggable拖拽
- php如何判断ipv4_PHP校验IPV4和IPV6格式正确性
- 三、软件体系结构风格
- JavaScript禁用浏览器后退按钮
- 读书笔记:周星驰《大话西游之大圣娶亲》
- saturate_cast(),Scalar()的用法,Mat创建数组