Python nhập nhiều lớp từ tệp

Chúng tôi thường xuyên gặp phải các tình huống trong lập trình mà chúng tôi phải lặp lại các quy trình cụ thể. Mỗi lần viết mã cho chúng tốn thời gian

Chúng tôi sử dụng khái niệm Lập trình hướng đối tượng (OOP) để tránh các tình huống như vậy, trong đó chúng tôi sử dụng chương trình thường xuyên bất cứ khi nào chúng tôi cần khi làm việc với Python

Bài viết này sẽ trình bày cách nhập một lớp từ một tệp khác trong Python bằng các phương thức khác nhau

OOP trong Python

Lập trình hướng đối tượng (OOPs) là một mô hình lập trình trong Python sử dụng các đối tượng và lớp. Mục tiêu của nó là sử dụng lập trình để tạo ra các khái niệm trong thế giới thực như kế thừa, đa hình và đóng gói

Ý tưởng chính đằng sau OOP là kết hợp dữ liệu và các thuật toán hoạt động với nó thành một đơn vị duy nhất, mặc dù không có phần nào khác của chương trình có thể truy cập dữ liệu đó

Bây giờ, chúng ta hãy xem qua một ví dụ trong đó chúng ta sẽ phát triển một hàm để thực hiện một số thao tác và chúng ta sẽ cố gắng nhập nó từ tệp đó vào tệp mới của mình

Đầu tiên, chúng ta hãy tạo một tệp mới,

# NG
import os, sys

# OK
import os
import sys
8, với một lớp thực hiện một số chức năng như hình bên dưới

# python
class Operations:
    def __init__(self):
        self.sum_ = 0
    def To_sum(self,a,b):
        self.sum_ = a+b
        return self.sum_

Chúng tôi sẽ nhập tệp này vào một tệp khác mà chúng tôi muốn sử dụng lớp và các chức năng của nó. Cả hai tệp phải được đặt trong cùng một thư mục để dễ dàng nhập chúng hơn

Khi chúng tôi đã nhập tệp, chúng tôi sẽ sử dụng lớp

# NG
import os, sys

# OK
import os
import sys
9 và tính tổng của 2 số, như hình dưới đây

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)

đầu ra

import class in python from same directory

Từ ví dụ trên, chúng ta dễ dàng import lớp

# NG
import os, sys

# OK
import os
import sys
9 và sử dụng hàm của nó để tạo tổng 2 số

Nhập nhiều lớp từ một tệp khác trong Python

Bây giờ, chúng ta sẽ xem cách nhập tất cả các lớp từ một tệp khác. Có thể cần phải nhập tất cả các lớp từ các tệp khác

Chúng ta có thể đọc nó bằng lệnh

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
01. Điều này chỉ ra rằng chúng tôi đã nhập tất cả các lớp từ tệp được cung cấp

Chúng tôi sử dụng câu lệnh

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
02 trong tình huống này. Câu lệnh này nhập tất cả các lớp từ tệp, như hình bên dưới

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO

Bây giờ chúng ta sẽ nhập tất cả các lớp từ tệp của mình và sử dụng chúng trong một hàm. Như được hiển thị bên dưới, chúng tôi sử dụng

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
0 thay vì tên lớp để nhập tất cả các lớp từ một tệp

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))

đầu ra

import multiple classes in python from same directory

Nhập lớp từ thư mục khác trong Python

Bây giờ, giả sử chúng ta muốn nhập một lớp từ một tệp nằm trong một thư mục khác. Hãy hiểu nó tốt hơn với một ví dụ

Chúng tôi sẽ sử dụng lớp

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
1 trong Numsum. py, nằm trong một thư mục khác, tôi. e. , Thư mục mới. Chúng ta cũng phải chỉ định đường dẫn của NewFolder

Đối với điều đó, chúng tôi sẽ sử dụng mô-đun

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
2. Hãy nhìn vào đoạn mã dưới đây

# python
import sys

sys.path.insert(1,"##")

from NewFolder.Numsum import Operations

obj = Operations()

print(obj.To_sum(15,16))

đầu ra

import class in python from different directory

