Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

6

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã thực hiện một số nghiên cứu và tôi đã xem qua bài viết sau: http://effbot.org/zone/import-confusion.htm. Trong khi đây dường như là một hướng dẫn tuyệt vời, nó đã được viết vào năm 1999, một thời gian trước. Tôi đang sử dụng Python 3.4.3, vì vậy tôi nghĩ rằng một số điều đã thay đổi, điều đó làm tôi lo lắng, vì tôi không muốn tìm hiểu những gì không áp dụng. Do đó, trong Python 3, tất cả các cách để nhập các gói và mô -đun, một cách chi tiết là gì? Những cách phổ biến nhất và nên được sử dụng trên những cách khác?

Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

Jamil Noyda

2.9162 Huy hiệu vàng21 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges21 silver badges25 bronze badges

Hỏi ngày 28 tháng 8 năm 2015 lúc 4:53Aug 28, 2015 at 4:53

Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

Những cách duy nhất quan trọng đối với việc sử dụng thông thường là ba cách đầu tiên được liệt kê trên trang đó:

  • import module
  • from module import this, that, tother
  • from module import *

Những điều này đã không thay đổi trong Python 3. (Một số chi tiết về nơi Python tìm kiếm tệp module.py để tải module đã được điều chỉnh, nhưng hành vi của chính nhập vẫn hoạt động như được mô tả trên trang bạn đã liên kết.)

Một điều đã được thêm vào, trước Python 3 nhưng kể từ bài báo đó. Đó là nhập khẩu tương đối rõ ràng. Những điều này cho phép bạn làm những việc như

from package import (x, y)
0. Loại nhập khẩu này chỉ có thể được sử dụng từ bên trong một gói; Nó cho phép các mô-đun trong một gói tham khảo các mô-đun khác trong cùng một gói theo cách liên quan đến gói (tức là, mà không phải chỉ định cách nhập gói cấp cao nhất). Bạn có thể đọc các chi tiết trong PEP 328. Tuy nhiên, ngay cả điều này về cơ bản chỉ là một biến thể mới trên cú pháp kiểu
from package import (x, y)
1 được đề cập trên trang bạn đã liên kết.

from package import (x, y)
2 vẫn hoạt động trong Python 3. Đây là một chức năng nội bộ mà bạn chỉ cần sử dụng nếu làm điều gì đó khá bất thường. Điều tương tự áp dụng cho các chức năng khác nhau trong mô -đun
from package import (x, y)
3 (và mô -đun
from package import (x, y)
4 không dùng nữa). Mức độ chính xác của sự phù thủy của các chức năng nhập khẩu này thay đổi từ cái này sang cách khác, nhưng đối với việc sử dụng thông thường "Tôi chỉ muốn nhập mô -đun này và sử dụng nó", về cơ bản bạn không bao giờ cần sử dụng chúng. Chúng chỉ cần nếu bạn muốn làm một cái gì đó như nhập một cách tự động một mô -đun mà tên không được biết đến cho đến khi chạy.

Đã trả lời ngày 28 tháng 8 năm 2015 lúc 5:01Aug 28, 2015 at 5:01

Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

BrenbarnbrenbarnBrenBarn

Phù thủy vàng 234K3535 gold badges397 silver badges375 bronze badges

3

Zen of Python cung cấp cho bạn một số gợi ý:

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Vì vậy, với phương pháp đơn giản, rõ ràng là:

from package import (x, y)
5 module_name và nó bảo tồn các không gian tên, tôi sẽ đề xuất rằng trong khi có một số phương thức nhập như bạn có thể thấy từ mục nhập thủ công Python3 và bạn có thể mở rộng chúng bằng cách ghi đè lên phương thức
from package import (x, y)
6 hoặc bằng cách cuộn tôi Sẽ nói gắn bó với nó cho đến khi bạn có một lý do chính đáng.and it preserves namespaces I would suggest that while there are several import methods as you can see from the python3 manual entry and you can extend them by overriding the
from package import (x, y)
6 method or by rolling your own I would say stick with it until you have a good reason not to.

