Sử dụng một lớp trong một con trăn khác

Khi chương trình rất phức tạp, chúng tôi thường chia nó thành các đoạn hoặc mô-đun và được lưu vào nhiều tệp. Điều này làm giảm độ phức tạp và giúp dễ dàng gỡ lỗi hoặc xác định lỗi trong mã. Giả sử bạn muốn sử dụng một lớp trong một tệp khác. Đối với điều này, bạn cần nhập lớp đó vào tệp mà bạn muốn sử dụng nó

Trong hướng dẫn này, chúng ta sẽ thảo luận về một số phương thức được sử dụng để nhập các lớp. Nhập các lớp từ các chương trình khác cho phép chúng tôi sử dụng chúng trong chương trình hiện tại. Do đó, giúp cải thiện khả năng đọc và khả năng sử dụng lại mã. Việc nhập có thể được thực hiện trong cùng một thư mục hoặc từ các thư mục khác nhau

Nếu bạn muốn tìm hiểu thêm về Lập trình python, hãy truy cập Hướng dẫn lập trình Python

Một số cách phổ biến để nhập một lớp từ một tệp khác trong Python được liệt kê bên dưới

  • Nhập một lớp cụ thể bằng cách sử dụng lệnh nhập
  • Nhập nhiều lớp từ một tệp bằng lệnh nhập
  • Nhập tất cả các lớp từ một tệp bằng lệnh nhập *
  • Nhập tất cả các lớp từ một thư mục khác trong thư mục mẹ bằng lệnh Nhập Sys
  • Nhập động một lớp học

Nhập một lớp cụ thể bằng cách sử dụng lệnh nhập

Bạn chỉ cần làm một cái khác. py giống như MyFile. py và đặt tên cho lớp theo ý muốn của bạn. Sau đó, trong tệp chính, chỉ cần nhập lớp bằng dòng lệnh từ MyFile nhập Square

#Code starts here

MyFile.py
class Square:
   def __init__[self,val]:
      self.val=val
   def getVal[self]:
      return self.val*self.val

main.py
from MyFile import Square

newClass = Square[5]
val = newClass.getVal[]

print[val]

#Code ends here

Output:
25

NHẬP NHIỀU LỚP TỪ MỘT TẬP TIN BẰNG LỆNH NHẬP KHẨU

Khi bạn có nhiều lớp trong MyFile. py. Sau đó, thay vì viết lệnh nhập với mọi lớp, bạn chỉ cần nhập tệp chứa các lớp và trong thư mục chính. tệp py sử dụng các lớp này bằng cách tạo các đối tượng tương ứng của chúng

#Code starts here

MyFile.py
class Square:
   def __init__[self,val]:
      self.val=val
   def getVal[self]:
      return self.val*self.val


class Add_Sub:
   def add[self, a, b]:
      return a + b
   def sub[self, a, b]:
      return a - b

main.py
import MyFile
# creating object for Square class
object1 = MyFile.Square[5]
print[f"From class Square: {object1.getVal[]}"]
# creating object for Add_Sub class
object2 = MyFile.Add_Sub[]
print[f"From class Add_Sub: Addition {object2.add[2,3]}"]
print[f"From class Add_Sub: Subtraction {object2.sub[2,3]}"]

#Code ends here

OUTPUT:

From class Square: 25
From class Add_Sub: Addition 5
From class Add_Sub: Subtraction -1

NHẬP Tất cả các lớp từ một tập tin bằng cách sử dụng lệnh nhập *

Ở đây bạn chỉ cần viết dấu hoa thị [*]  với lệnh nhập i. e, nhập *. Lệnh này cho phép truy cập vào tất cả các lớp và bạn không cần phải viết tên của lớp với mọi chức năng. Bạn chỉ cần tạo đối tượng với lớp tương ứng đó

#Code starts here

MyFile.py
class Square:
   def __init__[self,val]:
      self.val=val
   def getVal[self]:
      return self.val*self.val


class Add_Sub:
   def add[self, a, b]:
      return a + b
   def sub[self, a, b]:
      return a - b

main.py
from MyFile import *
# creating object for Square class
object1 = Square[5]
print[f"From class Square: {object1.getVal[]}"]
# creating object for Add_Sub class
object2 = Add_Sub[]
print[f"From class Add_Sub: Addition {object2.add[2,3]}"]
print[f"From class Add_Sub: Addition {object2.sub[2,3]}"]

#Code ends here

Output:

From class Square: 25
From class Add_Sub: Addition 5
From class Add_Sub: Addition -1

NHẬP Tất cả các LỚP TỪ THƯ MỤC KHÁC trong thư mục mẹ SỬ DỤNG LỆNH IMPORT SYS

Ở đây Inner_Project là thư mục chứa tệp của các lớp của chúng tôi. Tệp chính nằm trong một thư mục khác ‘Project2’, đây cũng là thư mục mẹ của Inner_Project. Trước khi nhập, chúng tôi phải bao gồm __init__. py trong Inner_Project sẽ chứa các lớp của chúng ta để báo cho trình thông dịch biết rằng Dự án của chúng ta nằm trong cùng một gói

hệ thống. đường dẫn. chèn[0,“. ”] yêu cầu trình thông dịch tìm từ thư mục mẹ để lấy ra lớp mong muốn

Địa chỉ nhà. Ứng dụng/Inner_Project/MyFile. py

MyFile.py
class Square:
   def __init__[self,val]:
      self.val=val
   def getVal[self]:
      return self.val*self.val


class Add_Sub:
   def add[self, a, b]:
      return a + b
   def sub[self, a, b]:
      return a - b

Địa chỉ nhà. Ứng dụng/Dự án2/chính. py

#Code starts here

main.py
import sys
sys.path.insert[0,".."]
from Inner_Project.MyFile import Square
object = Square[5]
print[object.getVal[]]

#Code ends here

________số 8

NHẬP MỘT LỚP ĐỘNG

Ở đây, lệnh __import__[module_name] được sử dụng để nhập mô-đun hoặc tệp, trong khi lệnh getattr[]  được sử dụng để lấy các thuộc tính của lớp

Bạn có thể sử dụng một lớp trong lớp Python khác không?

Một lớp được định nghĩa trong một lớp khác được gọi là lớp bên trong hoặc lớp lồng nhau . Nếu một đối tượng được tạo bằng cách sử dụng lớp con có nghĩa là lớp bên trong thì đối tượng đó cũng có thể được sử dụng bởi lớp cha hoặc lớp gốc. Một lớp cha có thể có một hoặc nhiều lớp bên trong nhưng thường tránh các lớp bên trong.

Làm thế nào chúng ta có thể sử dụng một phương thức lớp trong một lớp khác?

Để làm được điều đó, đầu tiên, chúng ta cần tạo một đối tượng của “FirstClass” trong phương thức chính của “SecondClass”. Khi một đối tượng của “FirstClass” được tạo, thì chúng ta có thể gọi bất kỳ phương thức hoặc thuộc tính nào của “FirstClass” trong “SecondClass” bằng cách sử dụng đối tượng đó

Làm cách nào để sử dụng các thuộc tính của một lớp trong một lớp khác trong Python?

Cách Pythonic để làm điều này, mà không sử dụng các biến toàn cục, là xác định một thuộc tính trong phương thức __init__ của lớp [biến chúng thành thành viên thể hiện] hoặc trong chính khai báo lớp . cái này gọn gàng. . This is neat.

Chủ Đề