需求:通過繼承來構建自己的資料型別:(例子:列表中只能新增字串)
1class
list(list):
2def
3if type(object) ==str:4#
使用父類中的方法6#
7print
8print
9else:10
print("
只能新增字串")
1112
if__name__ =="
__main__":
13 list =list()
tom")16
(list)
17'''
18輸出:
192144665322048
202144663681800
21只能新增字串
22['tom']
23'''
包裝的擴充套件:
下面通過包裝實現 許可權管理,給增加時間,過濾敏感詞
1import
time
2class
open:
3def
__init__(self,filename,mode = '
r',encoding = '
utf8'):
4 self.file=open(filename,mode,encoding=encoding) #
得到乙個物件
5 self.mode =mode
6 self.encoding =encoding
7def
write(self,text):
8 add = time.strftime("
%y-%m-%d %x
") #
%x 代表時間9if
"中國"in
text:
10print("
!!!含有敏感詞,請檢查!")
11else
:12 self.file.write("
{} {}
".format(add,text))
13def
__getattr__
(self, item):
14print("
沒有{}這個屬性
".format(item))
1516
if__name__ =="
__main__":
17 f = open("
d:/test.txt
",'w')
18 f.write("
cpu負載過高\n")
19 f.write("
記憶體剩餘不足\n")
20 f.write("
硬碟剩餘不足\n")
21 f.write("
中國\n")
22#f.read() #沒有read這個屬性
2324
'''25
輸出:26
!!!含有敏感詞,請檢查!
2728
檔案中的內容:
292019-08-06 16:18:28 cpu負載過高
302019-08-06 16:18:28 記憶體剩餘不足
312019-08-06 16:18:28 硬碟剩餘不足
32'''
原始資料型別和包裝型別的「 」
1integer與integer間的比較,從jdk1.5開始,有 自動裝箱 這麼乙個機制,在byte 128到127範圍內 ps整型的八位二進位制的表示的範圍為 128到127 如果存在了乙個值,再建立相同值的時候就不會重新建立,而是引用原來那個,但是超過byte範圍還是會新建的物件。來自 inte...
基本資料型別和包裝資料型別的使用標準
強制 所有pojo類屬性必須使用包裝資料型別 強制 rpc方法的返回值和引數必須使用包裝資料型別 推薦 所有區域性變數都推薦使用基礎資料型別。這裡建議我們使用包裝型別,原因是什麼呢?舉乙個扣費的例子,我們做乙個扣費系統,扣費時需要從外部的定價系統中讀取乙個費率的值,我們預期該介面的返回值中會包含乙個...
基本資料型別的包裝物件
首先,請給出下列 的輸出 var s hello world string.prototype.typeof function console.log typeof s 1 console.log typeof string s 2 console.log typeof newstring s 3 ...