Python基础学习七

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Python从设计之初就已经是一门面向对象的语言正因为如此在Python中创建一个类和对象是很容易的。

如果你以前接触过面向对象的编程语言像JavaC++等。那么Python的面向对象对你来说就是小菜一碟 So easy。如果没有学习过面向对象编程的相关概念也没有关系。下面会简单的介绍一下面向对象的相关概念。

接下来我们先来简单的了解下面向对象的一些基本特征。

面向对象的基本概念

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 方法类中定义的函数。
  • 类变量类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员类变量或者实例变量用于处理类及其实例对象的相关的数据。
  • 方法重写如果从父类继承的方法不能满足子类的需求可以对其进行改写这个过程叫方法的覆盖override也称为方法的重写。
  • 局部变量定义在方法中的变量只作用于当前实例的类。
  • 实例变量在类的声明中属性是用变量来表示的这种变量就称为实例变量实例变量就是一个用 self 修饰的变量。
  • 继承即一个派生类derived class继承基类base class的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如有这样一个设计一个Dog类型的对象派生自Animal类这是模拟"是一个is-a"关系例图Dog是一个Animal。
  • 实例化创建一个类的实例类的具体对象。
  • 对象通过类定义的数据结构实例。对象包括两个数据成员类变量和实例变量和方法。

创建类

#ClassOne.py
class Calculator(object):
        #define class to simulate a simple calculator
        def __init__ (self):
                #start with zero
                self.current = 0
        def add(self, amount):
                #add number to current
                self.current += amount
        def getCurrent(self):
                return self.current

用 class 关键字来创建一个类后面是要创建的类的名字参数 object 是要创建的类的父类。

def init(self): 构造函数参数 self 就是当前实例吧类似 java 的 this。所以说如果学习过Java的话Python中的面向对象理解起来还是相对容易的。各种概念都是相通的。

从执行结果可以很明显的看出self 代表的是类的实例代表当前对象的地址而 self.class 则指向类。

但是请注意self 不是 python 关键字。

使用类

from ClassOne import * #get classes from ClassOne file 从 ClassOne 文件获取类
myBuddy = Calculator() # make myBuddy into a Calculator object 使 myBuddy 成为一个 Calculator 对象
myBuddy.add(2) #use myBuddy's new add method derived from the Calculator class
print(myBuddy.getCurrent()) #print myBuddy's current instance variable

在另一个文件里写入上面的代码。现在来解析一下

  1. 假设所有的类都在 python 目录下
  2. from ClassOne告诉 python 引用哪个文件import *意思是我们需要该文件里的所有类
  3. myBuddy = Calculator()创建一个 Calculator 的实例 myBuddy在 python 里不需要 new 关键字
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python