1. 程式人生 > >python的經驗主義學習之路(一)

python的經驗主義學習之路(一)

2017_7_19

學習總結

1:用python 的命令列互動系統中執行python,我可以在任意dos中任意目錄下輸入 python、啟動python的直譯器,若不匯入任何的模組則敲入任意的python程式碼,python直譯器就能一行一行的執行我的程式碼。而這個啟動python的目錄就是python直譯器的當前工作目錄不知道對不對,目前對比vs得出的結論),而當前工作目錄就是預設的讀取目錄,所以當我們需要import一個模組時,我們必須將python的啟動目錄(當前工作目錄)設定為模組的目錄,這樣才能正確的讀取(找到模組,否則會提示找不到)

2:python 是解釋性的語言----從上到下一句一句的翻譯成機器程式碼並執行,所以import 和c++中的#include有本質的區別嗎,#include是單純的貼在相應的位置(不一定先執行,定從main 開始執行),而import是把模組module(一個.py)中的內容直接從上到下先執行一遍。如下程式碼:

absTest.py

def abd(x):
	if x>=0:
		return x
	else:
		return -x


a = 5
print('這是第一個test的a=5')
b = 6
print('這是第一TEst的b=6')




def abd(x):
	print('這是第三個abd')

def abd(x,y):
	print('這是第三個abd,函式的簽名不同')

可以看到最終的效果,打印出了非函式定義的內容。


執行


我們可以看到若直接呼叫abd函式,則會出現錯誤,abd沒有被定義,在import一個模組(包目前沒有測試

),不可直接呼叫,必須寫模組名+.。

函式重名問題,好像並沒有C++中的根據函式簽名過載的問題,目前經驗主義理解如下:

函式名是一個變數,和c++常量不同,這個變數可以指向了記憶體中不同的函式體。所以只有最後一個定義的函式有效。

3:模組中的 變數,和函式需要 用嗎,模組名+.訪問,同名的函式和變數並不衝突。需加上模組名區別。


import時,只執行第一次的import。