python物件導向三大特性:繼承,多型,封裝
#多個函式獲取或改變乙個全域性變數
path =
''#全域性變數
defgetcontentlist
(request):.
..data = json.loads(request.body)
path = data[
'path'
]global path #給全域性變數在乙個函式裡賦值,必須使用global語句
path = path #賦值全域性變數
return..
.def
index
(request):if
len(path)
: path = path #使用改變後的變數
return..
.
python 物件導向 =》類,物件(作用:封裝**)
就是class 了 ,把 共同完成乙個功能的多個函式 封裝在乙個類中
方法(函式) -》公有,私有 __
class hero():
sum = 0 #類變數
def __init__(self,name,gender): #建構函式,(例項變數初始化)不能返回除none外的其他值
self.hero_name = name #例項變數 self.***x self代表物件
self.skill = ['q','w','e','r']
self.base_skill = ['d','f']
self.gender = gender
self.__dead = false #私有變數
#self.__class__.sum += 1
def print_skill(self): #例項方法
#print (self.skill)
return self.skill
def get_base_skill(self):
self.iner_call() #類內部函式間呼叫
return self.base_skill
def iner_call(self):
print('iner call test.')
def __hidden(): #私有方法
print("hidden")
@classmethod
def plus_sum(cls): #類方法
cls.sum += 1
@staticmethod
def add(x,y): #靜態方法(不經常使用)
print('static method', x + y)
lux = hero('lux','women') #例項化(使用class建立物件)
a = lux.print_skill()
b = lux.get_base_skill()
c = lux.plus_sum()
hero.plus_sum() #sum + 1
hero.add(3,4)
#print(lux.dead,hero.__hidden())
print(lux.__dict__,'\n',a,b,c,hero.sum,lux.sum)
繼承
# class father_class(): #父類
# print ("i'm your father")
# class son_class(father_class): #子類
# pass
# son_class()
class father():
sum = 0
def __init__(self,name,gender):
self.name = name
self.gender = gender
def get_name(self):
return self.name
def hall(self):
print('f11111')
class son(father):
def __init__(self,area,name,gender):
self.area = area
#father.__init__(self,name,gender) #傳入self
super(son,self).__init__(name,gender) #呼叫父類
def hall(self): #同名呼叫時呼叫子類
print('1111')
pass
a = son('zu an','jinx','women')
print(a.name,a.gender,a.get_name())
son.hall('2')
python物件導向2
主要通用 新增到屬性名前,可以讓該屬性得到乙個保護 class wudang name 武當 kongfu list aaa bbb ccc wd wudang print wd.name print wd.kong list 定義類的時候,如果希望繼承自另外乙個類 可以通過 class 類名 父類...
Python 物件導向2
instance 和 issubclass class foo pass foo foo print isinstance foo,foo print isinstance 1 int true trueclass foo pass foo foo print isinstance foo,foo ...
Python 物件導向 2
組合 適合沒干係的橫向類,比如池塘,烏龜,魚 把類的例項化放到新類裡面 屬性名和方法名相同,屬性會覆蓋掉方法 繫結 方法需要例項才能被呼叫!這種限制即繫結 用self接受繫結 class ball def xx self,a print b ball b.xx 123 刪除del ball類時,b....