Python是面向物件的還是過程化的?
是的,Python 既支援面 向 對 象也支援過 程 化 編 程 語 言,因為它是一種為通用程式設計設計的高階程式語言。Python 是一種多範例語言,可以用所有這些語言編寫很大程度上是過程化、面向物件或函式式的程式或庫。取決於你所說的函數語言程式設計的含義。Python 確實有函式式語言的一些特徵。
面向物件程式設計的概念,例如 Python 中的類、封裝、多型、繼承等等,使它成為一種面向物件程式語言。
類似地,我們可以使用 Python 中的迴圈、for、while 以及控制結構建立過程化程式。
示例
class Rectangle: def __init__(self, length, breadth, unit_cost=0): self.length = length self.breadth = breadth self.unit_cost = unit_cost def get_perimeter(self): return 2 * (self.length + self.breadth) def get_area(self): return self.length * self.breadth def calculate_cost(self): area = self.get_area() return area * self.unit_cost # breadth = 120 cm, length = 160 cm, 1 cm^2 = Rs 2000 r = Rectangle(160, 120, 2000) print("Area of Rectangle: %s cm^2" % (r.get_area())) print("Cost of rectangular field: Rs. %s " %(r.calculate_cost()))
輸出
Area of Rectangle: 19200 cm^2 Cost of rectangular field: Rs. 38400000
廣告