Biến tĩnh và động trong python là gì?

Biến tĩnh và phương thức tĩnh là những khái niệm lập trình được sử dụng rộng rãi trong nhiều ngôn ngữ khác nhau như C++, PHP, Java, v.v. Các biến và phương thức này thuộc về lớp và các đối tượng. Trong phần này, chúng ta sẽ tìm hiểu cách chúng ta tạo các biến và phương thức tĩnh trong Python

Biến tĩnh Python

Khi chúng ta khai báo một biến bên trong một lớp, nhưng bên ngoài phương thức, nó được gọi là biến tĩnh hoặc biến lớp. Nó có thể được gọi trực tiếp từ một lớp nhưng không thông qua các thể hiện của một lớp. Tuy nhiên, các biến tĩnh hoàn toàn khác với các thành viên khác và nó không xung đột với tên biến giống nhau trong chương trình Python

Hãy xem xét một chương trình để chứng minh việc sử dụng các biến tĩnh trong Python

tĩnh. py

đầu ra

Information technology
Information technology
John
Marcus
E101
E105
Information technology
Networking
Information technology
Networking
Database Administration

Trong ví dụ trên, dept là một biến lớp được định nghĩa bên ngoài các phương thức của lớp và bên trong định nghĩa lớp. Trong đó tên và id là biến thể hiện được định nghĩa bên trong một phương thức

Truy cập biến tĩnh bằng cùng một đối tượng lớp

Chúng ta có thể truy cập trực tiếp vào một biến tĩnh trong Python bằng cách sử dụng cùng một đối tượng lớp với toán tử dấu chấm

Hãy xem xét một chương trình truy cập biến tĩnh trong Python bằng đối tượng cùng lớp

tĩnhVar. py

đầu ra

Lucky No. 7
This is a good Car

Phương thức tĩnh

Python có một phương thức tĩnh thuộc về lớp. Nó giống như một biến tĩnh liên kết với lớp chứ không phải đối tượng của lớp. Một phương thức tĩnh có thể được gọi mà không cần tạo đối tượng cho lớp. Điều đó có nghĩa là chúng ta có thể gọi trực tiếp phương thức tĩnh với tham chiếu tên lớp. Hơn nữa, một phương thức tĩnh bị ràng buộc với một lớp;

Các tính năng của phương pháp tĩnh

Sau đây là các tính năng của phương thức tĩnh

  1. Một phương thức tĩnh trong Python liên quan đến lớp
  2. Nó có thể được gọi trực tiếp từ lớp bằng cách tham chiếu đến tên lớp
  3. Nó không thể truy cập các thuộc tính lớp trong chương trình Python
  4. Nó chỉ bị ràng buộc với lớp. Vì vậy, nó không thể sửa đổi trạng thái của đối tượng
  5. Nó cũng được sử dụng để phân chia các phương thức tiện ích cho lớp
  6. Nó chỉ có thể được định nghĩa bên trong một lớp chứ không thể định nghĩa cho các đối tượng của lớp
  7. Tất cả các đối tượng của lớp chỉ chia sẻ một bản sao của phương thức tĩnh

Có hai cách để định nghĩa một phương thức tĩnh trong Python

  1. Sử dụng phương thức staticmethod()
  2. Sử dụng Trình trang trí @staticmethod

Sử dụng phương thức staticmethod()

Phương thức tĩnh () là một hàm tích hợp trong Python được sử dụng để trả về một hàm đã cho dưới dạng một phương thức tĩnh

cú pháp

Một phương thức tĩnh () nhận một tham số duy nhất. Trường hợp tham số được truyền vào là một hàm cần được chuyển đổi thành một phương thức tĩnh

Hãy xem xét một chương trình để tạo một hàm dưới dạng một phương thức tĩnh bằng cách sử dụng staticmethod() trong Python

Phương thức tĩnh. py

đầu ra

Total Marks in Maths 92
 Total Marks in Science 95
 Total Marks in English 95

Trong chương trình trên, chúng ta đã khai báo phương thức Math_num, phương thức Sci_num và phương thức Eng_num là phương thức tĩnh bên ngoài lớp bằng cách sử dụng hàm staticmethod(). Sau đó, chúng ta có thể gọi trực tiếp phương thức tĩnh bằng tên lớp Marks

