python創建模塊
Ⅰ python該怎麼入門
Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。
易學:Python極其容易上手,因為Python有極其簡單的說明文檔 [9] 。
易讀、易維護:風格清晰劃一、強制縮進
用途廣泛
速度快:Python 的底層是用 C 語言寫的,很多標准庫和第三方庫也都是用 C 寫的,運行速度非常快。 [7]
免費、開源:Python是FLOSS(自由/開放源碼軟體)之一。使用者可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS是基於一個團體分享知識的概念。
高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。
可移植性:由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。這些平台包括linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。
解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。
運行程序的時候,連接/轉載器軟體把你的程序從硬碟復制到內存中並且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行 程序。
Ⅱ VS中創建的python項目需要建立多個.py的模塊要怎麼建立就是pythonapplication.py
python的項目沒有項目這個組織,它就是由若干個py文件組成,只是其中一個或多個py文件作為入口。
直接創建py文件就可以了。和項目的關聯,體現在程序的包/模塊的引用上。
Ⅲ python(pandas模塊)
1.什麼是pandas? numpy模塊和pandas模塊都是用於處理數據的模塊。 numpy主要用於針對數組進行統計計算,處理數字數據比較方便。 pandas除了可以處理數字數據,還可...
Ⅳ python3怎麼自己創建一個模塊並且調用(個人
首先創建一個文件a.py,裡面有一個類A
[python]viewplain
#coding:gbk
#創建一個包含方法say_a_word的類A
classA(object):
defsay_a_word(self):
print"你好"
然後在創建一個b.py文件,裡面引用模塊a創建一個對象[python]viewplain
#coding:gbk
#引入包a
importa
#用包a中的A類創建一個對象b
b=a.A()
#引用方法say_a_word
b.say_a_word()
說白了就是自己想用的模塊名A裡面有個類a保存好
如果想用這個模塊的時候重新創建一個python文件假設命名為B
調用則可以
fromAimporta
就可以用了
Ⅳ python中,如果自己寫的模塊與系統模塊重名,該怎麼調用系統的模塊
sys.path是一個list,存放了當前所有import搜索的路徑。
絕大多數情況下,首個元素是"",即空串,也就是說,當你import re的時候,首先搜索的是"re",這時候就會直接在當前目錄搜索到re。如下圖:
解決方法也有不止一個:
1,在當前目錄創建一個子文件夾,例如mine,在mine里放一個__init__.py,不用有代碼,空文件即可。使用的時候:import mine.re
2,在sys.path上做手腳,把第一個空串挪到最後面去:
import sys
sys.path = sys.path[1:]
sys.path.append("")
這樣當前目錄會跑到最後面去,從而達到最後搜索的目的。
不過這很可能有副作用,即你創建的模塊,不能和前面搜索路徑里的任何文件重名,否則會無法import你的模塊。
這也是為什麼默認把當前路徑放在最前搜索的原因,因為是用戶自己寫的,顯然優先順序最高。
盡管就你的問題作出分析和提出一些可能的解決辦法,但是嚴重不建議在實際工程起和系統模塊重名的文件名,這是自找麻煩。
當然,研究探討它的實現原理,始終是值得肯定的。
最後強調一下,當你在當前文件夾創建了一個sys.py時,方法2不好用!
Ⅵ 使用 Python 和 Pygame 模塊構建一個游戲框架
在我的 這系列的第一篇文章 中, 我已經講解如何使用 Python 創建一個簡單的、基於文本的骰子 游戲 。這次,我將展示如何使用 Python 模塊 Pygame 來創建一個圖形化 游戲 。它將需要幾篇文章才能來得到一個確實做成一些東西的 游戲 ,但是到這系列的結尾,你將更好地理解如何查找和學習新的 Python 模塊和如何從其基礎上構建一個應用程序。
在開始前,你必須安裝 Pygame 。
有幾種方法來安裝 Python 模塊,但是最通用的兩個是:
兩個方法都工作的很好,並且每一個都有它自己的一套優勢。如果你是在 Linux 或 BSD 上開發,可以利用你的發行版的軟體存儲庫來自動和及時地更新。
然而,使用 Python 的內置軟體包管理器可以給予你控制更新模塊時間的能力。而且,它不是特定於操作系統的,這意味著,即使當你不是在你常用的開發機器上時,你也可以使用它。pip 的其它的優勢是允許本地安裝模塊,如果你沒有正在使用的計算機的管理許可權,這是有用的。
如果 Python 和 Python3 都安裝在你的系統上,你想使用的命令很可能是 pip3,它用來區分 Python 2.x 的 pip 的命令。如果你不確定,先嘗試 pip3。
pip 命令有些像大多數 Linux 軟體包管理器一樣工作。你可以使用 search 搜索 Python 模塊,然後使用 install 安裝它們。如果你沒有你正在使用的計算機的管理許可權來安裝軟體,你可以使用 --user 選項來僅僅安裝模塊到你的家目錄。
Pygame 是一個 Python 模塊,這意味著它僅僅是一套可以使用在你的 Python 程序中的庫。換句話說,它不是一個像 IDLE 或 Ninja-IDE 一樣可以讓你啟動的程序。
一個電子 游戲 需要一個背景設定:故事發生的地點。在 Python 中,有兩種不同的方法來創建你的故事背景:
你的背景僅是一張圖片或一種顏色。你的電子 游戲 人物不能與在背景中的東西相互作用,因此,不要在後面放置一些太重要的東西。它僅僅是設置裝飾。
要開始一個新的 Pygame 工程,先在計算機上創建一個文件夾。 游戲 的全部文件被放在這個目錄中。在你的工程文件夾內部保持所需要的所有的文件來運行 游戲 是極其重要的。
一個 Python 腳本以文件類型、你的姓名,和你想使用的許可證開始。使用一個開放源碼許可證,以便你的朋友可以改善你的 游戲 並與你一起分享他們的更改:
然後,你告訴 Python 你想使用的模塊。一些模塊是常見的 Python 庫,當然,你想包括一個你剛剛安裝的 Pygame 模塊。
由於你將用這個腳本文件做很多工作,在文件中分成段落是有幫助的,以便你知道在哪裡放代碼。你可以使用塊注釋來做這些,這些注釋僅在看你的源文件代碼時是可見的。在你的代碼中創建三個塊。
接下來,為你的 游戲 設置窗口大小。注意,不是每一個人都有大計算機屏幕,所以,最好使用一個適合大多數人的計算機的屏幕大小。
這里有一個方法來切換全屏模式,很多現代電子 游戲 都會這樣做,但是,由於你剛剛開始,簡單起見僅設置一個大小即可。
在腳本中使用 Pygame 引擎前,你需要一些基本的設置。你必須設置幀頻,啟動它的內部時鍾,然後開始 (init)Pygame 。
現在你可以設置你的背景。
在你繼續前,打開一個圖形應用程序,為你的 游戲 世界創建一個背景。在你的工程目錄中的 images 文件夾內部保存它為 stage.png 。
這里有一些你可以使用的自由圖形應用程序。
你的圖像不必很復雜,你可以以後回去更改它。一旦有了它,在你文件的 Setup 部分添加這些代碼:
如果你僅僅用一種顏色來填充你的 游戲 的背景,你需要做的就是:
你也必須定義顏色以使用。在你的 Setup 部分,使用紅、綠、藍 (RGB) 的值來創建一些顏色的定義。
至此,你理論上可以啟動你的 游戲 了。問題是,它可能僅持續了一毫秒。
為證明這一點,保存你的文件為 your-name_game.py(用你真實的名稱替換 your-name)。然後啟動你的 游戲 。
如果你正在使用 IDLE,通過選擇來自 「Run」 菜單的 「Run Mole」 來運行你的 游戲 。
如果你正在使用 Ninja,在左側按鈕條中單擊 「Run file」 按鈕。
你也可以直接從一個 Unix 終端或一個 Windows 命令提示符中運行一個 Python 腳本。
如果你正在使用 Windows,使用這命令:
啟動它,不過不要期望很多,因為你的 游戲 現在僅僅持續幾毫秒。你可以在下一部分中修復它。
除非另有說明,一個 Python 腳本運行一次並僅一次。近來計算機的運行速度是非常快的,所以你的 Python 腳本運行時間會少於 1 秒鍾。
為強制你的 游戲 來處於足夠長的打開和活躍狀態來讓人看到它(更不要說玩它),使用一個 while 循環。為使你的 游戲 保存打開,你可以設置一個變數為一些值,然後告訴一個 while 循環只要變數保持未更改則一直保存循環。
這經常被稱為一個「主循環」,你可以使用術語 main 作為你的變數。在你的 Setup 部分的任意位置添加代碼:
在主循環期間,使用 Pygame 關鍵字來檢查鍵盤上的按鍵是否已經被按下或釋放。添加這些代碼到你的主循環部分:
也是在你的循環中,刷新你世界的背景。
如果你使用一個圖片作為背景:
如果你使用一種顏色作為背景:
最後,告訴 Pygame 來重新刷新屏幕上的所有內容,並推進 游戲 的內部時鍾。
保存你的文件,再次運行它來查看你曾經創建的最無趣的 游戲 。
退出 游戲 ,在你的鍵盤上按 q 鍵。
在這系列的 下一篇文章 中,我將向你演示,如何加強你當前空空如也的 游戲 世界,所以,繼續學習並創建一些將要使用的圖形!
via: https://opensource.com/article/17/12/game-framework-python
作者: Seth Kenlon 選題: lujun9972 譯者: robsean 校對: wxy
Ⅶ 如何使用和製作 Python 安裝模塊
①先下載好你想要安裝的Python第三方庫(其中有個文件setup.py)
②並將其放置在Python工程目錄下
③打開cmd命令,進入到第三方庫文件夾下執行命令如下:
pyhon setup.py install
Ⅷ Python調用自定義模塊方法有什麼
import語句
自定義模塊可以採用import語句來進行引入,其操作步驟是先導入模塊,再調用模塊中包含的函數,可將自定義模塊放入當前目錄,便於解釋器路徑搜索,以下是導入自定義hello.py模塊,並調用World函數的實例:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#導入模塊
import hello
#現在可以調用模塊里包含的函數了
support.print_func("World")
輸出結果為:
Hello World!
以上實例也可以採用from…import的方法進行實現,是指從一個模塊中導入指定的部分到當前命名空間中,以上功能可寫成:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import World
如果要將模塊中的所有內容全部導入當前命名空間,可採用from…import*的方法,具體實例如下:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import *
還需注意,當要導入一個模塊時,Python解釋器會對模塊的位置進行搜索,具體搜索順序規律如下:
1.當前目錄;
2.如果不在當前目錄,Python則搜索在shell變數PYTHONPATH下的每個目錄;
3.如果都找不到,Python會察看默認路徑。
Ⅸ 如何發布自定義的python模塊
系統環境:window xp sp3,python2.7
在D盤pydemo目錄下創建一個nester目錄(此目錄為舉例說明,屬自定義)
在目錄中添加兩個python程序文件:nester.py和setup.py
nester.py 模塊的程序文件,代碼如下(實現遞歸遍歷數組):
def print_lol(arr):
for row in arr:
if(isinstance(row , list)):
print_lol(row)
else:
print row
setup.py 保存模塊的安裝信息,包含模塊名稱,模塊開發者等信息,代碼如下:
from distutils.core import setup
setup (
name = 'nester',
version = '1.0.1',
py_moles = ['nester'],
author = 'ken.wong',
author_email = '[email protected]',
description = 'Mole demo',
)
注意:
name和py_moles這兩個參數一定要與nester.py文件名相同,否則發布安裝時會發出模塊文件找不到的錯誤
通過命令行,進入nester目錄(D:/pydemo/nester),依次輸入下圖中紅色框的命令
發布模塊,但還不能在程序中被調用,還需要安裝,接著看
See,安裝完成,在python環境下產生一個nester-1.0.1-py2.7.egg-info文件,有點類似php擴展的.dll(windows環境下的)
現在可以在程序中使用剛才安裝的nester模塊
import nester
movies = ['a','b',['c1','c2']]
nester.print_lol(movies)
這里需要注意一個問題,很多新手會這樣調用:
print_lol(movies)
系統會發出這樣的一個錯誤信息:NameError: name 'print_lol' is not defined
原因是當模塊創建以後,系統自動創建一個與模塊名稱相同的命名空間(nester),並將函數放在命名空間中,簡單的通過print_lol調用,自然無法找到函數,正確的方法:
nester.print_lol(movies)
直接把命名空間帶上即可。