Trong Python, bạn có thể nhập thư viện chuẩn, các gói được cài đặt bằng pip, các gói của riêng bạn, v.v. bằng câu lệnh
# NG
import os, sys
# OK
import os
import sys
4- 5. Hệ thống nhập — Python 3. 10. 0 tài liệu
Bài viết này mô tả các nội dung sau
- Các mô-đun, gói và thư viện trong Python
- Cách sử dụng cơ bản của
4# NG import os, sys # OK import os import sys
- Cách viết
4 theo khuyến nghị trong PEP8# NG import os, sys # OK import os import sys
- Nhập hàm, biến, lớp, v.v.
7# NG import os, sys # OK import os import sys
- Nhập bằng bí danh.
8# NG import os, sys # OK import os import sys
- Nhập khẩu từ các gói
- Các lỗi thường gặp liên quan đến nhập khẩu
9# NG import os, sys # OK import os import sys
0from math import pi, radians
Xem bài viết sau để biết đường dẫn tìm kiếm module
- Kiểm tra và thêm đường dẫn tìm kiếm mô-đun với sys. đường dẫn trong Python
Liên kết được tài trợ
Các mô-đun, gói và thư viện trong Python
mô-đun
Trong Python, một mô-đun là một tệp xác định các hàm, lớp, v.v.
- 6. Mô-đun — Python 3. 10. 0 tài liệu
gói
Thư mục chứa các mô-đun và
from math import pi, radians
1 được gọi là "gói thông thường". from math import pi, radians
1 có thể là một tệp trốngTrong Trăn 3. 3 trở lên, các thư mục không chứa
from math import pi, radians
1 có thể được nhập dưới dạng gói. Các gói như vậy được gọi là "gói không gian tên"thư viện
Mặc dù không được xác định nghiêm ngặt, các gói và mô-đun đôi khi được gọi là thư viện
Cách sử dụng cơ bản của # NG
import os, sys
# OK
import os
import sys
4
# NG
import os, sys
# OK
import os
import sys
Ví dụ: nhập mô-đun toán học
- toán học — Hàm toán học — Python 3. 10. 0 tài liệu
Với
from math import pi, radians
5, một mô-đun được nhập dưới dạng một đối tượng thuộc loại from math import pi, radians
6. Bạn có thể kiểm tra tệp nào được nhập với ____6_______7import math
print[type[math]]
#
print[math]
#
nguồn.
Bạn có thể sử dụng các hàm và biến được xác định trong mô-đun với
from math import pi, radians
8, from math import pi, radians
9,print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
nguồn.
Nếu bạn muốn sử dụng trực tiếp các hàm hoặc biến của một mô-đun, hãy sử dụng
import math
import os
import sys
import Requests
import my_package1
import my_package2
0 được mô tả bên dưới. Lưu ý rằng import math
import os
import sys
import Requests
import my_package1
import my_package2
1 gây ra lỗiCách viết # NG
import os, sys
# OK
import os
import sys
4 theo khuyến nghị trong PEP8
# NG
import os, sys
# OK
import os
import sys
PEP8, hướng dẫn phong cách Python, mô tả cách viết câu lệnh
# NG
import os, sys
# OK
import os
import sys
4Lưu ý đây chỉ là style guide nên sẽ không có lỗi dù bạn không viết theo cách này
Nhập nhiều mô-đun
Bạn có thể viết nhiều mô-đun được phân tách bằng dấu phẩy sau câu lệnh
# NG
import os, sys
# OK
import os
import sys
4, nhưng điều này không được khuyến nghị trong PEP8. Nhập khẩu thường phải trên các dòng riêng biệt# NG
import os, sys
# OK
import os
import sys
nguồn.
Nếu bạn sử dụng
import math
import os
import sys
import Requests
import my_package1
import my_package2
0 để nhập hàm, biến, lớp, v.v. , như được giải thích tiếp theo, bạn có thể tách chúng bằng dấu phẩyfrom math import pi, radians
nguồn.
Thứ tự các mô-đun
Các mô-đun nên được nhóm và nhập theo thứ tự sau, tùy thuộc vào loại của chúng. Tách mỗi nhóm bằng một dòng trống
- Thư viện tiêu chuẩn
- Thư viện bên thứ ba
- thư viện địa phương
Mặc dù nó không được viết bằng PEP8, nhưng mỗi mô-đun trong một nhóm thường được sắp xếp theo thứ tự bảng chữ cái
import math
import os
import sys
import Requests
import my_package1
import my_package2
nguồn.
Nhập hàm, biến, lớp, v.v. # NG
import os, sys
# OK
import os
import sys
7
# NG
import os, sys
# OK
import os
import sys
Bạn có thể chỉ định và nhập các hàm, biến, lớp, v.v. được xác định trong mô-đun với
# NG
import os, sys
# OK
import os
import sys
7Chỉ nhập một mặt hàng
Bạn có thể nhập các chức năng, v.v. với
import math
import os
import sys
import Requests
import my_package1
import my_package2
8Các mặt hàng nhập khẩu có thể được sử dụng trực tiếp với
import math
import os
import sys
import Requests
import my_package1
import my_package2
9. Bản thân mô-đun không được nhập. Lỗi from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
0 xuất hiện khi bạn cố gắng sử dụng các mục khácfrom math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
nguồn.
Nhập nhiều mặt hàng cùng lúc
Bạn có thể nhập nhiều hàm, biến, v.v. từ cùng một mô-đun cùng một lúc bằng cách viết chúng được phân tách bằng dấu phẩy
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
nguồn.
Nếu một dòng quá dài, bạn có thể sử dụng dấu ngoặc đơn
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
1 để ngắt dòngfrom math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
nguồn.
Nhập tất cả các mặt hàng có from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
2 [không nên dùng]
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
Với
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
2, tất cả các hàm, biến, v.v. được xác định trong mô-đun được nhậpfrom math import *
print[pi]
# 3.141592653589793
print[cos[0]]
# 1.0
print[sin[0]]
nguồn.
Nếu
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
4 được xác định trong một mô-đun, chỉ những tên trong from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
4 được nhậpLưu ý rằng việc nhập bằng cách sử dụng
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
2 không được khuyến nghị trong PEP8 vì không rõ tên nào tồn tại trong không gian tên nàoLiên kết được tài trợ
Nhập bằng bí danh. # NG
import os, sys
# OK
import os
import sys
8
# NG
import os, sys
# OK
import os
import sys
Bạn có thể sử dụng
from math import pi
print[pi]
# 3.141592653589793
# print[math.radians[180]]
# NameError: name 'math' is not defined
8 để nhập bằng bí danh. Nếu một bí danh được đưa ra, tên gốc không thể được sử dụngVí dụ về đặt bí danh cho một mô-đun
import math as m
print[m.pi]
# 3.141592653589793
# print[math.pi]
# NameError: name 'math' is not defined
nguồn.
Ví dụ đặt bí danh cho biến
print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
0nguồn.
Một số thư viện, chẳng hạn như NumPy và pandas, thường được nhập với tên viết tắt
print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
1Nhập khẩu từ các gói
Khi bạn nhập các mô-đun từ một gói, bạn cần cẩn thận về cách nhập chúng, tùy thuộc vào cấu trúc của chúng và
from math import pi, radians
1Về cơ bản, tài liệu cho bạn biết cách nhập tệp, vì vậy chỉ cần làm theo hướng dẫn. Dưới đây là các ví dụ để giải thích rằng có nhiều mẫu khác nhau
urllib
Ví dụ: nhập các mô-đun và lớp từ thư viện chuẩn, urllib
- urllib — Mô-đun xử lý URL — Python 3. 10. 0 tài liệu
- cpython/Lib/urllib tại master · python/cpython
Các tệp [mô-đun] được lưu trữ trong thư mục
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
0 như sau. from math import pi, radians
1 trốngprint[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
2Nếu bạn viết
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
2, bạn không thể sử dụng các mô-đun bên dưới nó. Ví dụ: from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
3 gây ra lỗi from math import pi, radians
0print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
3nguồn.
Bạn cần nhập các mô-đun có
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
5print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
4nguồn.
Bạn cũng có thể viết
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
6print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
5nguồn.
Cũng có thể chỉ định một lớp được định nghĩa trong mô-đun và nhập nó
print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
6nguồn.
Lưu ý rằng nếu mã khởi tạo không được viết bằng
from math import pi, radians
1 như thế này, bạn cần nhập mô-đun bên dưới nóNếu bạn đang sử dụng IPython/Jupyter Notebook, bạn có thể sử dụng
from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
8 chỉ bằng cách nhập from math import pi, radians
print[pi]
# 3.141592653589793
print[radians[180]]
# 3.141592653589793
0. Hành vi này là do quá trình khởi động IPython gây ra- nhập urllib. phân tích cú pháp không thành công khi Python chạy từ dòng lệnh
bộ sưu tập
Như một ví dụ khác, giới thiệu các bộ sưu tập
- bộ sưu tập — Kiểu dữ liệu vùng chứa — Python 3. 10. 0 tài liệu
Thư mục
from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
0 bao gồm các phần sauprint[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
7Trong các bộ sưu tập, các lớp như
from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
1 và from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
2 được định nghĩa trong from math import pi, radians
1 thay vì lưu trữ các tệp mô-đun như urllib- cpython/Lib/bộ sưu tập tại master · python/cpython
Trong trường hợp này, khi bạn nhập một gói, bạn có thể sử dụng lớp là
from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
4print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
8nguồn.
Bạn không thể nhập các lớp có
from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
4print[math.radians[180]]
# 3.141592653589793
print[type[math.radians]]
#
print[math.pi]
# 3.141592653589793
print[type[math.pi]]
#
9nguồn.
Bạn có thể nhập các lớp học với
import math
import os
import sys
import Requests
import my_package1
import my_package2
0# NG
import os, sys
# OK
import os
import sys
0nguồn.
NumPy
Ví dụ về thư viện bên thứ ba, NumPy
Trong NumPy, mỗi gói phụ được nhập vào
from math import pi, radians
1 trong thư mục from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
8- numpy / numpy. Kho lưu trữ chính Numpy
Bạn không cần nhập từng mô-đun. Chỉ cần viết
from math import [
e,
exp
]
print[e]
# 2.718281828459045
print[exp[1]]
# 2.718281828459045
9 để sử dụng các chức năng khác nhauscikit-học
Trường hợp của scikit-learning thì khác
scikit-learning không nhập các gói con trong
from math import pi, radians
1 trong thư mục from math import *
print[pi]
# 3.141592653589793
print[cos[0]]
# 1.0
print[sin[0]]
1- scikit-learning/scikit-learning. scikit-học. máy học trong Python
Bạn cần nhập các gói con một cách rõ ràng, như sau
# NG
import os, sys
# OK
import os
import sys
1nguồn.
Các lỗi thường gặp liên quan đến nhập khẩu
# NG
import os, sys
# OK
import os
import sys
9
# NG
import os, sys
# OK
import os
import sys
Lỗi không tìm thấy mô-đun
# NG
import os, sys
# OK
import os
import sys
2Tên của mô-đun hoặc đường dẫn tìm kiếm mô-đun có thể sai
- Kiểm tra và thêm đường dẫn tìm kiếm mô-đun với sys. đường dẫn trong Python
Như thể hiện trong ví dụ về các bộ sưu tập ở trên,
# NG
import os, sys
# OK
import os
import sys
9 cũng được nâng lên khi bạn cố gắng nhập một lớp thay vì một mô-đun. Sử dụng import math
import os
import sys
import Requests
import my_package1
import my_package2
0 để nhập một hàm hoặc một lớpfrom math import pi, radians
0
from math import pi, radians
Lỗi mô-đun đã nhập không có thuộc tính được chỉ định
# NG
import os, sys
# OK
import os
import sys
3Có thể là không nhập đúng tệp
Ví dụ: khi bạn viết
from math import pi, radians
5, ưu tiên hàng đầu để tìm kiếm mô-đun là cùng thư mục với tệp tập lệnh được thực thi, vì vậy nếu có một tệp có tên from math import *
print[pi]
# 3.141592653589793
print[cos[0]]
# 1.0
print[sin[0]]
7 trong thư mục, thì tệp đó sẽ được nhập- Kiểm tra và thêm đường dẫn tìm kiếm mô-đun với sys. đường dẫn trong Python
Sử dụng
from math import *
print[pi]
# 3.141592653589793
print[cos[0]]
# 1.0
print[sin[0]]
8 để kiểm tra xem tệp có được nhập từ vị trí dự kiến hay không và nếu không, hãy đổi tên hoặc di chuyển tệp