Biến thể hiện và biến cục bộ trong Python LÀ GÌ?

Các biến về cơ bản là các ký hiệu đại diện cho một giá trị mà chúng ta đang sử dụng trong một chương trình. Lập trình hướng đối tượng cho phép các biến được sử dụng ở cấp độ lớp hoặc cấp độ thể hiện. Mục đích của bài viết này là phân biệt rõ ràng giữa các loại biến được cung cấp bởi mô hình đối tượng của Python và tiếp tục…

Có hai loại biến. biến toàn cục và biến cục bộ. Phạm vi của biến toàn cục là toàn bộ chương trình trong khi phạm vi của biến cục bộ được giới hạn trong hàm mà nó được xác định

Ví dụ

def func[]: x = "Python" s = "test" print[x] print[s] s = "Tutorialspoint" print[s] func[] print[x]

đầu ra

Trong chương trình trên - x là biến cục bộ trong khi s là biến toàn cục, chúng ta chỉ có thể truy cập biến cục bộ trong hàm mà nó được xác định [func[] ở trên] và cố gắng gọi biến cục bộ bên ngoài phạm vi của nó [func[]] sẽ

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined

Tuy nhiên, chúng ta có thể gọi biến toàn cục ở bất cứ đâu trong chương trình kể cả các hàm [func[]] được định nghĩa trong chương trình

Biến cục bộ

Các biến cục bộ chỉ có thể đạt được trong phạm vi của chúng [như func[] ở trên]. Giống như trong chương trình dưới đây- có hai biến cục bộ - x và y

Ví dụ

def sum[x,y]: sum = x + y return sum print[sum[5, 10]]

đầu ra

Các biến x và y sẽ chỉ hoạt động/được sử dụng bên trong hàm sum[] và chúng không tồn tại bên ngoài hàm. Vì vậy, cố gắng sử dụng biến cục bộ bên ngoài phạm vi của chúng, có thể thông qua NameError. Vì vậy, rõ ràng dòng dưới đây sẽ không hoạt động

File "main.py", line 2
   sum = x + y
   ^
IndentationError: expected an indented block

biến toàn cầu

Một biến toàn cục có thể được sử dụng ở bất kỳ đâu trong chương trình vì phạm vi của nó là toàn bộ chương trình. Hãy hiểu biến toàn cục bằng một ví dụ rất đơn giản -

Ví dụ

z = 25 def func[]: global z print[z] z=20 func[] print[z]

đầu ra

25
20

Hàm gọi func[], giá trị biến toàn cục được thay đổi cho toàn bộ chương trình. Ví dụ dưới đây cho thấy sự kết hợp của các biến cục bộ và biến toàn cục và các tham số hàm -

Python là ngôn ngữ lập trình hướng đối tượng cho phép lập trình viên định nghĩa các đối tượng có thể chứa dữ liệu. 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—biến thể hiện và biến lớp. Nhưng những loại biến này có ý nghĩa gì và chúng hoạt động như thế nào?

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Tên

Họ

Email

Điện thoại .


By continuing you agree to our Terms of Service and Privacy Policy, and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

Đó là câu hỏi 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 kiến ​​thức cơ bản về biến lớp và đối tượng cũng như 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 thể hiện đố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 định nghĩa bên trong bất kỳ phương thức nào của một lớp

Bởi vì một biến lớp được chia sẻ bởi các thể hiện của một lớp, nên lớp Python sở hữu biến đó. Kết quả là tất cả các thể hiện của lớp sẽ có thể truy cập vào biến đó. Các biến lớp được chia sẻ bởi tất cả các phiên bản truy cập lớp

Đâ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 ta khai báo một biến lớp gọi là 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 trong lớp của bạn.  

Giống như các biến thông thường, 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 bộ dữ liệu Python hoặc một danh sách Python trong một biến lớp

Truy cập biến lớp trong Python

Bây giờ chúng ta đã khai báo một biến lớp, chúng ta có thể truy cập nó khi chúng ta tạo một đối tượng của lớp mình. 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 định nghĩa một lớp có một biến lớp. menu_type. Sau đó, chúng tôi tạo một thể hiện của lớp của chúng tôi. Ví dụ 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 khoảng thời gian. Sau đó, chúng tôi chỉ định tên của biến lớp bạn muốn đọc. Điều này khiến chương trình của chúng ta trả về Đồ uống

Vì biến lớp của chúng ta được liên kết với một lớp, nên chúng ta thậm chí không cần khai báo một thể hiện của lớp để xem giá trị của nó. Đoạn mã sau cho phép chúng ta xem giá trị của biến lớp menu_type

