class
student :
#定義乙個類
myname = 'xiaohong'
__age__ = 18;
def__init__
(self,***):
# 建構函式,初始化資料
self.*** = ***
defhello
(self):
#self 類本身
print('student hello')
defsay(self,name):
print('hi ,%s' %name) # %s是佔位符 %name 是方法傳進來的引數 相當於區域性變數
print('i am '+ self.myname +', is ' + self.***) # %self 相當於全域性變數
print('i am %s , is %s , age %i' %(self.myname, self.***,self.__age__))
defsetage
(self,age):
self.__age__ = age;
s = student('nan')#建立物件使用括號
s.myname = 'asd'; #公共變數 可以修改
print('age:' + str(s.__age__)) # 私有變數 只能訪問 不能修改
s.hello()
s.setage(19)
s.say('xiaohua')
print('*' * 8 )
class
people
(student):
#繼承 繼承具有傳遞性
defhello
(self):
#子類覆蓋父類的方法
print(' i am people')
p = people('nan') # 父類的init 帶有引數,子類建立的時候也需要帶引數,也就是說預設繼承父類的構造方法
print( '使用父類的myname:' + p.myname)
p.setage(15) # 使用父的方法
p.say('xiaoming')
print( " hasattr(p,'myname') 是否有myname : "+ str(hasattr(p,'myname')))
setattr(p,'addr','python') # 設定屬性
print(hasattr(p,'addr'))
print(p.addr)
a = getattr(p,'addr')
print(a)
這是輸出
age:18
student hello
hi ,xiaohua
i am asd, is nan
i am asd , is nan , age 19
********
使用父類的myname:xiaohong
hi ,xiaoming
i am xiaohong, is nan
i am xiaohong , is nan , age 15
hasattr(p,'myname') 是否有myname : true
true
python
python
class
animal
(object):
#新式類 廣度優先
def__init__
(self):
print('this is animal...')
def__del__
(self):
print("talk end")
class
dog(animal):
deftalk
(self):
print('dog ...talk')
class
cat(animal):
deftalk
(self):
print('cat...talk')
d = dog()
d.talk()
c = cat()
c.talk()
'''多型
super(父類,self).init() 呼叫父類的方法
子類的init 可以覆蓋父類的init
靜態方法
類方法'''
defanimal_talk
(obj):
obj.talk()
animal_talk(d)
class
dog(object):
def__init__
(self,name='dog',*args,**kwargs):
self.name = name
print(name)
print(args)
print(kwargs)
print(kwargs.keys(),kwargs.values())
defeat(self,food):
print('%s eating %s ' %(self.name,food))
@staticmethod #靜態方法 不能寫self 跟類沒有聯絡
# @classmethod 類方法
# @property 屬性方法 就是將該方法變成屬性 不能修改,刪除
# 方法名.setter 在可以修改
#方法名.deleter 刪除
defplay
(): print('playing...')
d=dog('xiaoming',18,***='m')
print('---------')
d2=dog()
d2.eat('orange')
print('----')
d3=dog()
d3.play()
python 了解一下 dict
寫在前面 這幾天在寫關於描述器的部落格,在了解描述器的機制的時候,翻了很多部落格裡面都提到了 dict 我想更多的了解一點描述器的機制,所以我得先弄清楚這個 dict 到底是幹啥的。計算機語言學的越久,越是覺得各個知識點之間都有著千絲萬縷的關係。python 中 dict 儲存了該物件的一些屬性 類...
了解一下NTLM
ntlm 在客戶機與伺服器之間提供身份認證的安全包。ntlm 身份驗證協議 是 質詢 應答身份驗證協議,是windows nt 4.0 及其早期版本中用於網路身份驗證的預設協議。windows 2000 中仍然支援該協議,但它不再是預設的。ntlm身份驗證過程 ntlm 是用於 windows nt...
了解一下 display flex
一 display flex flex 是flexuble box的縮寫,意為 彈性盒子 用來為盒狀模型提供最大的靈活性.任何乙個容器都可以指定為flex布局.box 行內元素也可以使用flex布局.box webkit核心的瀏覽器,必須加上 webkit box 注意為父級設計flex布局以後,子...