廣義的封裝: 給類中封裝靜態字段,給物件封裝屬性,
狹義的封裝: 靜態私有字段,靜態私有方法,靜態所有屬性.
classa:
deffunc
(self)
:print
('in a'
)def
__init__
(self)
: self.func(
)class
b(a)
:def
func
(self)
:print
('in b'
)b = b(
)#執行結果為 'in b'
a和b中的func()實際函式名是相同的,在執行__init__中的self.func()時,先在子類中尋找func()
classa:
def__func
(self)
:print
('in a'
)def
__init__
(self)
: self.__func(
)class
b(a)
:def
__func
(self)
:print
('in b'
)b = b(
)#執行結果為' in a '
私有方法在python中實際被編譯為 _a__func()和_b__func(),所以a和b中的__func()是不同的,執行__init__時,直接執行的是self._a__func(). 兩個正則坑
先看第乙個,var re d d var r1 re.test 010 12345 console.log r1 結果控制台給出false。問題在哪?發現把逗號後的空格刪了就好了。習慣性在逗號後敲空格了,尤其是es6對物件進行擴充套件以後,以後不能這樣子了。接下來看個比較難的,零寬正向斷言,不熟悉的...
python, 交換列表中的兩個值遇到的坑
python中交換兩個值有種很方便的用法,如下 a,b b,a對於兩側都只有2或3個值的時候,它是通過棧stack來操作的 import dis deffoo a,b a,b b,a.dis.dis foo 20 load fast 1 b 3 load fast 0 a 6 rot two 7 s...
WKWebView的兩個坑點
蘋果在 wkwebview 中的 js runtime 裡事先注入了乙個 window.webkit.messagehandlers.giveuid.postmessage 方法,我們可以使用這個方法直接向 native 層傳值,異常方便。首先,我們要把乙個名為 giveuid 的 scriptme...