python封裝中的兩個坑

2021-10-14 08:06:56 字數 810 閱讀 3931

廣義的封裝: 給類中封裝靜態字段,給物件封裝屬性,

狹義的封裝: 靜態私有字段,靜態私有方法,靜態所有屬性.

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