________số 8

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 khai báo một thể hiện của lớp của chúng tôi

» THÊM.   Python += Toán tử. Hướng dẫn

Thay đổi 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 đã khai báo một thể hiện của lớp có tên là espresso_order. Sau đó, chúng tôi gán giá trị của espresso_order. biến lớp menu_type bằng Coffee. Điều này làm thay đổi giá trị của biến

Chúng tôi in ra giá trị mới của biến menu_type ra bàn điều khiển bằng cách sử dụng câu lệnh in Python

Biến thể hiện Python

Các biến thể hiện của Python được sở hữu bởi một thể hiện 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 đối tượng có thể được. Đ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

Đây là một ví dụ về hai biến thể hiện trong Python

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined
0

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

Gán giá trị cho một biến thể hiện trong Python

Chúng ta có thể gán giá trị cho một biến thể hiện khi chúng ta 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ị mà chúng tôi muốn gán làm đố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 = “Cà phê espresso”
  • giá = 2. 10

Chúng ta có thể tạo cá thể này bằng đoạn mã sau

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined
1

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

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined
2

Hãy chia nhỏ mã của chúng tôi. Đầu tiên, chúng ta khai báo một lớp tên là CoffeeOrder. Lớp này có hai biến thể hiện. cà phê_tên và giá

» THÊM.   Lỗi cú pháp Python. Giải pháp vòng lặp bên ngoài ‘phá vỡ’

Chúng tôi tạo một phiên bản mới của lớp được gọi là customer_order. Sau đó, chúng ta gán giá trị của biến coffee_name cho Espresso và giá trị của price là 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 đó, ta in ra giá trị của biến giá

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

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

Find Your Bootcamp Match

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 đã chuyển khi chúng tôi khai báo biến customer_order của mình. Biến này là một thể hiện của lớp chúng ta

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

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

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined
3

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

Python
test
Tutorialspoint
Traceback [most recent call last]:
  File "main.py", line 9, in 
    print[x]
NameError: name 'x' is not defined
4

Trong ví dụ này, chúng ta đã định nghĩa hai thể hiện của lớp. lucas_order và paulina_order. Mỗi phiên bản này có các giá trị riêng được đặt cho các biến phiên bản coffee_name và price

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ả lại. Khi chúng tôi in chi tiết đơn hàng của Paulina ra bảng điều khiển, các giá trị Latte và 2. 75 được trả lại

Đ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à biến lớp trong hành động. các biến thể hiện có thể có các giá trị khác nhau cho từng thể hiện của lớp, trong khi các biến thể hiện giống nhau trên tất cả các thể hiện

Biến lớp Python so với. 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 phiên bản của một lớp. Các biến thể hiện của Python có thể có các giá trị khác nhau trên nhiều thể hiện của một lớp

» THÊM.   Trăn. Trả về nhiều giá trị từ một hàm

Các biến lớp chia sẻ cùng một giá trị giữa tất cả các phiên bản của lớp. Giá trị của các biến thể hiện có thể khác nhau giữa mỗi thể hiện 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ả biến lớp và biến thể hiện đều lưu trữ một giá trị trong 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 toàn bộ hướng dẫn Cách học Python của chúng tôi

4 Xếp hạng



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK

Một ví dụ ví dụ trong Python là gì?

Thể hiện là đối tượng thuộc về một lớp . Chẳng hạn, danh sách là một lớp trong Python. Khi chúng ta tạo một danh sách, chúng ta có một thể hiện của lớp danh sách.

Thể hiện của một biến là gì?

Biến thể hiện là biến được khai báo trong lớp nhưng nằm ngoài hàm tạo, phương thức hoặc khối . Các biến thể hiện được tạo khi một đối tượng được khởi tạo và có thể truy cập được đối với tất cả các hàm tạo, phương thức hoặc khối trong lớp. Công cụ sửa đổi truy cập có thể được cung cấp cho biến thể hiện.

Ví dụ về biến thể hiện là gì?

Các biến thể hiện dành riêng cho một thể hiện cụ thể của một lớp. Ví dụ: mỗi khi bạn tạo một đối tượng lớp mới, nó sẽ có bản sao của các biến đối tượng . Biến thể hiện là các biến được khai báo bên trong lớp nhưng bên ngoài bất kỳ phương thức nào.

Biến cục bộ và thể hiện của lớp là gì?

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

Chủ Đề