python的點號運算和LEGB規則的學習理解

2021-06-22 01:49:14 字數 575 閱讀 3250

1 封裝

2 繼承

3 多型

1 python的封裝是約定 ,而不是約束, 因為你已經是成年人了.

2 python的繼承 實現本質是點號運算

3 python的多型是基於協議,基於行為的多型

1 簡單的變數--遵循legb查詢規則

2 點號運算 x.y 搜尋物件中的屬性y, 這個具有通用性, 可以用於任何物件.

假如我們有乙個基類x ,然後y繼承與x, x是y的例項,這裡就形成了乙個非常簡單的繼承樹.也就是我們的搜尋樹.

x--->y--->x

由於python中的類也是物件,所以我們的這顆樹的成員本質都是一樣的--物件.

這顆樹上的每乙個物件都有自己的命名空間.一般這個命名空間技術上用乙個可維護的字典來實現. 在這個繼承樹上我們查詢乙個屬性x.name.那麼就會按照廣度遍歷的方法,搜尋這顆樹,找到name屬性為止,沒找到就丟擲異常. 這就是python的繼承.

1 在本地查詢

2 巢狀作用域

3 全域性作用域

4 內建作用域

這樣一層層查詢,找到就停止搜尋,如果沒找到,就未定義的錯誤.

PHP 逗號和點號的區別

比如 1.echo abc def 用點號連線字串 2.echo abc def 用逗號連線字串 也許很多人都知道逗號要比點號快.但是不知道為什麼.更不知道這兩者到底有什麼區別.那麼下面我們就舉一些例子.來認清楚他們之前的區別.1.echo 1 5 1 5 看看上面的.輸出的結果是6.而不是1 5 ...

PHP 逗號和點號的區別

比如 1.echo abc def 用點號連線字串 2.echo abc def 用逗號連線字串 也許很多人都知道逗號要比點號快.但是不知道為什麼.更不知道這兩者到底有什麼區別.那麼下面我們就舉一些例子.來認清楚他們之前的區別.1.echo 1 5 1 5 看看上面的.輸出的結果是6.而不是1 5 ...

PHP中逗號和點號的區別

也許很多人都知道逗號要比點號快,但是不知道為什麼,更不知道這兩者到底有什麼區別。比如 1.echo abc def 用點號連線字串 2.echo abc def 用逗號連線字串 那麼下面我們就舉一些例子.來認清楚他們之前的區別.1.echo 1 5 1 5 看看上面的.輸出的結果是6.而不是1 5 ...