一.issubclass/type/isinstance(***) 1.issubclass(参数1, 参数2):检查第一个参数是否是第二个参数的 子子孙孙类,如下示例: class Base(object): pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) # True print(issubclass(Bar, Base)) # True 2.type():获取当前对象时由哪个类创建,如下…
1.  isinstance,   type,   issubclass isinstance(): 判断你给的xxx对象是否是xxxxx类型的,只支持向上判断 isinstance(object, classinfo) type():返回xxx对象的数据类型 type(object) type(name, bases, dict) issubclass():判断xxx类是否是xxx的子类 class Animal: def eat(self): print("刚睡醒吃点儿东西") c…
Python issubclass() 函数 issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类. 语法: issubclass(class, classinfo) 参数 class -- 类. classinfo -- 类. 返回值 如果 class 是 classinfo 的子类返回 True,否则返回 False. 例子: #!/usr/bin/python # -*- coding: UTF-8 -*- class A: pass clas…
一.函数和方法 1.函数和方法的区别 函数: 全都是显性传参,手动传参,与对象无关 方法: 存在隐性传参,与对象有关 1.1通过函数名可以判断 len()就是函数 str.count()就是方法 def func(): pass class A: def func(self): print(func) obj = A() print(obj.func()) 2.2通过types模块判断 from types import functionType from types import Method…
# 一 python面向对象-内置函数(issubclass(), type(), isinstance()) # issubclass 判断xxxx类是否是xxxx类的子类 class egg: pass class eegg(egg): pass class yuneegg(eegg): pass dan = egg() edan = eegg() shouyunedan = yuneegg() print(issubclass(eegg, egg)) # True 鹅蛋继承蛋的属性,是子类…
一丶,isinstance/issubclass/type 1.issubclass检查第一个参数是否是第二个参数的 子子孙孙类 class Foo(): pass class Boo(Foo): pass class Aoo(Boo): pass print(issubclass(Boo,Foo)) #True print(issubclass(Aoo,Foo)) #True 2.type获取当前对象是由那个类创建. class Foo(object): pass obj = Foo() pr…
一.面向对象中特殊方法的补充 1.__str__ 能将对象名改成你想要的字符串,但是类型还是类 class Foo(object): def __init__(self): pass def func(self): pass def __str__(self): return "f1" obj = Foo() print(obj,type(obj)) # f1 <class '__main__.Foo'> 2.__doc__ 能将类的注释文档显示出来 class Foo(o…
目录 绑定方法与非绑定方法 1.绑定方法 2.非绑定方法(staticmethod) isinstance和issubclass 内置函数 1.isinstance 2.issubclass 反射(面向对象高阶) 反射定义 4个可以实现反省的函数(内置函数) 反射使用场景 绑定方法与非绑定方法 1.绑定方法 ​ 绑定方法:绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入 ​ ​ 绑定给对象的方法: ​ 类中定义的函数默认就是绑定给对象的 ​ 绑定给类的方法: ​ 为类中定义的函数加上…
一.反射机制 * 反射可以理解为 通过字符串的形式,动态导入模块: 利用字符串的形式,在对象(模块)中操作(查找/获取/删除/添加)成员,是一种基于字符串的事件驱动! 反射机制的内置函数 # hasattr(object,attr) # 输入两个参数(对象,字符串类型(方法或属性)),判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False class Foo: def f1(self): pass obj = Foo() print(hasattr(obj,"f1"…
'''绑定方法类中定义函数分为了两大类: 1. 绑定方法 特殊之处: 绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数自动传入 如何用: 绑定给对象的方法: 在类中定义函数没有被任何装饰器修饰的情况下,默认就是绑定对象的 绑定给类的方法: 为类中定义函数添加一个装饰器classmethod,就是绑定类的 2. 非绑定方法 特殊之处: 非绑定方法就是一个普通函数,既不与类绑定又不与对象绑定, 意味着类与对象都可以调用,但是无论谁来调用都是一个普通函数,没有自动传值效果 如何用: 非绑定方法…