python 类详解及简单实例

267次阅读  |  发布于5年以前

python 类详解

1.类是一种数据结构,可用于创建实例。(一般情况下,类封装了数据和可用于该数据的方法)

2.Python类是可调用的对象,即类对象

3.类通常在模块的顶层进行定义,以便类实例能够在类所定义的源代码文件中的任何地方被创建。

4.实例初始化

  1. instance = ClassName(args....)
  2. 类在实例化时可以使用initdel两个特殊的方法。

     class ClassName(base):

    'class documentation string' #类文档字符串
     class suite        #类体

  1. base:超类是一个或多个用于继承的父类集合
  2. 类体可以包括:声明语句、类成员定义、数据属性、方法
  3. 如果类不存在继承关系,就不提供括号里的base

     class FirstClass():
      spam = 30    #类数据属性
      def display(self): #类方法
       print self.spam

     x = FirstClass()   #创建类实例
     x.display()     #方法调用
     >>> 30
     dir(FirstClass)
     >>> ['__doc__', '__module__', 'display', 'spam']

Python类方法及调用

实例(对象)包含的属性

在OOP中,实例就像是带有"数据"的记录,而类是处理这些记录的"程序"

Python构造器

创建实例时,Python会自动调用类中的init方法,以隐形的为实例提供属性

  1. init方法被称为构造器
  2. 如果类中没有定义init方法,实例创建之初仅仅是一个简单的名称空间。
  3. init的第一个参数一定是self ,self 变量用于在类实例方法中引用方法所绑定的实例。因为方法的实例在任何方法调用中总是作为第一个参数传递的,self 被选中用来代表实例。你必须在方法声明中放上 self,但可以在方法中不使用实例(self)。如果你的方法中没有用到 self , 那么请考虑创建一个常规函数,除非你有特别的原因。毕竟,你的方法代码没有使用实例,没有与类关联其功能,这使得它看起来更像一个常规函数。在其它面向对象语言中,self 可能被称为 this。

    class MyClass():
     def __init__(self, name):
      self.name = name
      print 'My name is ' + self.name
     def __del__(self):
      print self.name + ' is dead.'

    i1 = MyClass('Shaw')
    >>> My name is Shaw
    del i1
    >>> Shaw id dead.

类的特殊属性

Python类方法中可用的变量

继承

继承描述了基类的属性如何'遗传'给派生类

  1. 子类可以继承他的基类的任何属性,包括数据属性和方法
  2. 一个未指定基类的类,其默认有一个叫object的基类
  3. Python允许多重继承(可以继承多个父类)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8