Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-class-and-object.html

Python 类和对象


在面向对象的设计中,程序员可以创建任何新的类型,这些类型可以描述每个对象包含的数据和特征,这种类型称为类。类是一些对象的抽象,隐藏了对象内部复杂的结构和实现。类由变量和函数两部分构成,类中的变量称为成员变量,类中的函数称为成员函数。

类和对象的区别


类和对象是面向对象中的两个重要概念,初学者经常把类和对象混为一谈。类是对客观世界中事物的抽象,而对象是类实例化后的实体

Python类的定义


Python使用class关键字定义一个类。当程序员需要创建的类型不能用简单类型来表示时,则需要定义类,然后利用定义的类创建对象。类把需要使用的变量和方法组合在一起,这种方式称为封装。

类的定义如下:

# 不显示继承object类
class class_name:
    ...

# 继承自父类
class class_name(parent):
    ...

类必须用关键字class定义,关键字class后面是类名。类的主体由一系列的属性和方法组成。

示例如下:

class Fruit:
    def __init__(self, name, color):  # __init__为类的构造函数
        self.name = name
        self.color = color

    def grow(self):  # 定义grow函数,类中的函数称为方法
        print(self.color, self.name, 'grow ...')

类的方法中必须有1个self参数。但是在方法调用时,可以不传递这个参数

Python对象的创建


创建对象的过程称为实例化。当一个对象被创建后,包含3个方面的特性:对象的句柄属性方法

对象的句柄用于区分不同的对象,当对象被创建后,该对象会获取一块存储空间,存储空间的地址即为对象的标识。

对象的属性和方法与类的成员变量和成员函数相对应。

Python的实例化与Java不同,并不需要new关键字。Python的实例化与函数的调用相似,使用类名加圆括号的方式。

示例如下:

fruit = Fruit('apple', 'green')
fruit.grow()

Python中类的属性和方法


Python中类由属性和方法组成。类的属性是对数据的封装,而类的方法则表示对象具有的行为。

Python中的构造函数、析构函数、私有属性或方法都是通过名称约定区分的。

Python中类的属性

Python中类的属性一般分为私有属性公有属性。

属性的名字以两个下划线开始,就表示为私有属性;反之,没有使用双下划线开始的表示为公有属性;类的方法也同样使用这样的约定。

Python中类的方法

Python中类的方法也分为私有方法公有方法

私有方法不能被模块外的类或函数调用。C#、Java中的静态方法使用关键字static声明,而Python使用@staticmethod修饰器把普通的方法转化为静态方法。