Thực tế là ____16 được bao quanh bởi các dấu gạch dưới kép cũng là một gợi ý để để nó một mình.

Nếu bạn đang tìm cách hiểu các quyết định thiết kế đằng sau các cơ chế nhập khẩu thì hãy bắt đầu với hướng dẫn sau đó theo dõi PEPS 302 & 420 là điểm khởi đầu tốt.

Đã trả lời ngày 28 tháng 8 năm 2015 lúc 5:11Aug 28, 2015 at 5:11

Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

Steve Barnessteve BarnesSteve Barnes

26.8K6 Huy hiệu vàng60 Huy hiệu bạc70 Huy hiệu đồng6 gold badges60 silver badges70 bronze badges

Tôi nghĩ nhập AS Tuple sẽ tốt hơn nhiều cho khả năng đọc và chiều dài dòng tối đa (PEP8)readability and Maximum Line Length(pep8)

Tuyên bố nhập khẩu có hai vấn đề::

  • Các báo cáo nhập khẩu dài có thể khó viết, yêu cầu các mâu thuẫn khác nhau để phù hợp với các hướng dẫn theo phong cách pythonic.
  • Nhập khẩu có thể mơ hồ khi đối mặt với các gói; Trong một gói, không rõ liệu
    from package import (x, y)
    
    8 có đề cập đến một mô -đun trong gói hay một số mô -đun bên ngoài gói hay không.
  • from package import (x, y)
    
    9 Ngôn ngữ cũng có điều tương tự cho điều đó

Vì vậy, nhiều hơn thích nhập khẩu loại này

from package import (x, y)

Thay vì điều này

from authentication.views import SignupView, LoginView, VerificationView, SignupDetailView

https://legacy.python.org/dev/peps/pep-0328/

Đã trả lời ngày 11 tháng 3 năm 2019 lúc 12:10Mar 11, 2019 at 12:10

Hướng dẫn what are the three ways to import modules in python? - ba cách để nhập mô-đun trong python là gì?

Jamil Noydajamil NoydaJamil Noyda

2.9162 Huy hiệu vàng21 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges21 silver badges25 bronze badges

Hỏi ngày 28 tháng 8 năm 2015 lúc 4:53

  • import module
  • from authentication.views import SignupView, LoginView, VerificationView, SignupDetailView
    
    1
  • from module import *

Những cách duy nhất quan trọng đối với việc sử dụng thông thường là ba cách đầu tiên được liệt kê trên trang đó:readability: Other programmer cannot understand what all are actually used in the current module. Memory overload: All are loaded in to memory. Best practices for using import in a module.

Những điều này đã không thay đổi trong Python 3. (Một số chi tiết về nơi Python tìm kiếm tệp module.py để tải module đã được điều chỉnh, nhưng hành vi của chính nhập vẫn hoạt động như được mô tả trên trang bạn đã liên kết.)Aug 28, 2015 at 12:50

Một điều đã được thêm vào, trước Python 3 nhưng kể từ bài báo đó. Đó là nhập khẩu tương đối rõ ràng. Những điều này cho phép bạn làm những việc như

from package import (x, y)
0. Loại nhập khẩu này chỉ có thể được sử dụng từ bên trong một gói; Nó cho phép các mô-đun trong một gói tham khảo các mô-đun khác trong cùng một gói theo cách liên quan đến gói (tức là, mà không phải chỉ định cách nhập gói cấp cao nhất). Bạn có thể đọc các chi tiết trong PEP 328. Tuy nhiên, ngay cả điều này về cơ bản chỉ là một biến thể mới trên cú pháp kiểu
from package import (x, y)
1 được đề cập trên trang bạn đã liên kết.trishnag

