python對象&&文檔字符串
大家好,我是芒果,一名非科班的在校大學生。對C/C++、數據結構、Linux及MySql、算法等領域感興趣,喜歡將所學知識寫成博客記錄下來。 希望該文章對你有所幫助!如果有錯誤請大佬們指正!共同學習交流

掘金LV3用戶 https://juejin.cn/user/1381426159953960
阿里云社區專家博主,星級博主,技術博主 https://developer.aliyun.com/profile/expert/5lkdbuggiiuhc
華為云云享專家 https://bbs.huaweicloud.com/community/myhomepage
Python使用下劃線(_)作為變量的前綴和后綴, 來表示特殊的標識符.
_xxx表示一個 “私有變量”, 使用from module import *無法導入.
add.py的內容
def _Add(x,y): return x+y
test.py的內容
from add import * print(_Add(1,2)) #報錯:NameError: name '_Add' is not defined
xxx (前后一個下劃線), xxx (前后兩個下劃線) 一般是系統定義的名字. 我們自己在給變量命名時要避開這種風格. 防止和系統變量沖突.
寫注釋對于提升程序的可讀性有很大的幫助.
前面我們介紹了 # 來表示單行注釋.
對于多行注釋, 我們可以使用 三引號(’’’/""") 在函數或者類開始位置表示. 這個東西也被稱為 文檔字符串
def Add(x,y): ''' 定義兩數相加的函數 ''' return x+y
使用對象的 doc 屬性就能看到這個幫助文檔了(別忘了, 函數也是對象).
def Add(x,y): ''' 定義兩數相加的函數 ''' return x+y print(Add.__doc__) #打印: 定義兩數相加的函數
或者使用內建函數 help 也可以做到同樣的效果.
def Add(x,y): ''' 定義兩數相加的函數 ''' return x+y print(help(Add))
打印結果:
注意:文檔字符串一定要放在函數/類的開始位置. 否則就無法使用 doc 或者 內建函數help 來訪問了.
不光一個函數/類可以有一個文檔字符串. 一個模塊也同樣可以.
add.py的內容
注意文檔字符串要放在最開始的位置
''' 定義兩數相加的函數 ''' def _Add(x,y): return x+y
test.py的內容
import add print(add.__doc__) #定義兩數相加的函數 print(help(add)) #執行結果 Help on module add: NAME add - 定義兩數相加的函數
對于Linux或者Mac這類的Unix類系統, 可以給Python代碼文件增加一個起始行, 用來指定程序的執行方式.
保存上面的代碼為test.py. 給這個文件增加可執行權限: chmod +x test.py
然后就可以通過 ./test.py 的方式執行了.
對象和類型
一切皆是對象
一個Python的對象, 包含三部分信息:
身份: 每一個對象都有一個唯一的身份標識自己. 用內建函數id可以看到這個標識的具體的值.
類型: 對象的類型決定了對象保存什么樣的值, 可以進行什么樣的操作, 以及遵守什么樣的規則. 實用內建函 數type可以查看對象的類型. 本質上就是把對象分分類
值: 表示對象中具體保存的內容. 有些對象的值可以修改, 有些對象的值不能修改, 這個稱為對象的 “可變性”
Python中任何類型的值其實都是一個對象(判定一個東西是不是對象, 就嘗試用id取一下看能否取到,如果能取到,說明就是對象).
class:對象 module:模塊
100 這樣的字面值常量, 也是對象; 一個字符串, 也是對象;
一個函數, 也是對象;
一個類型(type函數的返回值), 其實也是對象; 一個模塊, 還是對象;
以下面這段簡單的代碼為例, 仔細看一下對象創建的過程.
a = 2 b = 3 b = 2
按照我們C語言中的理解
a = 2 , 相當于先創建一個變量名a, a就是一個籃子(給a分配了內存空間), 然后把數字2裝到a這個籃子中. 但Python中完全不是這樣的.
python的理解:
我們在解釋器中敲入 a = 2 , 首先有一個 integer class 被喚醒(找到了整數對象的圖紙).
根據 integer class 這個圖紙, 在內存中開辟一段空間(得到了對象id), 并填充入對象的類型和值. 房子已經建好, 裝修完畢, 家具齊全.
萬事俱備, 只欠東風. 如果你想住進去, 還得有房子的鑰匙. 這個時候, 變量名a其實就是我們的鑰匙. 可以搬進去住啦~~美好的生活從此開始
臥槽, 老王怎么在隔壁也買了個房子??
老王房子建好了, 也拿著鑰匙住進去了.
再次執行 b = 2 時, 隔壁老王的魔爪伸過來了T_T. 老王拿到了我家的鑰匙…
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。