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ấpChú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