2014-03-03 56 views
1

我有一個類,機器人,在一個名爲robot.pyPython:類不能從單獨的文件中調用?

我想在我的主要腳本來創建一個機器人實例,像這樣:

在robot.py

class robot(object): 
    def __init__(self,pygame,screen_width,screen_height): 

在main.py:

import pygame, sys, copy 
import mouse 
import robot 
import menu 
import button 
from pygame.locals import * 
... 
size = [1200,900] 
my_robot = robot(pygame,size[0]-400,size[1]-100) 

錯誤:

me:cup-robot Me$ python run.py 
Traceback (most recent call last): 
    File "run.py", line 24, in <module> 
    my_robot = robot(pygame,size[0]-400,size[1]-100) 
TypeError: 'module' object is not callable 

我該怎麼做?

+3

'從機器人導入機器人'? –

+1

#protip:不要將您的班級的名稱與您的方法相同;) – brandonscript

+0

將此作爲答案,我會接受它 –

回答

5

兩個選擇:

import robot然後前綴的所有與機器人:

my_robot = robot.robot(pygame,size[0]-400,size[1]-100) 

from robot import robot,然後你的代碼應該工作。但是,你可以看到你無法區分機器人是模塊還是類,所以你不應該用相同的名字命名類和文件。

5

更改您的import語句:

from robot import robot 

你有robot定義既作爲一個模塊(robot.py),以及一類。您需要從模塊中導入類,以便公開可用。

相關問題