Như bạn có thể thấy, chúng ta cũng có thể nhập các lớp từ một tệp được đặt trong một số thư mục khác bằng cách sử dụng mô-đun Python

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
2

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
  • 7. Câu lệnh đơn giản - Câu lệnh 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
    # NG
    import os, sys
    
    # OK
    import os
    import sys
    
    4
  • Cách viết
    # NG
    import os, sys
    
    # OK
    import os
    import sys
    
    4 theo khuyến nghị trong PEP8
  • Nhập hàm, biến, lớp, v.v.
    # NG
    import os, sys
    
    # OK
    import os
    import sys
    
    7
  • Nhập bằng bí danh.
    # NG
    import os, sys
    
    # OK
    import os
    import sys
    
    8
  • 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
    • # NG
      import os, sys
      
      # OK
      import os
      import sys
      
      9
    • # python
      import Operations from Numsum
      
      obj = Numsum.Operations()
      
      Sum = obj.To_sum(4,12)
      
      print("Sum is :",Sum)
      
      50

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à

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 được gọi là "gói thông thường".
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 có thể là một tệp trống

Trong Trăn 3. 3 trở lên, các thư mục không chứa

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 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"

  • 5. Hệ thống nhập - Gói — Python 3. 10. 0 tài liệu

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

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

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
55, một mô-đun được nhập dưới dạng một đối tượng thuộc loại
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
56. Bạn có thể kiểm tra tệp nào được nhập bằng
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
57

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
3

nguồn. nhập khẩu_ví dụ. py

Bạn có thể sử dụng các hàm và biến được xác định trong mô-đun với

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
58,
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
59,

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
6

nguồn. nhập khẩu_ví dụ. py

Nếu bạn muốn sử dụng trực tiếp các hàm hoặc biến của mô-đun, hãy sử dụng

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
70 được mô tả bên dưới. Lưu ý rằng
# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
71 gây ra lỗi

Cách viết # NG import os, sys # OK import os import sys 4 theo khuyến nghị trong PEP8

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
4

  • Nhập khẩu PEP 8 -- Hướng dẫn về Phong cách cho Mã Python. con trăn. tổ chức

Lư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. nhập_example_pep. py

Nếu bạn sử dụng

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
70 để 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ẩy

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
5

nguồn. nhập_example_từ. py

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

  1. Thư viện tiêu chuẩn
  2. Thư viện bên thứ ba
  3. 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

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
7

nguồn. nhập_example_pep. py

Nhập hàm, biến, lớp, v.v. # NG import os, sys # OK import os import sys 7

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
7

Chỉ nhập một mặt hàng

Bạn có thể nhập các chức năng, v.v. với

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
78

Các mặt hàng đã nhập có thể được sử dụng trực tiếp với

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
79. Bản thân mô-đun không được nhập. Lỗi
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
00 xuất hiện khi bạn cố gắng sử dụng các mục khác

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
0

nguồn. nhập_example_từ. py

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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
2

nguồn. nhập_example_từ. py

Nếu một dòng quá dài, bạn có thể sử dụng dấu ngoặc đơn

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
01 để ngắt dòng

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
4

nguồn. nhập_example_từ. py

Nhập tất cả các mục có # python from NumSum import * obj1 = Operations() print(obj1.To_sum(15,16)) obj2 = showData() print(obj2.show_data( "Importing Multiple classes from NumSum")) 02 (không khuyến nghị)

Với

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
02, tất cả các hàm, biến, v.v. được xác định trong mô-đun được nhập

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
7

nguồn. nhập_example_từ. py

Nếu

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
04 được xác định trong một mô-đun, chỉ các tên trong
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
04 được nhập

Lưu ý rằng việc nhập bằng cách sử dụng

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
02 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ào

Liên kết được tài trợ

Nhập bằng bí danh. # NG import os, sys # OK import os import sys 8

Bạn có thể sử dụng

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
08 để 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ụng

Ví dụ về đặt bí danh cho một mô-đun

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
3

nguồn. nhập_example_as. py

Ví dụ đặt bí danh cho biến

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
60

nguồn. nhập_example_as. py

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

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
61

Nhậ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à

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51

