今天繼續學習Python
研究了一下CentOS上運行,網上推薦使用Geany做IDE,下面把安裝和使用寫一下
1.使用終端,輸入命令yum install geany
2.選擇“應用程序”——“編程”——“Geany”
3.直接寫一個測試代碼用一下
print("Hello world")
然後保存爲hello.py
4.可以直接按F5運行
可是運行時總是提示我“無法找到虛擬終端xterm”,查來查去,原來geany是利用xterm運行的,而CentOS沒有自帶,所以我們需要安裝一個
5.使用終端,輸入命令yum install xterm,可能會提示你是否繼續,輸入y就行了
6.再次運行就OK了
————————繼續我們的學習——————————
函數,靜態語言(如:java)稱之爲方法
def hello(): print("Hello")
定義了一個名爲“hello”的函數,其功能只有一個,就是打印出“Hello”。
之前用過“import random”來產生隨機數,說明Python支持像java包一樣的層級結構和調用。
#Filename: hello.py def printHello(): print("Hello")
我們先創建一個名爲“hello.py”的文件,其中包含一個名爲“printHello()”的方法來打印
#Filename: myMain.py import hello hello.printHello()
再寫一個名爲“myMain.py”的文件,先用“import”來導入“hello.py”文件,然後調用它的“printHello()”方法。
注意:myMain.py和hello.py兩個文件必須在同一個目錄下。
下面我們在“hello.py”文件中增加一個版本變量,Python通常每個文件都有版本變量,取名爲“__version__”(注意兩個下劃線),不是必須的但是約定俗成的。
#Filename: hello.py def printHello(): print("Hello") __version__ = '0.1'
當我執行“hello.__version__”時報錯,提示找不到“__version__”,仔細一看原來是__version__寫到“printHello()”函數中了,但是怎麼把它隔離出來呢?方法很狗血,居然是取消縮進。。。
#Filename: hello.py def printHello(): print("Hello") __version__ = '0.1'#注意,沒有縮進!
經過一再測試,即使把“__version__”放在第一行,增加縮進也會造成報錯,由此可見:Python是根據縮進判斷語句塊的。
“hello.py”是自己寫的,那麼如果一個陌生的py文件,我想知道里面都有哪些函數怎麼做呢?
Python提供了“dir()”函數
import hello print(dir(hello))
得到的結果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '__version__', 'printHello']
可見除了我們自己定義的“__version__”和“printHello”以爲,系統還自動創建了許多變量。
import 導入時需要犧牲性能作爲代價的,所以Python會產生一個“.pyc”文件,個人感覺就好像是.java文件編譯後產生.class文件一樣。
我們可以用del命令刪除“.pyc”中的方法和變量,如下:
import hello print(dir(hello))
得到的結果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '__version__', 'printHello']
我們再用del刪除掉“__version__”
import hello del hello.__version__ print(dir(hello))
得到的結果是:
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', 'printHello']
看!“__version__”消失了!不用擔心,刪除的是“hello.pyc”中內容,“hello.py”中內容原封不動,不信可以打開看一下。