Sử dụng Trình trang trí @staticmethod

@staticmethod là một trình trang trí sẵn có xác định phương thức tĩnh bên trong lớp. Nó không nhận bất kỳ đối số nào dưới dạng tham chiếu đến một thể hiện của lớp hoặc một lớp gọi chính phương thức tĩnh đó

Chúng tôi cung cấp nhiều lựa chọn các khóa học từ các trường đại học và tổ chức văn hóa hàng đầu từ khắp nơi trên thế giới. Chúng được cung cấp từng bước một và có thể truy cập được trên thiết bị di động, máy tính bảng và máy tính để bàn, vì vậy bạn có thể phù hợp với việc học xung quanh cuộc sống của mình

Chúng tôi tin rằng việc học phải là một trải nghiệm xã hội, thú vị, vì vậy các khóa học của chúng tôi mang đến cơ hội thảo luận những gì bạn đang học với những người khác trong quá trình học, giúp bạn có những khám phá mới mẻ và hình thành những ý tưởng mới
Bạn có thể mở khóa những cơ hội mới với quyền truy cập không giới hạn vào hàng trăm khóa học ngắn hạn trực tuyến trong một năm bằng cách đăng ký gói Không giới hạn của chúng tôi. Xây dựng kiến ​​thức của bạn với các trường đại học và tổ chức hàng đầu

Tìm hiểu thêm về cách FutureLearn đang thay đổi cách tiếp cận giáo dục

Tất cả các đối tượng chia sẻ lớp hoặc biến tĩnh. Một thể hiện hoặc các biến không tĩnh là khác nhau đối với các đối tượng khác nhau (mỗi đối tượng có một bản sao). Ví dụ: để một Sinh viên Khoa học Máy tính được đại diện bởi một lớp CSStudent. Lớp có thể có một biến tĩnh có giá trị là “cse” cho tất cả các đối tượng. Và lớp cũng có thể có các thành viên không tĩnh như tên và cuộn

Trong C++ và Java, chúng ta có thể sử dụng các từ khóa tĩnh để biến một biến thành biến lớp. Các biến không có từ khóa tĩnh đứng trước là biến thể hiện. Xem cái này để biết ví dụ về Java và cái này để biết ví dụ về C++

Các tính năng của biến tĩnh

  • Các biến tĩnh được cấp phát bộ nhớ một lần khi đối tượng cho lớp được tạo lần đầu tiên
  • Các biến tĩnh được tạo bên ngoài các phương thức nhưng bên trong một lớp
  • Các biến tĩnh có thể được truy cập thông qua một lớp nhưng không trực tiếp với một thể hiện
  • Hành vi của biến tĩnh không thay đổi đối với mọi đối tượng

Cách tiếp cận Python rất đơn giản; .  

Ghi chú. Tất cả các biến được gán giá trị trong khai báo lớp đều là biến lớp. Và các biến được gán giá trị bên trong các phương thức là các biến thể hiện

Biến tĩnh và biến động là gì?

Trong cấp phát bộ nhớ tĩnh, các biến được cấp phát vĩnh viễn, cho đến khi chương trình thực thi hoặc lệnh gọi hàm kết thúc. Trong cấp phát bộ nhớ động, các biến chỉ được cấp phát nếu đơn vị chương trình của bạn hoạt động. 2. Cấp phát bộ nhớ tĩnh được thực hiện trước khi thực hiện chương trình

Biến tĩnh trong Python là gì?

Biến tĩnh là những biến được khai báo trong một lớp nhất định nhưng bên ngoài các đối tượng trong lớp . Các biến lớp hoặc tĩnh có thể được giới thiệu thông qua một lớp, nhưng không trực tiếp thông qua một thể hiện. Python không yêu cầu người dùng sử dụng từ khóa 'static' trước khi khai báo biến tĩnh.

Các biến Python tĩnh hay động?

Python là một ngôn ngữ được nhập động . Điều đó có nghĩa là không cần khai báo kiểu của biến khi gán giá trị cho nó.

Biến động trong Python là gì?

Tên biến động, đôi khi được gọi là biến, là biến có tên là ước tính của một biến khác . Mặc dù Python là một ngôn ngữ rất năng động, trong đó gần như mọi thứ đều là một đối tượng, nhưng có thể xây dựng các biến động trong Python.