'''授權 授權是包裝的乙個特性,包裝乙個型別通常是對已經存在的型別的一些定製,這種做法可以新建
修改或刪除原有產品的功能,其他的則保持原樣 授權的過程,及時所有更新的功能都是由新類的某部分來
處理,但已存在的功能就授權給物件的預設屬性
__getattr__
'''
class open:def __init__(self,filename,mode='r',encoding='utf-8'):
# self.filename = filename
self.file=open(filename,mode,encoding=encoding)
self.mode=mode
self.encoding=encoding
def write(self,line):
print('------------->',line)
self.file.write(line)
def __getattr__(self, item):
return getattr(self.file,item)
f1 = open('a.txt','r+')
print(f1.read())
f1.write('333333333333\n')
迭代器
'''迭代器'''
class foo:
def __init__(self,n):
self.n = n
def __iter__(self):
return self
def __next__(self):
if self.n == 0:
raise stopiteration('error')
self.n -= 1
return self.n
f1 = foo(10)
for i in f1:
print(i)
'''迭代器斐波那契
'''class foo:
def __init__(self):
self.a = 1
self.b = 1
def __iter__(self):
return self
def __next__(self):
if self.a >30:
raise stopiteration('error')
self.a,self.b = self.b,self.a +self.b
return self.a
l = foo()
for i in l:
print(i)
def test():a = 1
b = 1
for i in range(10):
a,b = b, b+a
print(a)
test()
'''doc'''
class foo:
'我是描述資訊'
pass
class bar(foo):
pass
print(bar.__doc__) #該屬性無法繼承給子類
'''call
'''class foo:
def __call__(self, *args, **kwargs):
print('例項執行啦 call')
f1=foo()
f1() #例項執行啦 call
#f1的類foo 下的__call__
@property@x.setter @x.deleter
class foo:def __init__(self,val):
self.__name=val #將所有的資料屬性都隱藏起來
@property
def name(self):
return self.__name #obj.name訪問的是self.__name(這也是真實值的存放位置)
@name.setter
def name(self,value):
if not isinstance(value,str): #在設定值之前進行型別檢查
raise typeerror('%s must be str' %value)
self.__name=value #通過型別檢查後,將值value存放到真實的位置self.__name
@name.deleter
def name(self):
#raise typeerror('can not delete')
del self.__name
f=foo('egon')
print(f.name)
day27 物件導向的總結 異常處理
錯誤的分類if if 2 1 print 222 dic num int input 請輸入數字 dic dic hobby 什麼是異常?發生異常錯誤之後,你的程式就中斷了 異常處理?當 出現異常時,我通過某種方式不讓你的程式中斷,合理的 跳 過去,異常處理 為什麼要有異常處理?異常處理的兩種方式 ...
學習筆記 day27
表單 form 屬性 action 提交路徑,請求路徑 method get 明信片 提引數url,容量有限,不安全,有快取,post 信封 提引數url,請求實體 相對安全 理論沒有限制 put delete enctype enctype multipart form data 在存在檔案的時候...
每日演算法 day 27
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.12 記憶化 記憶化的思考方式 主要就是從搜尋開始進行思考然發現哪些分枝會大量...