Discuss / Python / 获取对象的信息

获取对象的信息

Topic source

type()     ***返回***对象类型

    >>> type('abc')

types     判断***对象是否是函数  import types,返回***布尔

    >>> type(abs)==types.BuiltinFunctionType

isinstance()  判断***类及其继承链上的父类或其他基本类型,返回***布尔

    >>> isinstance(a,Dog)    

    >>> isinstance(a,Animal)

    >>> isinstance(123,int)

dir() 获取对象的所有属性和方法

   >>> dir('abc')

getattr()、setattr()、hasattr()   【属性和方法的】获取、设置、判断是否存在。

   >>> getattr(obj,'z')   #getattr(obj,'z',404) 。不存在回报错,404是不存在时默认返回信息

   >>> setattr(obj,'x',123)

   >>> hasattr(obj,'y')

补充:

__init__中 x没有作为参数传递给类的属性

二十类在初始化时,定义了一个默认属性x值为9.

因此,需要却别理解写成 def __init__(self,x):  self.x=x #x作为参数传递给self.x属性

>>> class MyObject(object):
...     def __init__(self):
...         self.x = 9
...     def power(self):
...         return self.x * self.x

错了,x是实例的属性,只是定义了默认值9


  • 1

Reply