Python3 與 C# 面向物件之~封裝
關於__name__在模組呼叫的時候會詳細說,你可以先這樣理解:如果直接執行py檔案就執行,別人呼叫那麼你的main就不執行了
標準寫法:
# 1.匯入的模組 # 2.class的定義 # 3.其他方法定義 def main(): pass if __name__ == '__main__': main()
其他內容後面會繼續說,封裝部分再說說靜態方法和類方法之類的就結束了(和C#還是有很大區別的)
1.7 類屬性、例項屬性¶
小明問老師:“老師老師,怎麼沒有靜態類,靜態屬性之類的東西呢?”
老師笑而不語道:“小傢伙原來不僅僅是體重增加啊,這求知慾也是大大的增加呢 ~ 且聽我慢慢道來”
類在程式裡面也是物件(你姑且可以認為所有的類都類似於C#裡面的靜態類),而通過類例項化的物件,叫例項化物件
例項屬性 --> 例項物件相互之間不共享 一般我們都是在__init__
中定義
類屬性(類似於C#裡面的靜態欄位) --> 屬於類物件,多個例項物件之間共享
注意一下:相同名稱的例項屬性將遮蔽掉類屬性(儘量別同名)
類屬性除了可以通過 類名.類屬性 訪問外,還可以直接 例項物件.類屬性 (C#中抽象類和靜態類是不能被例項化的)
來個案例更直觀點:
相關推薦
Python3 與 C# 面向物件之~封裝
關於__name__在模組呼叫的時候會詳細說,你可以先這樣理解:如果直接執行py檔案就執行,別人呼叫那麼你的main就不執行了 標準寫法: # 1.匯入的模組 # 2.class的定義 # 3.其他方法定義 def main(): pass if __name__ ==
Python3 與 C# 面向物件之~異常相關
老師問了小明一聲,有幾個輸出? 小明驕傲的說道:“兩個,我寫了兩個異常處理,當然都執行了” 同學們又笑了,小潘調侃的說了句:“一看就知道去年C#沒好好學,這不都一樣嘛,遇到異常下面程式碼還執行嗎?用腦子好好想想” 當我們認為某些程式碼可能會出錯時,就可以用try來執行這段程式碼,如果執行出錯,則後續
Python3 與 C# 面向物件之~繼承與多型
Python的多繼承最好是當C#或者Java裡面的介面使用,這樣結構不會混亂( 特殊情況除外) 來個例子: class Animal(object): pass class Flyable(object): """飛的方法""" pass class Ru
Python3 與 C# 網路程式設計之~ 網路基礎篇
最新版本檢視:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入門篇 官方文件:https://docs.python.org/3/library/ipc.html(程序間通訊和網路) 例項程式碼:https://github.com/lotapp/
Python3 與 C# 併發程式設計之~ 執行緒上篇
2.2.加強篇¶ 其實以前的Linux中是沒有執行緒這個概念的,Windows程式設計師經常使用執行緒,這一看~方便啊,然後可能是當時程式設計師偷懶了,就把程序模組改了改(這就是為什麼之前說Linux下的多程序程式設計其實沒有Win下那麼“重量級”),弄了個精簡版程序==>執行緒(核心是分不出程序
Python3 與 C# 併發程式設計之~程序先導篇
2.2.殭屍程序和孤兒程序¶ 先看看定義: 孤兒程序 :一個父程序退出,而它的一個或多個子程序還在執行,那麼那些子程序將成為孤兒程序。孤兒程序將被init程序(程序號為1)所收養,並由init程序對它們完成狀態收集工作。 殭屍程序 :一個程序使用fork建立子程序,如果子程序退出,而父程序並沒有
Python3 與 C# 併發程式設計之~ 程序篇
NetCore併發程式設計¶ Python的執行緒、並行、協程下次說 先簡單說下概念(其實之前也有說,所以簡說下): 併發:同時做多件事情 多執行緒:併發的一種形式 並行處理:多執行緒的一種(執行緒池產生的一種併發型別,eg:非同步程式設計) 響應式程式設計:一種程式設計模式,對事件
Python3 與 C# 面向對象之~異常相關
efi bsp sof 一個 name final href 場景 插件 周末多碼文,昨天晚上一篇,今天再來一篇: 在線編程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在線預覽:http://github.les
補習:C# 面向物件三大特性:封裝、繼承、多型
C# 面向物件三大基本特性 封裝、繼承、多型 1、封裝 隱藏物件的屬性和實現細節,僅對外公開介面,控制在程式中屬性的讀取和修改的訪問級別。 C# 封裝根據具體的需要,設定使用者的訪問許可權,並通過 訪問修飾符 來實現。 一個 訪問修飾符 定義了一個類成員的範圍和可
c#面向物件之繼承(經驗)
假設有一個基類A,另外有個繼承A的子類B,當建立物件a時===A a = new B();a.PrintObj();=== 用a去呼叫方法PrintObj(),在方法內部會出異常;因為dtObj沒有被例項化;如果去掉A的無參建構函式裡的 註釋,呼叫正確;子類呼叫父類方法,方法類用到的物件必須
Python3 與 C# 並發編程之~ 上篇
動態 ken summary using 任務調度 影響 特征 可能 arp NetCore並發編程 示例代碼:https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先簡單說下概念(其實之前
C語言面向物件程式設計:封裝與繼承(1)
最近在用 C 做專案,之前用慣了 C++ ,轉回頭來用C 還真有點不適應。 C++ 語言中自帶面向物件支援,如封裝、繼承、多型等面向物件的基本特徵。 C 原本是面向過程的語言,自身沒有內建這些特性,但我們還是可以利用 C 語言本身已有的特性來實現面向物件的一些基本特徵。接下來我們就一一來細說封裝、繼
C語言面向物件程式設計 一 封裝與繼承
最近在用 C 做專案,之前用慣了 C++ ,轉回頭來用C 還真有點不適應。 C++ 語言中自帶面向物件支援,如封裝、繼承、多型等面向物件的基本特徵。 C 原本是面向過程的語言,自身沒有內建這些特性,但我們還是可以利用 C 語言本身已有的特性來實現面向物件的一些基本特徵。
Python3 與 C# 擴充套件之~基礎衍生
Help on generator object: test = class generator(object) | Methods defined here: | | __del__(...) | | __getattribute__(self, name, /)
Python3 與 C# 擴充套件之~基礎拓展
終於期末考試結束了,聰明的小明同學現在當然是美滋滋的過暑假了,左手一隻瓜,右手一本書~正在給老鄉小張同學拓展他研究多日的知識點 1.NetCore裝飾器模式¶ 裝飾器這次從C#開始引入,上次剛講迭代器模式,這次把裝飾器模式也帶一波(純Python方向的可以選擇性跳過,也可以當擴充套件)
Python3 與 C# 擴充套件之~模組專欄
3.控制可使用的函式、變數、類¶ 3.1.通過私有來控制¶ 在一個模組中,我們可能會定義很多函式和變數,但有的函式和變數我們希望給別人使用,有的函式和變數我們希望僅僅在模組內部使用。在Python中,是通過_字首來實現的 小明同學基礎功底紮實,看見標題小明就樂了,前面看了這麼多案例瞬間秒懂,大叫道~
Python學習第一天:面向物件之封裝
封裝是根據職責將屬性和方法 封裝到一個抽象的類中。 下面是我在學習中的練習案例: 1.小明愛跑步 class Person: def __init__(self,name,weight): self.name = name self.weight = w
Java面向物件之多型(向上轉型與向下轉型)
多型,大概每個人都知道。但是,又有幾個人真的理解什麼是多型、多型有哪些細節呢?如果你看到這篇文章的名字,腦海中對多型沒有一個清晰的概念,不妨點進來看看,也許會有收穫。 什麼是多型 簡單的理解多型 多型,簡而言之就是同一個行為具有多個不同表現形式或形態的能力。比如說,有一杯水,我不知道
面向物件之(非)繫結方法,反射,isinstance與issubclass
isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)檢查是否obj是否是類 cls 的物件 class Foo(object): pass obj = Foo() isinstance(obj, Foo)
C#面向物件 | 面向物件基礎之綜合練習
面向物件程式設計練習 使用類來描述遊戲中的角色 欄位:角色名字、簡介、暱稱、攻擊力、防禦力和速度。 方法:每個角色有三個不同的攻擊技能。 //角色一:埃洛克的基本資訊. AiLuoKe.cs. class AiLuoKe {