cuốn sách gpt4 ai đã làm

python - 'import x' vs "' from x import y' and 'import x.y' "

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 00:52:34 33 4
mua khóa gpt4 Nike

我试过了

từ yêu cầu nhập urllib 
của tôi = request.Request()

nhập urllib.request
của tôi = urllib.request.Request()

Tất cả đều hoạt động tốt. Nhưng

nhập urllib
của tôi = urllib.request.Request()

Đưa cho tôi

AttributionError: đối tượng 'mô-đun' không có thuộc tính 'yêu cầu' 

Xem xét yêu cầu là một thuộc tính của urllib, nó cũng có hoạt động không? Nếu không, tại sao tuyên bố trước đó lại hợp lệ? Tôi đang sử dụng trăn 3.4.3.

câu trả lời hay nhất

Khi Python nhập một gói, nó không nhập tất cả nội dung của gói - nó nhập nội dung của gói đó __init__.py Nội dung của tập tin. (Hoặc ít nhất thì có vẻ như vậy.)

Tôi vừa thực hiện một số thử nghiệm với nó và tôi thấy như sau:

>>> nhập urllib
>>> thư mục(urllib)
['__buildins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']

如您所见,hỏi,sai lầm,解析,phản ứngtrình phân tích cú pháp robot Không tồn tại. nó chỉ được nhập khẩu __init__.py tài liệu.

Vì vậy, để thử nghiệm thêm, tôi đã xem xét tkinter.

Đây là thư mục tkinter: Thư mục của tkinter

Vì vậy, để xác minh rằng ban đầu chỉ __init__.py Lý thuyết có thể truy cập được, đây là một số lệnh liên quan đến tkinter:

>>> nhập tkinter
>>> tkinter.font
Traceback (most recent call last):
File "", line 1, in
AttributionError: mô-đun 'tkinter' không có thuộc tính 'phông chữ'
>>> tkinter.test
Traceback (most recent call last):
File "", line 1, in
AttributionError: mô-đun 'tkinter' không có thuộc tính 'test'
>>> tkinter.test.support
Traceback (most recent call last):
File "", line 1, in
AttributionError: mô-đun 'tkinter' không có thuộc tính 'test'
>>> thư mục(tkinter)
['HOẠT ĐỘNG', 'TẤT CẢ', 'ANCHOR', 'ARC', 'BASELINE', 'BEVEL', 'CÁI', 'DƯỚI', 'DUYỆT', 'NHƯNG', 'BaseWidget', 'BitmapImage', ' BooleanVar', 'Nút', 'CASCADE', 'TRUNG TÂM', 'CHAR', 'CHECKBUTTON', 'HỢP ĐỒNG', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'DISABLED', 'DOTBOX', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED ', 'Mục nhập', 'Sự kiện', 'FALSE', 'ĐẦU TIÊN', 'PHẲNG', 'Khung', 'GROOVE', 'Lưới', 'ẨN', 'NGANG', 'CHÈN', 'BÊN TRONG', 'Hình ảnh', 'IntVar', 'LAST', 'TRÁI', 'Nhãn', 'LabelFrame', 'Hộp danh sách', 'MITER ', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'Misc', 'N', 'NE', 'KHÔNG', 'KHÔNG', 'BÌNH THƯỜNG', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'TẮT', 'BẬT', 'BÊN NGOÀI', 'Menu tùy chọn', 'TRANG ', 'PIESLICE', 'PROJECTING', 'Gói', 'PanedWindow', 'PhotoImage', 'Địa điểm', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR ', 'ĐƠN', 'RẮN', 'CHẬM', 'SW', 'Tỷ lệ', 'Thanh cuộn', 'Hộp quay', 'StringVar', 'TOP', 'TRUE', 'Tcl', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'UNDERLINE', 'UNITS', 'VERTICAL ', 'Biến', 'W', 'WORD', ' CÓ THỂ VIẾT', 'Widget', 'Wm', 'X', 'XView', 'Y', 'CÓ', 'YView', '__buildins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_cnfmerge ', '_default_root', '_exit', '_flatten', '_join', '_magic_re', '_setit', '_space_re', '_splitdict', '_stringify', '_support_default_root', '_test', '_tkerror', '_tkinter', '_varnum', 'hằng số', 'getboolean', 'getdouble', 'getint ', 'image_names', 'image_types', 'mainloop', 're', 'sys', 'muốn đối tượng']

nhận thấy thư mục đáp lại vòng lặp chính, tôi đã kiểm tra __init__.py - Chắc chắn rồi,vòng lặp chính()Xác định ở đó.

Vì vậy, để trả lời câu hỏi của bạn, Python chỉ hoạt động khi bạn thực hiện nhập urllib tải khi urllib của __init__.py tập tin - thay vì request.py.

biên tập: Như một điểm khác, trong thư mục(tkinter) , một số biến được định nghĩa trong tkinter.constants trong, thay vì __init__.py. Điều này là do trong tkinter của __init__.py , nó sử dụng từ nhập tkinter.constants * Đã nhập tkinter.constants .

Về python - 'import x' vs "' from x import y' và 'import xy' ", chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36532334/

33 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress