Tôi chỉ "nghĩ" Tôi hiểu cách nhập và mô-đun hoạt động nhưng rõ ràng là tôi cần học thêm.Cách nhập công trình. Tại sao các mô-đun được nhập không kế thừa các mô-đun đã nhập khác
Dưới đây là một chương trình ví dụ (chỉ là một trường hợp thử nghiệm của somerthing tôi đang làm đó là lớn hơn nhiều trong phạm vi và quy mô) và một mô-đun:
quick.py
import gtk
from quick_window import *
w.show_all()
gtk.main()
quick_window.py
w = gtk.Window()
w.connect('destroy', lambda w: gtk.main_quit())
l=gtk.Label('Hello')
w.add(l)
chạy tôi nhận được
$ python quick.py
Traceback (most recent call last):
File "quick.py", line 2, in <module>
from quick_window import *
File "/home/woodnt/Dropbox/python/weather_project/plugins/quick_window.py", line 3, in <module>
w = gtk.Window()
NameError: name 'gtk' is not defined
Để có được nó để làm việc, tôi còn phải nhập khẩu (er, tái nhập khẩu) gtk trong module như vậy:
import gtk
w = gtk.Window()
w.connect('destroy', lambda w: gtk.main_quit())
l=gtk.Label('Hello')
w.add(l)
Tại sao tôi nên phải nhập khẩu gtk nhiều hơn một lần? Điều đó có nghĩa là tôi có 2 "gtk" trong bộ nhớ?
Tôi có phải nhập mọi thứ trong mỗi mô-đun mà tôi cần trong mô-đun đó không?
Tôi biết từng mô-đun có không gian tên riêng của nó, nhưng tôi nghĩ nó cũng được thừa hưởng "tổng số" bao gồm mô đun được nhập từ chương trình gọi.
Tôi đã bị ấn tượng bởi việc nhập mô-đun * giống như cắt và dán mã ngay vào vị trí đó. Có cách nào khác để làm điều đó không?
Trợ giúp được đánh giá cao.
Narnie
Ít nhất vì bạn không phải viết mô-đun theo giả định rằng mô-đun nhập cũng đã nhập một mô-đun cụ thể. – delnan