怎樣才能開始一個互動式解釋器的會話? 在Windows下可以通過點擊開始按鈕,選擇“程式”,點擊“Python”,然後選擇“Python(command line)”菜單選項來開始一個交互會話。 你應該在哪裡輸入系統命令行來啟動一個腳本文件? 在輸入系統命令行的地方,也就是你所在的平臺提供給作為系統 ...
怎樣才能開始一個互動式解釋器的會話?
在Windows下可以通過點擊開始按鈕,選擇“程式”,點擊“Python”,然後選擇“Python(command line)”菜單選項來開始一個交互會話。
你應該在哪裡輸入系統命令行來啟動一個腳本文件?
在輸入系統命令行的地方,也就是你所在的平臺提供給作為系統終端的地方
Windows下的系統提示符,在Unix、Linux或mac OS x的xterm或者終端視窗。
指出運行保存在一個腳本文件中的代碼的四種或者更多的方法。
一個腳本(實際 上是模塊)文件中的代碼可以通過系統命令行、文件滑鼠點擊、導入和重載,exec內置函數以及像IDLE的Run→Run Module菜單選項這樣的IDEGUI選取來運行。
指出在Windows下點擊文件圖標運行腳本的兩個缺點
列印後退出的腳本會導致輸出文件馬上消失,在你能夠看到輸出之前,你的腳本產生的同樣顯示在輸出視窗的錯誤信息,會在查看其內容前關閉(這也是對大多數開發任務,系統命令和IDLE這類IDE之所以更好的原因。)
在IDLE中怎樣運行一個腳本?
在預設的情況下,Python每個進程只會導入一個模塊一次,所以如果你改變了它的源代碼,並且希望在不停止或者重新啟動Python的情況下運行其最新的版本,你將必須重載它。在你重載一個模塊之前至少已經導入了一次。在系統命令行彙總運行代碼,或者通過圖標點擊,或者像使用IDLE這樣IDE,這不再是一個問題,因為這些啟動機制網管網每次都是運行源代碼的最新版本。
列舉兩個使用IDLE的潛在缺點。
在你希望運行的文件所在的文件編輯視窗,懸著視窗的Run→Run Module菜單選項。這可以將這個視窗的源代碼作為頂層腳本文件運行,併在交互Pythonshell視窗顯示其輸出。
什麼是命名空間,它和模塊文件有什麼關聯
命名空間就是變數(也就是變數名)的封裝。它在Python中以一個帶有屬性的對象形式出現。每個模塊文件自動成為一個命名空間;也就是說,一個對變數的封裝,這些變數對應了頂層文件的複製。命名空間可以避免在Python程式中的命名衝突——因為每個模塊文件都是獨立玩唄的命名空間,文件鼻血明確的導入其他的文件才能使用這些文件的變數名。
列舉4個Python核心數據類型的名稱
數據、字元串、列表、字典、元組、文件和集合一般被認為是核心對象(數據)類型。類型、None和布爾型有時也被定義在這樣的分類中。還有數字類型(整數、浮點數、複數、分數和十進位數)和多種字元串類型。
為什麼我們把他們稱作“核心”數據類型?
它們被認作是“核心”類型是因為他們是Python語言資深的一部分,並且總是有效的,為了建立其他的對象,通常必須調用被導入模塊的函數。大多數核心類型都有特定的語法去生成其對象。
“不可變性”代表什麼,哪三種核心數據被認為是具有不可變性的?
一個具有不可變性的對象是一個在其創建以後不能夠被改變的對象。Python中的數據、字元串和元組都是屬於這個分類。儘管無法的改變一個不可變的對象,但是你總是可以通過運行一個表達式創建一個新的對象。
“序列”是什麼依稀,哪三種核心數據被認為是這個分類中的?
一個序列是一個對位置進行拍訊的對象的集合。字元串、列表和元組是Python中所有序列。他們共同擁有一般的序列操作,例如:索引、合併以及切片,但各自有自己的類型特定的方法調用。
“映射”是什麼意思,那種Python的核心類型是映射?
術語映射,表示將鍵與相互關聯映射的對象。Python的字典是其核心數據類型幾種唯一的映射類型。應該設沒有從左至右的位置順序,他們支持通過鍵獲取數據,並包含了類型特定的放大調用。
什麼是多態,為什麼我們要關心多態?
多態以為著一個操作符(如+)的意義區卻於被操作的對象。這將變成使用好Python的關鍵思想之一,不要把代碼限制在特定的類型上,使代碼自動使用於多種類型。
思考下麵三條聚聚。它們會改變A列印出的值嘛?
1 A = "spam" 2 3 B = A 4 5 B = "shrubbery"
不會,A仍會作為“spam”進行列印。當B賦值為字元串"shrubbery"時,所發生的變數B被重新設置為所指向了新的字元串對象。A和B最初共用了同一個字元串對象“spam”,但是在Python中這個連個變數名從未鏈接在一起。因為,設置B為另一個不同的對象對A沒有影響。如果這裡最後的語句變為B = B+"shrubbery",也會發生同樣的事情。另外,合併操作創建了一個新的對象作為其結果,並將這個值只賦值給了B。我們永遠都不會在遠處覆蓋一個字元串(數字或者元組),因為字元串是不可變的。
思考下麵三條語句。它們會改變A的值嘛?
A = ["spam"] B = A B[0] = "shrubbery"
會改變A的值,A現在列印為["shrubbery"],從技術上講,我們既沒有改變A也沒有改變B,我們改變的是這兩個變數共同引用的對象一部分,通過變數B在遠處覆蓋了這個對象的一部分內容。因為A像B一樣引用了同一個對象,這個改變也會對A產生影響。
思考下麵三條語句。它們會改變A的值嘛?
A = ["spam"] B = A[:] B[0] = "shrbbery"
不會,A仍然會列印為['spam']。由於切片會在被覆制給B錢創建一個拷貝,這次對B在原處賦值就不會影響了。在第二個賦值語句後,就有了兩個擁有相同值的不同列表對象了(在Python中,我們說它們是==的,卻不是is的)。第三條複製語句會邊改指向B的列表對象,而不會改變指向A的列表對象。