zoukankan      html  css  js  c++  java
  • 面向对象_python

    面向对象_python

    • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
    • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
    • 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
    • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
    • 实例变量:定义在方法中的变量,只作用于当前实例的类。
    • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
    • 实例化:创建一个类的实例,类的具体对象。
    • 方法:类中定义的函数。
    • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
    •  1 #!/usr/bin/env python
       2 # encoding: utf-8
       3 class people(object):
       4     '客户信息测试'
       5     count = 0
       6     def __init__(self,name,age,work,gener): #初始换函数
       7         self.name1 = name
       8         self.age1 = age
       9         self.work1 = work
      10         self.gener1 = gener
      11         people.count += 1
      12     def huangz(self,work):
      13         print("%s has find the new [%s]"%(self.name1,work))
      14         self.work1 = work
      15 p1 = people('jim',32,'IT','man')
      16 print('P1:', p1.work1,p1.count)
      17 p2 = people('tom',54,'teacher','woman')
      18 print("P1:",p1.work1,p1.count)
      19 p3 = people('jik',24,'teacher','woman')
      20 p1.huangz('syudey')
      21 p2.huangz('please')
      22 print("P1:",p1.work1,p1.count)
      23 print("P2:",p2.work1,p2.count)
      24 print('people.__dict__:',people.__dict__) # 类的属性(包含一个字典,由类的数据属性组成)
      25 print('people.__doc__:',people.__doc__) #类的文档字符串
      26 print('people.__name__:',people.__name__) # 类名
      27 print('people.__module__:',people.__module__)
      28 # 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
      29 print('people.__bases__:',people.__bases__) #类的所有父类构成元素(包含了以个由所有父类组成的元组)
      30 '''
      31 P1: IT 1
      32 P1: IT 2
      33 jim has find the new [syudey]
      34 tom has find the new [please]
      35 P1: syudey 3
      36 P2: please 3
      37 people.__dict__: {'huangz': <function people.huangz at 0x0000024BBD8BD598>, '__init__': <function people.__init__ at 0x0000024BBD8BD510>, '__dict__': <attribute '__dict__' of 'people' objects>, '__module__': '__main__', '__doc__': '客户信息测试', 'count': 3, '__weakref__': <attribute '__weakref__' of 'people' objects>}
      38 people.__doc__: 客户信息测试
      39 people.__name__: people
      40 people.__module__: __main__
      41 people.__bases__: (<class 'object'>,)
      42 
      43 '''

      ok

    公众号请关注:侠之大者
  • 相关阅读:
    Java 堆和栈 垃圾回收 2015/9/16
    多态 Java 2015/9/16
    学校项目过程中知识点 Java 2015/9/15 晚
    Python print输出不换行
    Windows 加载EXT分区
    RouterOS 安全模式
    RouterOS Openswan l2tp ipsec
    RouterOS 自动邮件备份脚本
    python chnroutes ROS版
    Kinect 2.0&Speech 11 中文语音控制
  • 原文地址:https://www.cnblogs.com/kamil/p/5229873.html
Copyright © 2011-2022 走看看