zoukankan      html  css  js  c++  java
  • Python Object Oriented

    1. Creating class

    class className:
       'Optional class documentation string'
       class_suite
    

      

    The class has a documentation string, which can be accessed via ClassName.__doc__.

    Example:

    class Employee:
       'Common base class for all employees'
       empCount = 0
    
       def __init__(self, name, salary):
          self.name = name
          self.salary = salary
          Employee.empCount += 1
       #class constructor or initialization method
       #It's used to make a new class instance
    
       #the first argument to each method is self
       #When we use this method, we do not need to add it. Python will adds the self argument to the list for you.
       def displayCount(self):
         print("Total Employee %d" % Employee.empCount)
    
       def displayEmployee(self):
          print("Name : ", self.name,  ", Salary: ", self.salary)
    
    #create an instance
    e = Employee('Ben', 1000)
    

      

    2.  access an attribute

    just like C++

    #We can add, remove, or modify attributes of classes and objects at any time.
    emp1.age = 7  # Add an 'age' attribute.
    emp1.age = 8  # Modify 'age' attribute.
    del emp1.age  # Delete 'age' attribute.
    

      

    hasattr(emp1, 'age')    # Returns true if 'age' attribute exists
    getattr(emp1, 'age')    # Returns value of 'age' attribute
    setattr(emp1, 'age', 8) # Set attribute 'age' at 8
    delattr(empl, 'age')    # Delete attribute 'age'
    

      

    3. Built-in class attribute

    ictionary containing the class's namespace.
    __name__ #Class name.
    __module__ #Module name in which the class is defined. This attribute is "__main__" in interactive mode.
    __bases__ #A possibly empty tuple containing the base classes, in the order of their occurrence in the base class list.
    

      

    4. destroy

    #Python deletes unneeded objects (built-in types or class instances) automatically to free the memory space. 
    '''
    An object's reference count increases when it is assigned a new name or placed in a container (list, tuple, or dictionary). 
    The object's reference count decreases when it's deleted with del, its reference is reassigned, or its reference goes out of scope. 
    When an object's reference count reaches zero, Python collects it automatically.
    '''
    class Point:
       def __init( self, x=0, y=0):
          self.x = x
          self.y = y
       def __del__(self):
          class_name = self.__class__.__name__
          print class_name, "destroyed"
    
    pt1 = Point()
    pt2 = pt1
    pt3 = pt1
    print id(pt1), id(pt2), id(pt3) # prints the ids of the obejcts
    del pt1
    del pt2
    del pt3
    
    #result
    3083401324 3083401324 3083401324
    Point destroyed
    

      

    5. inheritance

    class SubClassName (ParentClass1[, ParentClass2, ...]):
       'Optional class documentation string'
       class_suite
    

      

  • 相关阅读:
    微信小程序 | 小程序的转发问题
    开发辅助 | 前端开发工程师必懂的 UI 知识
    微信小程序 | canvas绘图
    服务端 | Linux 学习总结 (一)
    移动端适配 | 适配方案总结
    开发工具 | 利用 deployd 搭建个人博客
    1.10 组织好代码文件,要有“用户思维”
    1.9 组织好代码段,让人对它“一见钟情”
    《计算机是怎样跑起来的》读书笔记(1)
    实用网站收藏
  • 原文地址:https://www.cnblogs.com/KennyRom/p/6297564.html
Copyright © 2011-2022 走看看