- Python游戲編程項目開發實戰
- 李志遠編著
- 1070字
- 2023-08-04 18:42:24
2.4.1 模塊的導入
Python深受廣大開發者喜愛的一個重要原因也是因為其包羅萬象的模塊,大部分領域有對應的模塊供使用,在后續章節的游戲設計中也將涉及相關的模塊,在此以Math模塊的使用為例學習Python導入模塊的幾種方法。
1.import模塊名
在很多情況下需要使用數學函數,例如調用π的值、計算三角函數等,以下語句輸出了π的值,并進行了5的3次方運算,同時進行了輸出,讀者可以嘗試輸入以下代碼,來觀察運行結果,代碼如下:


圖2-9 Math模塊屬性和函數調用結果
程序的第1行導入了Math模塊,第2行通過math.pi調用并得到了π值,第3行調用Math模塊的pow()函數并進行5的3次方運算。
運行上述代碼,可以得到如圖2-9所示的結果。
從上面的例程可知,通過這種方法導入模塊,在使用模塊里的屬性或者函數時,需要采用"模塊名。屬性/函數"的形式。
2.import模塊名as模塊別名
Python里的模塊有的名字很長,如果采用第1種導入方法使用模塊,則在每次調用模塊屬性或者函數時都要輸入很長的模塊名作為前綴,編程時不是很方便。為了解決模塊名字不好輸入的問題,可以采用給模塊起別名的方法來簡化輸出,其語法格式為"import模塊名as模塊別名"。接下來的代碼和第1種方法里代碼的運行結果相同,只是Math采用了一個更好記的名字sx,其具體的代碼如下:

從上述代碼也可以看出,Math模塊有了一個新的名字sx,當使用Math模塊里的屬性和函數時,語法換成了"模塊別名。屬性/函數"。需要注意的是,一旦起了別名,就不能再使用原本的模塊名進行調用,例如在上述的代碼行里添加一行,再運行,看一看結果,代碼如下:

上述代碼運行后,出現的結果如圖2-10所示。

圖2-10 模塊別名方法訪問
從代碼運行結果可知,因為Math模塊已經采用了別名的導入方式,所以Math模塊已經有了新的名字sx,在代碼的最后一行使用模塊名Math進行訪問,程序報錯。模塊名或者別名不能混合調用,這一點還需讀者在編程時特別注意。
3.from模塊名import()函數名/子模塊/屬性
模塊里的代碼有時候會特別長,會提供很多屬性和函數,在實際編程中,往往用不到要導入模塊里的所有屬性和函數,這時就可以采用第3種方法只對用到的內容進行導入。還是以上述代碼為例,在代碼里,共使用了Math模塊的π屬性和pow()函數,接下來的代碼采用第3種方法導入π和pow,代碼如下:

上述代碼的運行結果和前兩種方法得到的結果完全相同,細心的讀者可能已經發現,采用第3種方法調用Math模塊里的pi和pow時,前邊不需要有模塊名作為前綴,這樣就大大地簡化了程序的編碼。需要注意的是,采取這種方法進行導入,因Math模塊的屬性名和函數名已經沒有了模塊名作為前綴,因此不要讓自定義的變量名和Math模塊里的屬性名相同,避免出現程序變量使用錯誤。
- Java程序設計與開發
- Developing Mobile Web ArcGIS Applications
- Hands-On Data Structures and Algorithms with JavaScript
- Learning Informatica PowerCenter 10.x(Second Edition)
- Java Web程序設計
- TypeScript圖形渲染實戰:基于WebGL的3D架構與實現
- MySQL數據庫管理與開發(慕課版)
- 計算機應用基礎案例教程
- Machine Learning for Developers
- Scala編程實戰
- Mastering Android Studio 3
- HTML5移動前端開發基礎與實戰(微課版)
- Apache Solr for Indexing Data
- ASP.NET Core 2 High Performance(Second Edition)
- Android從入門到精通