Python項(xiàng)目案例開(kāi)發(fā)從入門到實(shí)戰(zhàn)-1.3 Python面向?qū)ο笤O(shè)計(jì)
Posted on 2019-05-19 12:01 紫云礫 閱讀(276) 評(píng)論(0) 收藏 舉報(bào)1.3.1定義于使用類
- 類的定義
class class_name;
attribute
function
例:
class Person:
age=18
def say():
print("Hello!")
1.3.2構(gòu)造函數(shù)
一個(gè)特殊的方法,以兩個(gè)下劃線“__”開(kāi)頭和結(jié)尾
class Complex:
def __init__(self, realpart,imagpart):
self.r=realpart
self.i=imagpart
x=Complex(3.0,2)
print(x.r,x.i)
1.3.3析構(gòu)函數(shù)
另一個(gè)特殊的方法,以兩個(gè)下劃線“__”開(kāi)頭和結(jié)尾
class Complex:
def __init__(self, realpart,imagpart):
self.r=realpart
self.i=imagpart
def __del__(self):
print("It has gone")
x=Complex(3.0,2)
print(x.r,x.i)
del x
1.3.4實(shí)例屬性和類屬性
屬性(成員變量)有兩種,一種是實(shí)例屬性,一種是類屬性(類變量)。
實(shí)例屬性是在構(gòu)造函數(shù)中定義的,定義時(shí)以self作為前綴
類屬性是在類中方法之外定義的屬性
在主程序中,實(shí)例屬性屬于(實(shí)例)對(duì)象,只能通過(guò)對(duì)象名訪問(wèn),而類屬性屬于類,可通過(guò)類名訪問(wèn),也可通過(guò)實(shí)例對(duì)象訪問(wèn)
例:
class Person:
type = mammal 類屬性
def __init__(self,str,n): 構(gòu)造函數(shù)
self.name = str 實(shí)例屬性
self.sage = n
def sat():
...
1.3.5私有成員和共有成員
屬性名前有兩個(gè)下劃線“__”為為私有屬性,否則為共有屬性
class Car:
price = 100
def __init__(self, c,w):
self.color = c 共有屬性
self.__weight = w 私有屬性
car1 = Car("Red",10)
print(car1.color)
print(car1.__Car__weight)
1.3.6方法
class Fruit:
price=100
def __init__(self):
self.__color = ''
def __output(self): 私有方法
print(self.__color) 訪問(wèn)私有屬性
def output(self):
self.__output() 通過(guò)私有方法訪問(wèn)私有屬性
@staticmethod
def getPrice() 定義靜態(tài)方法
return Fruit.price
1.3.7類的繼承
class 派生類名(基類名)
派生類成員
1.3.8多態(tài)
不想寫了。。。
Cecil Dan
浙公網(wǎng)安備 33010602011771號(hào)