Python nhập nhiều lớp từ mô-đun

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

Trước tiên, chúng ta hãy tạo một tệp mới, Numsum, 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

# python
import Operations from Numsum

obj = Numsum.Operations[]

Sum = obj.To_sum[4,12]

print["Sum is :",Sum]
0 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

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

# python
import Operations from Numsum

obj = Numsum.Operations[]

Sum = obj.To_sum[4,12]

print["Sum is :",Sum]
0 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]
2. Đ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]
3 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

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

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

2011/10/11 afrotypa :


> Để đơn giản hóa việc nhập các thư viện được triển khai dưới dạng các mô-đun, mỗi
> chứa nhiều lớp trong một gói, tôi muốn có thể có
> . -
>
> 1. Gói P1 trong PYTHONPATH [i. e. một thư mục có tên P1 trong
> đường dẫn python]
> 2. P1 chứa các mô-đun m1. py, m2. py vv.
> 3. Mỗi mô-đun chứa các lớp M1C1, M1C2,v.v. M2C1, M2C2
> trong đó MxCy biểu thị lớp thứ y trong mô-đun thứ x.
> 4. Mỗi lớp triển khai các phương thức công khai đều là từ khóa
>i. e. mỗi lớp là một thư viện RF.
>
> Đây là đường dẫn của các mô-đun m1. py, m2. py và __init__. py mà
> biến P1 thành một gói.
>
>\P1\m1. py
>\P1\m2. py
>\P1\__init__. py
>
> Tôi muốn có thể nhập tất cả các phương thức công khai được xác định trong tất cả các lớp
> chỉ bằng cách nhập .
>
> Chỉ cần xác định một __init__. py trong P1 chứa các dòng sau
> dường như không thực hiện được điều này như tôi nghĩ [không tìm thấy từ khóa nào
> được xác định trong m1 hoặc m2]. -
>
> từ nhập m1 *
> từ nhập m2 *

Điều này nhập các lớp M1C1, M1C2, v.v.

> Sau đó, trong bộ thử nghiệm, để nhập gói P1, tôi đã sử dụng Cài đặt
> của Thư viện
>
> Library  P1

Điều này làm cho mô-đun P1 trở thành một thư viện để tất cả các chức năng trong mô-đun
là từ khóa. Bây giờ từ khóa của bạn nằm trong các lớp đã nhập và do đó
chúng không được coi là từ khóa.

> Có ai biết làm thế nào điều này có thể được thực hiện. ?

Khả năng đơn giản nhất có thể hoạt động là tạo lớp P1
kế thừa tất cả các thư viện thử nghiệm phụ của bạn.

lớp P1[M1C1, M1C2,. ].
vượt qua

Vì thư viện có cùng tên với mô-đun, nên sử dụng `. Thư viện. P1
. ` bây giờ nhập lớp P1 từ mô-đun P1. Ngoài ra, bạn có thể xây dựng
thứ gì đó lạ mắt hơn bằng cách sử dụng API thư viện kết hợp hoặc động
được giải thích trong Hướng dẫn sử dụng.

Chúc mừng bạn!
. peke
--
Người thử nghiệm/Nhà phát triển/Tư vấn Agile. http. // đẳng cấp. fi
Trưởng nhóm phát triển Robot Framework. http. //robotframework. tổ chức

Một mô-đun Python có thể có nhiều lớp không?

Python không chỉ dựa trên lớp - đơn vị phân tách mã cơ bản trong Python là mô-đun. Mô-đun là một thứ riêng biệt có thể có một hoặc hai chục lớp liên quan chặt chẽ . Các mô-đun cũng có thể chứa các chức năng cùng với các lớp.

Một mô-đun có thể có nhiều lớp không?

Vì vậy một mô-đun có thể chứa nhiều lớp . Bất cứ khi nào bạn muốn sử dụng một lớp cụ thể, trước tiên hãy nhập mô-đun tương ứng và sau đó gọi lớp để tạo đối tượng.

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

Vì vậy mỗi mô-đun chỉ được nhập một lần . Để hiểu rõ hơn về cơ chế nhập khẩu, tôi khuyên bạn nên tạo một ví dụ về đồ chơi. Vì vậy, nhập thực sự chỉ xảy ra một lần. Bạn có thể điều chỉnh ví dụ đồ chơi này để kiểm tra các trường hợp mà bạn quan tâm.

Chủ Đề