Hướng dẫn class variable and instance variable in python - biến lớp và biến phiên bản trong python

Python là ngôn ngữ lập trình hướng đối tượng cho phép các lập trình viên xác định các đối tượng có thể chứa dữ liệu. Các biến Python cho phép bạn lưu trữ các giá trị cụ thể trong một chương trình.

Khi bạn làm việc với các đối tượng trong Python, có hai loại biến mà bạn có thể gặp phải các biến số và biến lớp. Nhưng những loại biến này có nghĩa là gì, và chúng hoạt động như thế nào?

Hướng dẫn class variable and instance variable in python - biến lớp và biến phiên bản trong python

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

Đó là câu hỏi mà chúng tôi sẽ trả lời trong hướng dẫn này. Hướng dẫn này sẽ khám phá, với các ví dụ, những điều cơ bản của các biến lớp và thể hiện và cách chúng được sử dụng trong các đối tượng Python.

Biến lớp Python

Một biến lớp Python được chia sẻ bởi tất cả các trường hợp đối tượng của một lớp. Các biến lớp được khai báo khi một lớp đang được xây dựng. Chúng không được xác định bên trong bất kỳ phương pháp của một lớp.

Bởi vì một biến lớp được chia sẻ bởi các trường hợp của một lớp, lớp Python sở hữu biến. Do đó, tất cả các trường hợp của lớp sẽ có thể truy cập biến đó. Các biến lớp được chia sẻ bởi tất cả các trường hợp truy cập lớp.

Dưới đây là một ví dụ về biến lớp trong Python:

class Espresso:
	menu_type = "Drink"

Trong ví dụ này, chúng tôi khai báo một biến lớp có tên Menu_Type. Biến lớp này được gán cho lớp espresso.

Các biến lớp rất hữu ích vì chúng cho phép bạn khai báo một biến khi một lớp đã được xây dựng, sau đó có thể được sử dụng sau trong lớp của bạn. & NBSP;

Giống như các biến thường xuyên, các biến lớp có thể lưu trữ dữ liệu thuộc bất kỳ loại nào. Vì vậy, chúng ta có thể lưu trữ một từ điển Python, một tuple Python hoặc danh sách Python trong một biến lớp.

Truy cập một biến lớp trong Python

Bây giờ chúng tôi đã tuyên bố một biến lớp, chúng tôi có thể truy cập nó khi chúng tôi tạo một đối tượng của lớp. Vì vậy, nếu chúng ta muốn tạo một thể hiện lớp mới và xem giá trị của biến menu_type, chúng ta có thể sử dụng mã này:

class Espresso:
	menu_type = "Drink"

espresso_order = Espresso()
print(espresso_order.menu_type)

Mã của chúng tôi trả về: Uống.

Trong mã của chúng tôi, trước tiên chúng tôi xác định một lớp có một biến lớp: menu_type. Sau đó, chúng tôi tạo ra một ví dụ của lớp học của chúng tôi. Trường hợp này được gọi là espresso_order.

Để xem giá trị của biến menu_type trong lớp của chúng tôi, chúng tôi sử dụng ký hiệu dấu chấm. Đây là tên của lớp theo sau là một giai đoạn. Sau đó, chúng tôi chỉ định tên của biến lớp bạn muốn đọc. Điều này làm cho chương trình của chúng tôi trở lại đồ uống.

Bởi vì biến lớp của chúng tôi được liên kết với một lớp, chúng tôi thậm chí không cần phải khai báo một ví dụ về lớp của chúng tôi để xem giá trị của nó. Mã sau cho phép chúng tôi xem giá trị của biến lớp menu_type của chúng tôi:

class Espresso:
	menu_type = "Drink"

print(Espresso.menu_type)

Mã của chúng tôi trả về: Uống. Trong ví dụ này, chúng tôi sử dụng ký hiệu dấu chấm để truy cập giá trị của biến menu_type trong lớp Espresso của chúng tôi. Không giống như ví dụ trước của chúng tôi, chúng tôi không tuyên bố một ví dụ về lớp học của chúng tôi.

Thay đổi một biến lớp

Các biến lớp cũng có thể được thay đổi, giống như bất kỳ loại biến nào khác. Để làm như vậy, bạn có thể sử dụng mã này:

class Espresso:
	menu_type = "Drink"

espresso_order = Espresso()
espresso_order.menu_type = "Coffee"
print(espresso_order.menu_type)

Mã của chúng tôi trả về: Cà phê. Trong ví dụ này, chúng tôi đã tuyên bố một thể hiện của lớp chúng tôi có tên là Espresso_order. Sau đó, chúng tôi gán giá trị của biến lớp Espresso_order.menu_type bằng cà phê. Điều này thay đổi giá trị của biến.

Chúng tôi in ra giá trị mới của biến menu_type vào bảng điều khiển bằng câu lệnh in Python.

Các biến thể hiện Python

Các biến thể hiện Python được sở hữu bởi một ví dụ của một lớp. Giá trị của một biến thể hiện có thể khác nhau tùy thuộc vào thể hiện mà biến được liên kết.

Điều này có nghĩa là giá trị của mỗi biến thể hiện có thể. Điều này không giống như một biến lớp trong đó biến chỉ có thể có một giá trị mà bạn gán. Các biến thể hiện được khai báo bên trong một phương thức lớp.

Dưới đây là một ví dụ về hai biến thể hiện trong Python:

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

Trong ví dụ này, Coffee_Name và Giá là các biến thể hiện tồn tại trong lớp của chúng tôi.

Khẳng định các giá trị cho một biến thể hiện trong Python

