Python luokat ja objektit
- Edellinen sivu Python taulukko
- Seuraava sivu Python perintä
Python 类/对象
Python 是一种面向对象的编程语言。
Python 中的几乎所有东西都是对象,拥有属性和方法。
类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。
创建类
如需创建类,请使用 class
关键字:
Esimerkki
使用名为 x 的属性,创建一个名为 MyClass 的类:
class MyClass: x = 5
创建对象
现在我们可以使用名为 myClass 的类来创建对象:
Esimerkki
创建一个名为 p1 的对象,并打印 x 的值:
p1 = MyClass() print(p1.x)
__init__() 函数
上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。
要理解类的含义,我们必须先了解内置的 __init__()
函数。
所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。
使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:
Esimerkki
创建名为 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)
注释:每次使用类创建新对象时,都会自动调用 __init__() 函数。
对象方法
对象也可以包含方法。对象中的方法是属于该对象的函数。
让我们在 Person 类中创建方法:
Esimerkki
插入一个打印问候语的函数,并在 p1 对象上执行它:
class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Hei, minun nimeni on " + self.name) p1 = Person("Bill", 63) p1.myfunc()
提示:self 变量是对类的当前实例的引用,用于访问属于该类的变量。
self-parametri
self
parametri on luokan nykyisen instanssin viittaus, jota käytetään luokan muuttujien
Se ei tarvitse olla self
, voit kutsua sitä vapaasti, mutta se on oltava luokan minkä tahansa funktionEnsimmäinen parametri:
Esimerkki
Käytä sanoja mysillyobject ja abc korvaamaan self:
class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Hei, nimeni on " + abc.name) p1 = Person("Bill", 63) p1.myfunc()
Muuta objektin ominaisuutta
Voit muuttaa objektin ominaisuutta tällä tavalla:
Esimerkki
Aseta p1:n ikä arvoon 40:
p1.age = 40
Poista objektin ominaisuus
Voit käyttää del
Avainsana poista objektin ominaisuus:
Esimerkki
Poista p1-objektin age-ominaisuus:
del p1.age
Poista objekti
Käytä del
Avainsana poista objekti:
Esimerkki
Poista p1-objekti:
del p1
pass-lause
Luokan määrittely ei voi olla tyhjä, mutta jos kirjoitat tyhjän luokan määrittelyn jostain syystä, käytä pass-lauseen estääksesi virheen.
Esimerkki
class Person: pass
- Edellinen sivu Python taulukko
- Seuraava sivu Python perintä