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__

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

  • 相关阅读:
    Gson通过借助TypeToken类来解决这个问题
    学习心得
    java反射机制及Method.invoke方法(转载)
    IntentService源码分析
    android中一个app中的activity启动另外一个aar包中的activity
    android 动态加载
    eclispe的快捷键
    android sqlite数据库升级
    [C++] any number to binary (Bit manipulation)
    [C++] Sign and magnitude,Ones' complement and Two's complement
  • 原文地址:https://www.cnblogs.com/zzfighting/p/5436142.html
Copyright © 2011-2022 走看看