博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
isinstance与issubclass
阅读量:5018 次
发布时间:2019-06-12

本文共 1458 字,大约阅读时间需要 4 分钟。

isinstance与issubclass: class Bar:     pass class Foo(Bar):     pass print(issubclass(Foo,Bar))    Ture obj=Foo() print(isinstance(obj,Foo))    Ture print(isinstance([1,2,3],list)) Ture print(type(obj) is Foo)      Ture print(type([1,2,3]) is list)   Ture
反射:通过字符串来反射/映射到对象/类的属性上 class People:     def __init__(self,name,age):         self.name=name         self.age=age     def run(self):         print('%s is running' %self.name) obj=People('egon',18) 内置方法
 
__str__: 在对象被打印时自动触发,可以用来定义对象被打印时的输出信息
注意:必须返回一个字符串类型的值
class People:      def __init__(self, name, age):          self.name = name          self.age = age      def __str__(self):          # print('run..........')          return '
' % (self.name, self.age) obj1 = People('egon', 18) print(obj1) # print(obj1.__str__()) obj2=list([1,2,3]) print(obj2)
__del__: 在对象被删除时先自动触发该方法,可以用来回收对象以外其他相关资源,比如系统资源
class Foo:      def __init__(self,x,filepath,encoding='utf-8'):          self.x=x          self.f=open(filepath,'rt',encoding=encoding)      def __del__(self):          print('run.....')          # 回收对象关联的其他资源          self.f.close()  obj=Foo(1,'a.txt')  # del obj  print('主===========>')
__call__: 在对象被调用时会自动触发该方法,可以用来???
class Foo:     def __init__(self,x,y):         self.x=x         self.y=y     def __call__(self, *args, **kwargs):         print(self,args,kwargs) obj=Foo(1,2) obj(1,2,a=3,b=4) #obj.__call__(obj,1,2,a=3,b=4)
 

转载于:https://www.cnblogs.com/zhangpang/p/9526600.html

你可能感兴趣的文章
项目中操作redis改brpop阻塞模式为订阅模式的实现-java实习笔记二
查看>>
PHP中各种Hash算法性能比较
查看>>
对象深度克隆
查看>>
12动态规划运用实例
查看>>
规则9 减少DNS查找
查看>>
web 富文本编辑器总结
查看>>
限制某个进程只能在某个CPU上运行
查看>>
宋体、实例-Java中的单例模式-by小雨
查看>>
AutoMapper转换规则
查看>>
linux内核分析系列--百度
查看>>
SDN:软件定义网络
查看>>
GitHub具体教程
查看>>
写时拷贝(Copy On Write)方案详解
查看>>
CentOS 從 PHP 5.1.X 升級到 PHP 5.3
查看>>
MVC
查看>>
第二百三十五节,Bootstrap栅格系统
查看>>
《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #21FUSE
查看>>
SQLite剖析之编程接口详解
查看>>
Elasticsearch最佳实践之分片使用优化
查看>>
Java入门(6)
查看>>