Python 3.3.2でこれを呼び出すことができないモジュールオブジェクトを取得する
from tkinter import *
import tkinter as tk
root = tk()
root.geometry('400x400')
Python 3.3.2でこれを呼び出すことができないモジュールオブジェクトを取得する
from tkinter import *
import tkinter as tk
root = tk()
root.geometry('400x400')
を行う場合import Tkinter as tk
、tk
はモジュールを指します。import Tkinter
これは、Tkinter
モジュールを参照する場合と同じです。の以前の定義tk
は失われます。
後で を実行root = tk()
すると、 という名前のモジュールを呼び出そうとしていますtk
。これがエラーが発生する理由ですTypeError: 'module' object is not callable
-tkinterモジュールを呼び出しています( のため()
)、これはできません。
あなたが犯している間違いは、 tkinter モジュールが という名前のクラスを定義してTk
いることです。呼び出し/インスタンス化するのはこのクラスです。これを行うには、コードを変更します。
import tkinter as tk
root = tk.Tk()
また、同じライブラリの 2 つのインポートを混在させるべきではありません。混在させるimport tkinter as tk
(推奨) かfrom tkinter import *
、両方を行わないでください。
すべてを小文字にするのではなく、Tk
(または)を呼び出したいと確信しています。1 つ目は、行でインポートした名前です。後者は、2 番目の import ステートメントでモジュールをインポートした名前です。tk.Tk
tk
from tkinter import *