zoukankan      html  css  js  c++  java
  • Python :Dive Into Python 中文版 读后感_第五章__类与对象

    1:类的定义: class c1(Parent):        

                               pass    #定义了一个类,并继承了 Parent这个类

              注意:每个类方法的第一个参数,包括 __init__,都是指向类的当前实例的引用,通常叫 self,定义的时候需要写,调用的时候不用

    2: import module.name 和 from module import name 的区别:

                  后者将 name 引入当前的命名空间,所以用的时候不需要前缀。

                  ex: 前者: module.name();              后者: name()

    3:类的内置对象:

                   __doc___: 跟函数的一样

                  __init__(self): 在类的实例创建后被立即调用。注意 __init__ 方法从不返回一个值。__init__ 方法是可选的,但是一旦你定义了,就必须记得显示调用父类的 __init__ 方法 (如果它定义了的话)。这样更是正确的:无论何时子类想扩展父类的行为,后代方法必须在适当的时机,使用适当的参数,显式调用父类方法。

                  __class__: 表示对象的类, ex: obj.__class__

         __module__:表示当前类属于哪个模块

    4: 对象属性 和 类属性,类方法,私有方法

                class test():

                          class_property = 4  # 类属性, 对象和类都可访问

            __privateProperty = 1  #私有属性,对于对象

            def __init__(self):

              self.data = 5   # 对象属性   只允许对象访问

                         @staticmethod                # 静态方法,对象和类都可访问,第一个参数不是指向类的实例

            def static_method():

              print 'static method'

            def obj_method(self):      #对象方法, 只允许对象访问

                              print 'object method'

                          def __private_method(self):

                               print “私有方法,类的外部无法访问”

              有self的都是只针对 类的实例 的

  • 相关阅读:
    angularjs事件通信$on,$emit,$broadcast详解
    es6入门7--Set Map数据结构
    ES6函数参数默认值作用域的模拟原理实现与个人的一些推测
    JS判断数组是否包含某元素
    es6入门6--数组拓展运算符,Array.from()基本用法
    js new一个对象的过程,实现一个简单的new方法
    js中的NaN,isNaN与Number.isNaN的区别,如何判断一个值严格等于NaN
    详解 JDK8 新增的日期时间类
    详解 枚举
    详解 动态代理
  • 原文地址:https://www.cnblogs.com/lanxue/p/2599203.html
Copyright © 2011-2022 走看看