經常可以看到 python 原始碼檔案中第一行經常出現下面這行**:
#!/usr/bin/python
是用來說明指令碼語言是 python 的,要用/usr/bin下面的程式 python 這個直譯器,來解釋 python 指令碼,來執行 python 指令碼的
即指定用什麼直譯器執行指令碼以及直譯器所在的位置
偶爾可以看到 python 原始碼檔案中第二行經常出現下面這行**:
# -*- coding: utf-8 -*-
預設情況下,python 2 原始碼檔案以 ascii 編碼,為了提高相容性,經常設定以 utf-8 編碼
預設情況下,python 3 原始碼檔案以 utf-8 編碼,所有字串都是 unicode 字串
所以只用在 python 3 原始碼檔案比較少見到
當然也可以為原始碼檔案指定不同的編碼
在 python 裡,識別符號由字母、數字、下劃線組成
但不能以數字開頭,並且區分大小寫
以下劃線開頭的識別符號是有特殊意義的:
以單下劃線開頭 _foo 的代表:不能直接訪問的類屬性
需通過類提供的介面進行訪問,不能用from *** import *
而匯入
以雙下劃線開頭的 __foo 代表:類的私有成員
以雙下劃線開頭和結尾的__foo__代表:特殊方法專用的標識
如__init__ () 代表類的建構函式
在乙個.py檔案中,如果不是在定義函式,也就是說不是在def關鍵字的內嵌結構內
python會預設其餘部分函式是main函式,並自動執行
但正規工程中,一般都會將main函式寫為:
if __name__ ==
"__main__"
假設test1.py檔案為:
print
("test1 one"
)def
sayhello()
:print
("hello world"
)sayhello(
)print
("test1 two"
)
假設test2.py檔案為:
print
("test2 one"
)def
sayhello()
:print
("hello world !"
)if __name__ ==
"__main__"
: sayhello(
)print
("test2 two"
)
通過執行test3.py檔案檢視呼叫的程式入口:
import test1
print()
import test2
# test1 one
# hello world !
# test1 two
# # test2 one
可以看出test2.py檔案if __name__ == "__main__":
部分沒有執行
因為每個模組都有乙個__name__屬性
當其值是』main』時,表明該模組自身在執行,而不是被引入
所以,在模組被引入時,希望模組中的某一程式塊不執行
可以用__name__屬性來使該程式塊僅在該模組自身執行時執行
用 python 直譯器來程式設計,如果從 python 直譯器退出再進入
那麼定義的所有的方法和變數就都消失了
為此 python 提供了乙個辦法,把這些定義存放在檔案中
能定義函式,類和變數,模組裡也能包含可執行的**
為一些指令碼或者互動式的直譯器例項使用,這個檔案被稱為模組
模組是乙個包含了 物件定義和語句的檔案,其字尾名是.py的檔案
模組可以被別的程式引入,以使用該模組中的函式等功能
下例是個簡單的模組 support.py:
def
print_func
(par)
:print
("hello,"
, par)
return
模組定義好後,可以使用 import 語句來引入模組
import support
support.print_func(
"kaka"
)# hello, kaka
乙個模組只會被匯入一次,不管執行了多少次import
這樣可以防止匯入模組被一遍又一遍地執行
包是乙個分層次的檔案目錄結構
它定義了乙個由模組及子包,和子包下的子包等組成的 python 的應用環境
但該資料夾下必須存在__init__.py檔案, 該檔案的內容可以為空,用於標識當前資料夾是乙個包
如果把剛剛的 support.py檔案放在同目錄的 /test資料夾中
通過 from 包 import 檔案 呼叫
from test import support
support.print_func(
"kaka"
)# hello, kaka
參考:
python 基礎教程 | 菜鳥教程
中文 python 筆記
python筆記 2 python解析器
在安裝好python之後,將其加入系統環境變數,即可在終端中呼叫python解析器。啟動方式 方式一 鍵入python命令 安裝多個版本時需要根據安裝設定鍵入python2.x或python3.x users python 方式二 執行某個檔案 users python test.py 在終端輸入並...
python入門2 Python入門2
1列表和元組 列表 當索引超出了範圍時,python會報乙個indexerror錯誤 usr bin env python3 coding utf 8 列印s的1,v,9.注意 索引計數從 0 開始 s 1,2,3 a v b 7,8,9 列印1 print s 0 0 列印v print s 1 ...
Python學習2 Python物件
所有python物件都有三個特性 身份 每乙個物件都有乙個唯一的身份標識自己,可以使用內建函式id 獲取 型別 可以使用內建函式type 獲取 值數字,字串,列表,元組,字典 型別,none物件,檔案,集合 固定集合,函式,模組,類 1.型別物件 type 獲取物件的型別資訊 所有型別物件的型別都是...