class - 類別簡介
  • class簡介:

Python的class機制中,Python的所有類別成員(含資料成員)全部都是公開的(public)的,且內部所使用的函式都是虛擬(virtual)的。

如同Python的特性,class本身也是一個物件。

定義class :

class className :
       <statement-star>
        .
        .
        .
       <statement-end>

在class中可以定義方法,主要是代表本身的行為。還可以定義特性來儲存資料。

class Point:
  def setLocation(self, x, y) :
    self.x = x
    self.y = y
  def __init__(self, x = 0, y = 0):
    self.x = x
    self.y = y
  def getX(self):
    return self.x
  def getY(self):
    return self.y
  def length(self):
    return pow(pow(self.x, 2) + pow(self.y, 2), 0.5)
  def __str__(self):
    return "x = " + str(self.x) + ",y = " + str(self.y)

在class之中定義方法的時候至少需要一個參數:self 自己。如果需要別的參數則加在參數的後面。
要定義特性可以在__init__()方法中定義所需的特性,這個方法同時也代表著建構式。

要使用類別方法的時候使用 . 來使用方法。
__init__()方法以及__str__()方法則屬於特別方法之一。

要新增一個實例便是

[classname]([arg])

實際使用例:

>>> a =Point(10,25)
>>> a.getX()
10
>>> a.setLocation(a.x * 1.3, a.y * 1.3)
>>> print(a)
x = 13.0,y = 32.5