Hướng dẫn python pass class variable to another class - python truyền biến lớp cho một lớp khác

Cách truy cập biến từ lớp này sang lớp khác. Hãy nói rằng lớp A có đối số được đưa ra từ dòng lệnh. Tôi muốn truy cập biến của Lớp A cung cấp thông qua dòng lệnh cho một lớp khác nói lớp B. Làm thế nào để truy cập?

class A():
    def __init__(self,var1,var2):
        pass
class B():
    def __call__(self):
        #(here I want to use var1 and var2 from class A)

A(sys.argv[1],sys.argv[2])

Hướng dẫn python pass class variable to another class - python truyền biến lớp cho một lớp khác

Đã hỏi ngày 27 tháng 11 năm 2017 lúc 6:30Nov 27, 2017 at 6:30

6

Một trong hai

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)

Hoặc

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __init__(self, a):
        self.a = a
    def __call__(self):
        print(self.a.var1, self.a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B(a)
b()

Sử dụng một trong hai trường hợp sử dụng này dựa trên trường hợp sử dụng

Đã trả lời ngày 27 tháng 11 năm 2017 lúc 6:39Nov 27, 2017 at 6:39

Hướng dẫn python pass class variable to another class - python truyền biến lớp cho một lớp khác

not_pythonnot_pythonnot_python

8646 Huy hiệu bạc13 Huy hiệu đồng6 silver badges13 bronze badges

Đầu tiên tạo các biến thể hiện cho

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
4 bằng cách thay đổi định nghĩa của nó như sau

class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2

và sau đó chuyển thể hiện

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
4 cho phương thức
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
6 của
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
7 như sau

class B():
    def __init__(self, class_A_object):
        self.var1 = class_A_object.var1
        self.var2 = class_A_object.var2

Bây giờ bạn có thể sử dụng

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
8 và
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
9 của
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
7 bất cứ nơi nào bên trong trường hợp bạn đã tạo.

object_a = A(var1, var2)
object_b = B(object_a)
print object_b.var1, object_b.var2

Đã trả lời ngày 27 tháng 11 năm 2017 lúc 6:58Nov 27, 2017 at 6:58

AnujanujAnuj

1.00410 Huy hiệu bạc21 Huy hiệu đồng10 silver badges21 bronze badges

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
8 và
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
9 là các biến thể hiện, bạn có thể gửi thể hiện của lớp
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __init__(self, a):
        self.a = a
    def __call__(self):
        print(self.a.var1, self.a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B(a)
b()
3 đến lớp
import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __init__(self, a):
        self.a = a
    def __call__(self):
        print(self.a.var1, self.a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B(a)
b()
4:

import sys

class A():
    def __init__(self, var1, var2):
        self.var1 = var1
        self.var2 = var2

class B():        
    def __call__(self, A):
        self.var1 = A.var1
        self.var2 = A.var2

obj_one = A(sys.argv[1], sys.argv[2])
obj_two = B()

obj_two(obj_one)

print(obj_two.var1)
print(obj_two.var2)

Đã trả lời ngày 27 tháng 11 năm 2017 lúc 6:42Nov 27, 2017 at 6:42

Hướng dẫn python pass class variable to another class - python truyền biến lớp cho một lớp khác

Srikavineeharisrikavineeharisrikavineehari

2.4041 Huy hiệu vàng11 Huy hiệu bạc21 Huy hiệu đồng1 gold badge11 silver badges21 bronze badges

Trong chương trình này, chúng tôi sẽ học cách truy cập một biến lớp trong một lớp khác cũng như một kế thừa cấp độ duy nhất trong Python.

Bạn có thể đọc thêm: & nbsp; Làm thế nào khái niệm thừa kế được thực hiện trong Python

& nbsp; truy cập một biến lớp trong một lớp khác bằng cách sử dụng kế thừa trong Python

Kế thừa là gì:

Kế thừa là một chủ đề quan trọng của ngôn ngữ lập trình hướng đối tượng. Kế thừa cung cấp khả năng tái sử dụng mã cho chương trình vì chúng ta có thể sử dụng một lớp hiện có để tạo một lớp mới thay vì tạo nó từ đầu. Lớp con có được các thuộc tính và có thể truy cập tất cả các thành viên và chức năng dữ liệu được xác định trong lớp cha. Mã ví dụ:
the child class acquires the properties and can access all the data members and functions defined in the parent class.
Example code:

Class A:
      {   }

Class B(A):
       {  }

Tạo một lớp đầu tiên với tên A và có tên chức năng method_a:

class A:
    #here a and b both are class variable of class A.
    #and initialize with 0.
    a = 0
    b = 0
    def funA(self,x,y):
        A.a = x
        A.b = y

Bây giờ hãy tạo một lớp khác với tên B từ nơi chúng tôi sẽ truy cập biến của lớp A:

class B(A):
    def __init__(self):
        #access class A variable from class B.
        print("variable of class A",A.a)
        print("variable of class B",A.b)

Tạo đối tượng lớp A và lấy đầu vào của người dùng:

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
0

Được gọi là phương thức của lớp A và tạo đối tượng lớp con:

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
1

toàn bộ chương trình:

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
2

Output:

import sys
class A():
    def __init__(self,var1,var2):
        self.var1 = var1
        self.var2 = var2
        pass
class B():
    def __call__(self, a):
        print(a.var1, a.var2)
        #(here I want to use var1 and var2 from class A)

a = A(sys.argv[1],sys.argv[2])
b = B()
b(a)
3

Đọc thêm hướng dẫn,

  • Cách gọi phương thức của một lớp khác trong lớp của bạn trong Python
  • Giới thiệu về các lớp học và đối tượng trong Python

Làm thế nào để bạn sử dụng một biến từ một lớp trong một lớp python khác?

Nếu bạn muốn sử dụng biến đó ngay cả bên ngoài lớp, bạn phải khai báo biến đó là toàn cầu. Sau đó, biến có thể được truy cập bằng tên của nó bên trong và bên ngoài lớp và không sử dụng thể hiện của lớp.you must declared that variable as a global. Then the variable can be accessed using its name inside and outside the class and not using the instance of the class.

Làm thế nào để bạn truyền một biến từ lớp này sang lớp khác?

Bạn có thể truy cập tất cả các biến bằng cách sử dụng đối tượng lớp con và bạn không phải tạo một đối tượng của lớp cha.Kịch bản này chỉ xảy ra khi lớp được mở rộng;Nếu không, cách duy nhất để truy cập nó là sử dụng lớp con.by using the subclass object, and you don't have to create an object of the parent class. This scenario only happens when the class is extended; otherwise, the only way to access it is by using the subclass.

Làm thế nào để bạn truy cập một biến bên ngoài lớp trong Python?

Các biến được xác định bên ngoài lớp có thể được truy cập bởi bất kỳ lớp hoặc bất kỳ phương thức nào trong lớp bằng cách chỉ viết tên biến.

Làm thế nào để bạn chuyển một tham số cho một lớp trong Python?

Vượt qua đối tượng dưới dạng tham số trong người lớp, MyClass cũng được sử dụng để được nhập.Trong Phương thức Display () đối tượng của MyClass được tạo.Sau đó, phương thức my_method () của lớp myClass được gọi và đối tượng của lớp người được truyền dưới dạng tham số.Khi thực hiện chương trình Python này, bạn nhận được đầu ra như sau.In method display() object of MyClass is created. Then the my_method() method of class MyClass is called and object of Person class is passed as parameter. On executing this Python program you get output as following.