Chúng tôi có thể gán các giá trị cho một biến thể hiện khi chúng tôi khai báo một lớp. Chúng tôi làm điều này bằng cách chỉ định các giá trị chúng tôi muốn gán là đối số khi chúng tôi khai báo lớp. Giả sử chúng ta muốn tạo một thể hiện của lớp với các giá trị sau:

  • Coffee_name = “Espresso”
  • Giá = 2,10

Chúng tôi có thể tạo phiên bản này bằng cách sử dụng mã sau:

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

customer_order = CoffeeOrder("Espresso", 2.10)
print(customer_order.coffee_name)
print(customer_order.price)

Mã của chúng tôi trả về:

Hãy để chia nhỏ mã của chúng tôi. Đầu tiên, chúng tôi tuyên bố một lớp gọi là Coffeeorder. Lớp này có hai biến thể hiện: Coffee_Name và Giá.

Chúng tôi tạo một thể hiện mới của lớp của chúng tôi có tên là customer_order. Sau đó, chúng tôi gán giá trị của biến Coffee_Name cho Espresso và giá trị của giá thành 2.10. Trên dòng mã tiếp theo, chúng tôi in ra giá trị của biến Coffee_Name bằng cách sử dụng ký hiệu dấu chấm. Sau đó, chúng tôi in ra giá trị của biến giá.

Hướng dẫn class variable and instance variable in python - biến lớp và biến phiên bản trong python

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

Các giá trị được lưu trữ trong lớp của chúng tôi là những giá trị mà chúng tôi đã vượt qua khi chúng tôi tuyên bố biến khách hàng_order của chúng tôi. Biến này là một ví dụ của lớp chúng tôi.

Sử dụng các biến có nhiều trường hợp của lớp Python

Để phân biệt tốt hơn các biến và biến thể hiện, hãy xem xét ví dụ sau đây của hàm tạo lớp Python (còn được gọi là phương pháp init):

class CoffeeOrder:
	def __init__(self, coffee_name, price):
		self.coffee_name = coffee_name
		self.price = price

lucas_order = CoffeeOrder("Espresso", 2.10)
print(lucas_order.coffee_name)
print(lucas_order.price)

paulina_order = CoffeeOrder("Latte", 2.75)
print(paulina_order.coffee_name)
print(paulina_order.price)

Mã của chúng tôi trả về:

Trong ví dụ này, chúng tôi đã xác định hai trường hợp của lớp chúng tôi: Lucas_order và Paulina_order. Mỗi trường hợp này có các giá trị riêng được đặt cho các biến thể hiện Cà phê và giá.

Như bạn có thể thấy, khi chúng tôi in chi tiết đơn đặt hàng của Lucas vào bảng điều khiển, các giá trị espresso và 2.10 được trả về. Khi chúng tôi in ra chi tiết đơn đặt hàng của Paulina vào bảng điều khiển, các giá trị latte và 2,75 được trả về.

Điều này cho thấy một trong những khác biệt chính giữa các biến thể hiện và các biến trong hành động: các biến thể hiện có thể có các giá trị khác nhau cho từng trường hợp của lớp, trong khi các biến lớp giống nhau trên tất cả các trường hợp.

Biến lớp Python so với các biến thể hiện.

Các biến lớp Python được khai báo trong một lớp và các giá trị của chúng giống nhau trên tất cả các trường hợp của một lớp. Các biến thể hiện Python có thể có các giá trị khác nhau trên nhiều trường hợp của một lớp.

Các biến lớp có chung giá trị giữa tất cả các trường hợp của lớp. Giá trị của các biến thể hiện có thể khác nhau giữa từng trường hợp của một lớp.

Các biến lớp chỉ có thể được gán khi một lớp đã được xác định. Mặt khác, các biến thể hiện có thể được gán hoặc thay đổi bất cứ lúc nào.

Cả hai biến lớp và biến thể hiện đều lưu trữ một giá trị trong một chương trình, giống như bất kỳ biến Python nào khác.

Để tìm hiểu thêm về Python, hãy đọc đầy đủ hướng dẫn Python của chúng tôi.

Biến lớp và biến thể hiện là gì?

Sự khác biệt giữa biến thể hiện và biến lớp.

Một biến lớp trong Python là gì?

Biến lớp - một biến được chia sẻ bởi tất cả các trường hợp của một lớp.Các biến lớp được xác định trong một lớp nhưng ngoài bất kỳ phương thức nào của lớp.Các biến lớp không được sử dụng thường xuyên như các biến thể hiện.A variable that is shared by all instances of a class. Class variables are defined within a class but outside any of the class's methods. Class variables are not used as frequently as instance variables are.

Biến lớp và biến thể hiện đưa ra ví dụ là gì?

Các biến lớp còn được gọi là các biến tĩnh được khai báo với từ khóa tĩnh trong một lớp, nhưng bên ngoài một phương thức, hàm tạo hoặc một khối.Các biến thể hiện được tạo khi một đối tượng được tạo với việc sử dụng từ khóa 'mới' và bị phá hủy khi đối tượng bị phá hủy.

Các biến thể hiện trong Python là gì?

Một biến thể hiện trong Python là gì?Nếu giá trị của một biến thay đổi từ đối tượng này sang đối tượng khác, thì các biến đó được gọi là biến thể hiện.Đối với mỗi đối tượng, một bản sao riêng biệt của biến thể hiện sẽ được tạo.Các biến thể hiện không được chia sẻ bởi các đối tượng.If the value of a variable varies from object to object, then such variables are called instance variables. For every object, a separate copy of the instance variable will be created. Instance variables are not shared by objects.