Python Classes and Objects

Python 类/对象

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

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

类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

创建类

如需创建类,请使用 class 关键字:

Instance

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

class MyClass:
  x = 5

Run instance

创建对象

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

Instance

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

p1 = MyClass()
print(p1.x)

Run instance

__init__() 函数

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

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

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

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

Instance

创建名为 Person 的类,使用 __init__() 函数为 name 和 age 赋值:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Person("Bill", 63)
print(p1.name)
print(p1.age)

Run instance

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

对象方法

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

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

Instance

插入一个打印问候语的函数,并在 p1 对象上执行它:

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("Bill", 63)
p1.myfunc()

Run instance

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

self parameter

self Parameters zijn een referentie naar de huidige instantie van de klasse, gebruikt om toegang te krijgen tot variabelen die behoren tot de klasse.

Het hoeft niet te worden genoemd self, je kunt het naar willekeur aanroepen, maar het moet een functie zijn van de klasseEerste parameter:

Instance

Gebruik het woord mysillyobject en abc in plaats van 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("Bill", 63)
p1.myfunc()

Run instance

Wijzig object eigenschap

Je kunt de eigenschappen van objecten op deze manier wijzigen:

Instance

Stel de leeftijd van p1 in op 40:

p1.age = 40

Run instance

Verwijder object eigenschap

Je kunt del Sleutelwoorden verwijderen eigenschappen van objecten:

Instance

Verwijder de age eigenschap van het p1 object:

del p1.age

Run instance

Verwijder object

Gebruik del Sleutelwoorden verwijderen object:

Instance

Verwijder p1 object:

del p1

Run instance

pass statement

Een klasse definitie mag niet leeg zijn, maar als je om een of andere reden een lege klasse definitie hebt geschreven, gebruik dan de pass-statement om fouten te vermijden.

Instance

class Person:
  pass

Run instance