内置函数

  当拿到一个对象是,如何知道对象是什么类型、有哪些方法呢?

1、判断对象类型,使用type()函数,返回type类型:

基本类型都可以

>>>type(123)  <type 'int'>

一个变量指向函数或类,也可以判断:

>>>type(abs)  <type 'method'>

>>>type(a)  <class '_main_.animal'>

2、isinstance():对于class的继承关系来说,使用type()不方便,我们判断class的类型,可以使用isinstance()函数

>>>isinstance(h,Animal)  True 说明变量h是Animal类的类型

3、dir():获得一个对象的所有属性和方法,它返回一个包含字符串的list

>>>dir('ABC')  ['replace','rjust'........]

--------------------------------------------------------------------------------------

Python内置类属性

1、__dict__ :类的属性(包含一个字典,由类的数据属性组成)

2、__doc__ :类的文档字符串

3、__name__ :类名

4、__module__ :类定义所在的模块

5、__bases__ :类的所有父类构成元素

eg:employee.__name__   打印employee类名

employee.__bases__  打印employee的所有父类

-------------------------------------------------------------------------------------

__init__

1、__init__ 并不相当于c#的构造函数,执行它的时候,实例已经构造出来了

class A(object):

  def __init__(self,name):

      self.name=name

  def getName(self):

      return 'A'+self.name

当执行a = A('hello')时,

可以理解为

a=object.__new__(A)

A.__init__(a,'hello')  即__init__作用是初始化已实例化后的对象

2、子类可以不重写__init__,实例化子类时,会自动调用超类中已定义的__init__

  若重写了__init__,实例化子类时,则不会隐式的再去调用超类中已定义的__init__

---------------------------------------------------------------------------------------

 

posted @ 2016-04-28 15:44  潇竹  阅读(135)  评论(0编辑  收藏  举报