from package import (x, y)
2 vẫn hoạt động trong Python 3. Đây là một chức năng nội bộ mà bạn chỉ cần sử dụng nếu làm điều gì đó khá bất thường. Điều tương tự áp dụng cho các chức năng khác nhau trong mô -đun
from package import (x, y)
3 (và mô -đun
from package import (x, y)
4 không dùng nữa). Mức độ chính xác của sự phù thủy của các chức năng nhập khẩu này thay đổi từ cái này sang cách khác, nhưng đối với việc sử dụng thông thường "Tôi chỉ muốn nhập mô -đun này và sử dụng nó", về cơ bản bạn không bao giờ cần sử dụng chúng. Chúng chỉ cần nếu bạn muốn làm một cái gì đó như nhập một cách tự động một mô -đun mà tên không được biết đến cho đến khi chạy.1 gold badge3 silver badges13 bronze badges

Đã trả lời ngày 28 tháng 8 năm 2015 lúc 5:01init.py file, it can be an empty file).

#mymod1.py
def add_fun(a,b):
    return a+b
def sub_fun(a,b):
    return a-b
def mul_fun(a,b):
    return a*b
def div_fun(a,b):
    return a/b

#mymod2.py
def fun1(...):
    ........
    ........
def fun2(...):
    ........
    ........

Brenbarnbrenbarn

from mypkg.mymod1 import *  #import all the function from mymod1 
add_fun(10, 20)
mul_fun(10, 2)

from mypkg.mymod1 import add_fun,div_fun  #import only needed functions from mymod1 
add_fun(10, 20)
div_mul(10, 2)

from mypkg import mymod1  #import mymod module
mymod1.add_fun(10, 20)
mymod1.mul_fun(10, 2)

import mypkg    #import package and use different models inside it
mypkg.mymod1.add_fun(10, 20)
mypkg.mymod1.mul_fun(10, 2)

Phù thủy vàng 234K35May 31, 2021 at 10:54

Làm thế nào để bạn nhập các mô -đun trong Python?

Nhập các mô -đun để sử dụng các chức năng trong một mô -đun, bạn sẽ cần nhập mô -đun với một câu lệnh nhập. Một câu lệnh nhập được tạo thành từ từ khóa nhập cùng với tên của mô -đun. Trong một tệp Python, điều này sẽ được khai báo ở đầu mã, dưới bất kỳ dòng shebang hoặc bình luận chung nào.import the module with an import statement. An import statement is made up of the import keyword along with the name of the module. In a Python file, this will be declared at the top of the code, under any shebang lines or general comments.

3 mô -đun trong Python là gì?

Các mô-đun tích hợp python in () và input () cho I/O, các hàm chuyển đổi số như int (), float (), phức tạp (), chuyển đổi kiểu dữ liệu như danh sách (), tuple (), set (), vân vân.print() and input() for I/O, Number conversion functions such as int(), float(), complex(), Data type conversions such as list(), tuple(), set(), etc.

Những cách tiếp cận nào bạn sẽ sử dụng để nhập mô -đun trong Python?

Các mô -đun Python có thể nhận được quyền truy cập vào mã từ một mô -đun khác bằng cách nhập tệp/chức năng bằng Nhập.Tuyên bố nhập khẩu là cách phổ biến nhất để gọi máy móc nhập khẩu, nhưng nó không phải là cách duy nhất.importing the file/function using import. The import statement is the most common way of invoking the import machinery, but it is not the only way.

Làm thế nào để bạn nhập Python?

Câu lệnh nhập Python nhập mã từ một mô -đun này sang chương trình khác.Bạn có thể nhập tất cả mã từ một mô -đun bằng cách chỉ định từ khóa nhập theo sau là mô -đun bạn muốn nhập.Nhập báo cáo xuất hiện ở đầu tệp Python, bên dưới bất kỳ bình luận nào có thể tồn tại.specifying the import keyword followed by the module you want to import. import statements appear at the top of a Python file, beneath any comments that may exist.