簡體   English   中英

Python AttributeError: 'module' object 沒有屬性 'init'

[英]Python AttributeError: 'module' object has no attribute 'init'

我正在運行一個簡單的 python 文件:

from livewires import games

games.init(screen_width = 640, screen_height = 480, fps = 50)

games.screen.mainloop()

當我在 IDLE 中運行它時,我得到標題中打印的錯誤。 我從書中復制並粘貼了這段代碼。 我處於初學者的早期階段,所以我不太了解。 我相當確定我已經正確安裝了 livewires,因為我已經使用它的模塊運行了其他程序。 (天哪,我知道這可能根本不是正確的術語,抱歉。)我並不是在尋找解決這個問題的方法,(盡管那也很好)我只是希望有人能解釋究竟是什么問題。 我從書中復制了代碼,所以我不明白我做錯了什么。 我也 100% 肯定沒有錯別字。

好吧,四處搜索,似乎這是 livewires 網站: Livewires Home Page可以下載他們的 livewires package。

此外,來自此的一些代碼: 第 11 章看起來像他在這里發布的內容(“披薩恐慌游戲”)。

下載並解壓livewires顯示游戲模塊中確實沒有init function(正如評論已經提到的)。

要么這本書有無效的例子(值得懷疑,因為它解釋了這個例子的深度); 或者livewires package 在本書寫作和現在之間發生了變化(更有可能)。

livewires 網站上有其他示例,我認為您將獲得更大的成功。
我建議你放棄這本書,因為你很可能會繼續遇到這樣的障礙。 谷歌搜索會出現一些其他免費的 python 教程,這些教程更新得更及時,也更容易理解。

此頁面有一些針對初學者的鏈接:初學者指南

可以從本書的配套網站下載與“絕對初學者的 Python 編程”中的代碼一起使用的舊版 livewires:

http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

我剛從同一本書開始,Python Programming Third Ed。 邁克爾道森,遇到了同樣的問題。 自從這本書寫完之后,情況發生了變化。

如果您仍想創建 window,這是我使用的代碼,它可以工作:

from livewires import games

#This is the code M. Dawson has in the book
#games.init(screen_width = 640, screen_height = 480, fps = 50)
#games.screen.mainloop()

my_screen = games.Screen(width = 640, height = 480)
my_screen.mainloop(fps = 50)

屏幕現在被視為要實例化的 object。 in its constructor, now pass that into the method. Screen class 在其構造函數中不再接受 ,現在將該傳遞給方法。 into method, it will default to 50.如果你不將傳遞給方法,它將默認為 50。

我遇到了同樣的問題,然后我從他鏈接到的 slejdops 網站下載了代碼。 聽起來它的創建者對像這樣獲得它的想法持開放態度,因為他們總是用教科書鎖定這些東西。 這使得它既可以又合法。 :)

所以這里是 go。 玩得開心,祝你好運: http://www.delmarlearning.com/companions/content/1435455002/downloads/index.asp?isbn=1435455002

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM