Một mô-đun được nhập Python bao nhiêu lần?

Một mô-đun là một tệp chứa các định nghĩa và câu lệnh Python. Tên tệp là tên mô-đun có thêm hậu tố

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
6. Các mô-đun cung cấp khả năng sử dụng lại mã. Bằng cách sử dụng các mô-đun, chúng ta có thể nhóm mã liên quan. — tài liệu trăn

Các chủ đề được đề cập trong câu chuyện này

  1. Các cách khác nhau để nhập mô-đun
  • Sử dụng câu lệnh nhập khẩu
  • Sử dụng mệnh đề
  • Sử dụng từ mệnh đề và *

2. Đường dẫn tìm kiếm mô-đun

3. lỗi tăng lên

  • ModuleNotFoundLỗi
  • Lỗi thuộc tính
  • Nhập Lỗi
  • TênLỗi

Các cách khác nhau để nhập mô-đun

  1. Sử dụng câu lệnh nhập khẩu

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
7

Câu lệnh nhập được thực hiện theo hai bước

  1. tìm một mô-đun, tải và khởi tạo nó nếu cần
  2. xác định tên hoặc tên trong không gian tên cục bộ cho phạm vi nơi xuất hiện câu lệnh nhập

Tên mô-đun đã nhập được đặt trong bảng ký hiệu chung của mô-đun nhập. Chỉ tên mô-đun được đặt chứ không phải tên hàm, biến hoặc lớp trong mô-đun. Vì vậy, nếu chúng ta muốn truy cập các hàm hoặc biến từ mô-đun đã nhập, phải thực hiện bằng cách đề cập đến

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
8 -Để truy cập các hàm
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
9 -Để truy cập các biến<

Thí dụ

  • Tôi đã tạo một tập tin “add. py”. Nó chứa các biến
    import add as a
    print (a.a1(4,5))
    #Output:9

    print (a.x)#Output:5
    0,
    import add as a
    print (a.a1(4,5))
    #Output:9

    print (a.x)#Output:5
    1, và hàm
    import add as a
    print (a.a1(4,5))
    #Output:9

    print (a.x)#Output:5
    2
x=5
y=10
def a1(a,b):
return (a+b)
  • Bây giờ, phải nhập mô-đun này vào một tệp khác “calc. py”

Tên mô-đun đã nhập (thêm. py) chỉ được đặt trong (calc. py) bảng ký hiệu toàn cầu

nhập thêm → Nhập khẩu

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
3 và giới hạn
import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
4

Vì vậy, truy cập hàm a1 dưới dạng

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
5

Truy cập các biến như

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
6
import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
7

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10

Đặt tên địa phương

Chúng tôi có thể gán tên cục bộ cho các mô-đun được nhập hoặc

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
8và sử dụng nó trong chương trình

Đặt tên địa phương cho một mô-đun đã nhập như

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
9

nhập thêm dưới dạng → Đã nhập

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
3 và giới hạn là
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
71

Thí dụ

Chúng ta có thể sử dụng tên cục bộ đó để chỉ mô-đun đã nhập trong chương trình này

import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5

Đặt tên địa phương cho modname. fnname thích

b=thêm. a1

Chúng ta có thể sử dụng tên cục bộ đó để truy cập chức năng từ mô-đun đã nhập

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
7

2. Sử dụng mệnh đề

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
72

  1. Đầu tiên, nó sẽ tìm mô-đun được chỉ định trong điều khoản ____173, tải và khởi tạo mô-đun nếu cần
  2. Đối với mỗi số nhận dạng được chỉ định trong mệnh đề
    import add
    print (add.a1(4,5))
    #Output:9

    print (add.x)#Output:5
    print (add.y)#Output:10
    74
    * hãy kiểm tra xem mô-đun đã nhập có thuộc tính theo tên đó không
    * nếu không, hãy thử .
    * if the attribute is not found,
    import add
    print (add.a1(4,5))
    #Output:9

    print (add.x)#Output:5
    print (add.y)#Output:10
    75 is raised.
    * mặt khác, tham chiếu đến giá trị đó được lưu trữ trong không gian tên cục bộ, sử dụng tên trong mệnh đề
    import add
    print (add.a1(4,5))
    #Output:9

    print (add.x)#Output:5
    print (add.y)#Output:10
    76 nếu có, nếu không thì sử dụng tên thuộc tính

Thí dụ

Câu lệnh nhập này nhập tên từ mô-đun trực tiếp vào bảng ký hiệu của mô-đun nhập

Vì vậy, chúng ta có thể truy cập trực tiếp các hàm và biến mà không cần nhắc đến tên mô-đun

from add import a1 ,x→ Imported

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
77 và
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
78 được giới hạn là
import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
2,
import add as a
print (a.a1(4,5))
#Output:9

print (a.x)#Output:5
6 được giới hạn là
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
91

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
9

3. Sử dụng từ mệnh đề và *

Nó sẽ nhập tất cả các tên mà mô-đun xác định. Chúng tôi có thể truy cập trực tiếp tất cả các tên trong mô-đun đã nhập

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
1

Ghi chú. Thao tác này nhập tất cả các tên ngoại trừ những tên bắt đầu bằng dấu gạch dưới (

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
92). Trong hầu hết các trường hợp, các lập trình viên Python không sử dụng tiện ích này vì nó đưa một bộ tên không xác định vào trình thông dịch, có thể ẩn một số thứ bạn đã xác định

Đường dẫn tìm kiếm mô-đun

Khi một mô-đun được nhập lần đầu tiên

  1. Trước tiên, trình thông dịch tìm kiếm một mô-đun tích hợp sẵn
  2. Sau đó, nó sẽ tìm kiếm tệp đó trong danh sách các thư mục được cung cấp bởi biến sys. đường dẫn

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
93 được khởi tạo từ những vị trí này

  1. Thư mục hiện tại (thư mục chứa tập lệnh đầu vào)
  2. PYTHONPATH -Biến môi trường với danh sách các thư mục
  3. Thư mục phụ thuộc cài đặt
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
4

Nó sẽ liệt kê tất cả các đường dẫn tìm kiếm mô-đun

Nếu chúng tôi muốn thêm bất kỳ thư mục nào vào đường dẫn tìm kiếm đó, chúng tôi có thể thêm bằng cách sử dụng

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
94

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
6

Bây giờ, các mô-đun đã nhập cũng sẽ được tìm kiếm trong đường dẫn này. Như thế này, chúng ta cũng có thể nhập các mô-đun từ một thư mục khác

lỗi tăng lên

  1. ModuleNotFoundLỗi
  2. Lỗi thuộc tính
  3. Nhập Lỗi
  4. TênLỗi

1. ModuleNotFoundLỗi

Nếu mô-đun được nhập không tồn tại có nghĩa là nó sẽ tăng

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
95

ví dụ 1

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
8

ví dụ 2

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
9

2. Lỗi thuộc tính

Trong khi truy cập hàm/biến từ mô-đun đã nhập và nếu nó không tồn tại nghĩa là nó sẽ tăng

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
96

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
0

3. Nhập Lỗi

Sử dụng mệnh đề from, khi chúng ta đang nhập, nếu thuộc tính không có nghĩa là nó sẽ tăng

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
75

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
1

4. TênLỗi

Nếu chúng ta sử dụng câu lệnh nhập và nếu chúng ta truy cập trực tiếp vào tên hàm và tên biến, nó sẽ tăng

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
98

Chúng ta nên truy cập như

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
9

ví dụ 1

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
2

ví dụ 2

Nếu chúng tôi tạo một tên cục bộ cho các mô-đun, thì chúng tôi chỉ phải sử dụng tên cục bộ đó để chỉ mô-đun đã nhập đó. Nếu không, nó sẽ tăng NameError

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
3

ví dụ 3

Nếu chúng ta nhập mệnh đề using from, nó sẽ nhập tên từ mô-đun trực tiếp vào bảng ký hiệu của mô-đun nhập. Vì vậy, chúng ta có thể truy cập trực tiếp vào tên hàm/tên biến được đề cập trong câu lệnh nhập

Nếu chúng ta đề cập đến modname. fnname() , nó sẽ tăng NameError

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
4

Phần kết luận

Câu lệnh nhập sẽ tìm các mô-đun trong đường dẫn được đề cập bởi

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
93. Nếu chúng tôi muốn nhập từ bất kỳ đường dẫn nào khác, hãy đưa đường dẫn đó vào sys. đường dẫn bằng cách sử dụng lệnh
import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
94

import add
print (add.a1(4,5))
#Output:9

print (add.x)#Output:5
print (add.y)#Output:10
5

Tài nguyên (Tài liệu Python)

mô-đun

báo cáo nhập khẩu

Đọc thêm

Nhập gói bằng Python

Khám phá các cách khác nhau để nhập các gói trong python

trung bình. com

Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter

Python có nhập mô-đun hai lần không?

Mô-đun chỉ được tải khi câu lệnh nhập lần đầu tiên được thực thi và không làm giảm hiệu suất khi nhập lại mô-đun

Một mô-đun được tải bao nhiêu lần khi được nhập nhiều lần bằng Python?

Bất kể mô-đun gia tăng được nhập bao nhiêu lần, câu lệnh counter++ chỉ được thực thi một lần

Bạn có thể nhập mô-đun bao nhiêu lần trong phiên hiện tại?

Vì lý do hiệu quả, mỗi mô-đun chỉ được nhập một lần cho mỗi phiên phiên dịch . Do đó, nếu bạn thay đổi các mô-đun của mình, bạn phải khởi động lại trình thông dịch – hoặc, nếu đó chỉ là một mô-đun mà bạn muốn kiểm tra tương tác, hãy sử dụng importlib. tải lại (), e. g. nhập importlib; . tải lại (tên mô-đun).

Có bao nhiêu cách một mô-đun có thể được nhập?

Các 4 cách nhập mô-đun . pycon nhập ngẫu nhiên. Nhập những thứ cụ thể từ mô-đun. pycon từ lựa chọn nhập ngẫu nhiên, randint. Nhập toàn bộ mô-đun và đổi tên nó, thường sử dụng tên biến ngắn hơn. pycon nhập gấu trúc dưới dạng pd.