python學習2(物件導向)

2021-09-25 12:30:45 字數 2513 閱讀 1779

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....