zoukankan      html  css  js  c++  java
  • 内置函数

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

    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__

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

  • 相关阅读:
    如何在 SQLServer 中启用 xp_cmdshell 等
    强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
    [啃书] 预告篇
    [啃书] 第5篇
    [啃书] 第4篇
    [啃书] 第3篇
    [啃书] 第2篇
    [啃书] 第1篇
    [前端随笔][Vue] 多级菜单实现思路——组件嵌套
    [算法小练][图][拓扑排序+深度优先搜索] 平板涂色问题
  • 原文地址:https://www.cnblogs.com/zzfighting/p/5436142.html
Copyright © 2011-2022 走看看