轻松上手,快乐学习!

Python 面向对象


Python 类和对象

Python是一种面向对象的编程语言。

Python中的几乎所有东西都是一个对象,具有其属性和方法。

类就像是对象构造函数,或者是用于创建对象的“蓝图”。


创建一个类

要创建类,请使用以下关键字class

实例

使用名为x的属性创建一个名为MyClass的类:

class MyClass:
  x = 5

运行实例 »


创建对象

现在我们可以使用名为myClass的类来创建对象:

实例

创建一个名为p1的对象,并打印x的值:

p1 = MyClass()
print(p1.x)

运行实例 »

 


__init __()函数

上面的实例是最简单形式的类和对象,在实际应用程序中并不真正有用。

要理解类的含义,我们必须了解内置的__init __()函数。

所有类都有一个名为__init __() 的函数,它始终在启动类时执行。

使用__init __()函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:

实例

PYTHON标题

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

运行实例 »

注意:__init__()每次使用类创建新对象时,都会自动调用该函数。


 


对象方法

对象也可以包含方法。对象中的方法是属于该对象的函数。

让我们在Person类中创建一个方法:

实例

PYTHON标题

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("Rick", 34)
p1.myfunc()

运行实例 »

注意:关键字self参数是对类的当前实例的引用,用于访问属于该类的变量(其它程序中会使用 this 如:java)。


self 参数

self参数是对类的当前实例的引用,用于访问属于该类的变量。

不一定要命名self,你可以随意调用它,但它必须是类中任何函数的第一个参数:

实例

使用单词mysillyobject和abc代替self:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("Rick", 34)
p1.myfunc()

运行实例 »

 


修改对象属性

修改对象的属性,如下所示:

实例

将p1的年龄设置为24:

p1.age = 24

运行实例 »


删除对象属性

使用 del关键字删除对象的属性:

实例

从p1对象中删除age属性:

del p1.age

运行实例 »


删除对象

使用del关键字删除对象:

实例

删除p1对象

del p1

运行实例 »