Về 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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
20 như sau.
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 trống

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
62

Nếu bạn viết

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
22, bạn không thể sử dụng các mô-đun bên dưới nó. Ví dụ:
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
23 gây ra lỗi
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
50

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
63

nguồn. nhập_example_package_urllib. py

Bạn cần nhập các mô-đun với

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
25

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
64

nguồn. nhập_example_package_urllib. py

Bạn cũng có thể viết

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
26

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
65

nguồn. nhập_example_package_urllib. py

Cũng có thể chỉ định một lớp được định nghĩa trong mô-đun và nhập nó

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
66

nguồn. nhập_example_package_urllib. py

Lưu ý rằng nếu mã khởi tạo không được viết bằng

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
28 chỉ bằng cách nhập
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
20. 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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
40 bao gồm những điều sau đây

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
67

Trong các bộ sưu tập, các lớp như

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
41 và
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
42 được định nghĩa trong
# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 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à

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
44

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
68

nguồn. nhập_example_package_collections. py

Bạn không thể nhập lớp học với

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
44

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
69

nguồn. nhập_example_package_collections. py

Bạn có thể nhập các lớp học với

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
70

# NG
import os, sys

# OK
import os
import sys
0

nguồn. nhập_example_package_collections. py

NumPy

Ví dụ về thư viện bên thứ ba, NumPy

Trong NumPy, mỗi gói phụ được nhập vào

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 trong thư mục
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
48

  • 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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
49 để sử dụng các chức năng khác nhau

scikit-học

Trường hợp của scikit-learning thì khác

scikit-learning không nhập các gói phụ trong

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
51 trong thư mục
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
71

  • 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
1

nguồn. sklearn_iris_svm. py

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

Lỗi không tìm thấy mô-đun

# NG
import os, sys

# OK
import os
import sys
2

Tê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
# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self,a,b):
        self.sum = a + b
        return self.sum

class showData:
    def __init__(self):
        self.DATA= ""
    def show_data(self,INFO):
        self.INFO = INFO
        return self.INFO
70 để nhập một hàm hoặc một lớp

# python import Operations from Numsum obj = Numsum.Operations() Sum = obj.To_sum(4,12) print("Sum is :",Sum) 50

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
3

Có thể là không nhập đúng tệp

Ví dụ: khi bạn viết

# python
import Operations from Numsum

obj = Numsum.Operations()

Sum = obj.To_sum(4,12)

print("Sum is :",Sum)
55, ư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
# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
77 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

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15,16))

obj2 = showData()

print(obj2.show_data( "Importing Multiple classes from NumSum"))
78 để 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

Bạn có thể có nhiều lớp trong một tệp Python không?

Khoa học dữ liệu thực tế sử dụng Python . Quy luật là thế này. một mô-đun là đơn vị tái sử dụng. Mọi thứ trong thư viện Python và các ứng dụng Python khác đều là mô-đun hoặc gói mô-đun. Không có giới hạn về số lượng lớp mà một người có thể đặt trong một tệp hoặc một mô-đun .

Bạn có thể nhập các lớp bằng Python không?

Python cung cấp cho chúng ta nhiều cách khác nhau để chúng ta có thể nhập các lớp và hàm bằng cách sử dụng câu lệnh nhập .

Làm cách nào để nhập lớp từ một tệp Python khác trong cùng thư mục?

Tạo một tệp trống có tên __init__. py trong cùng thư mục với các tệp . Điều đó sẽ biểu thị cho Python rằng "có thể nhập từ thư mục này". Điều tương tự cũng đúng nếu các tệp nằm trong thư mục con - đặt __init__. py trong thư mục con, sau đó sử dụng các câu lệnh nhập thông thường, với ký hiệu dấu chấm.

Chúng tôi có thể nhập nhiều mô-đun bằng Python không?

Nhập nhiều mô-đun . Nhập khẩu thường phải trên các dòng riêng biệt. Nếu bạn sử dụng from để 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ẩy. You can write multiple modules separated by commas after the import statement, but this is not recommended in PEP8. Imports should usually be on separate lines. If you use from to import functions, variables, classes, etc., as explained next, you can separate them with a comma.