Định nghĩa biến và phương thức tĩnh là một khái niệm lập trình phổ biến và được sử dụng rộng rãi trong C++, Java, Php và nhiều ngôn ngữ lập trình khác để tạo các biến lớp và phương thức thuộc về lớp và được chia sẻ bởi tất cả các đối tượng của lớp
Trong Python, không có từ khóa đặc biệt nào để tạo các biến và phương thức tĩnh. Python tuân theo một cách tiếp cận khác nhưng đơn giản để xác định các biến và phương thức tĩnh mà chúng ta sẽ tìm hiểu trong hướng dẫn này
Biến lớp hoặc tĩnh trong Python
Biến lớp hoặc tĩnh là các biến thuộc về lớp chứ không phải đối tượng. Các biến lớp hoặc tĩnh được chia sẻ giữa các đối tượng của lớp. 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 của lớp là các biến thể hiện
Hãy có một ví dụ để hiểu điều này
Trong chương trình trên,
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
9 là một biến lớp vì nó được định nghĩa bên ngoài tất cả các phương thức của lớp và bên trong định nghĩa lớp và class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
0 là một biến thể hiện vì nó được định nghĩa bên trong một phương thứcĐiều này được xác nhận bằng cách sử dụng câu lệnh
class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
1 trong đó biến class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
9 được tham chiếu bằng tên lớp class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
3 trong khi biến class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
0 được tham chiếu bằng các tham chiếu đối tượng khác nhauVí dụ trên cho thấy một kịch bản trong đó có các đối tượng hình dạng khác nhau, mỗi đối tượng thuộc cùng một danh mục là Hình học nhưng thuộc các loại khác nhau, vì vậy mỗi đối tượng của lớp có cùng một danh mục mà chúng ta đã tạo biến lớp và biến
class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
0 là khác nhau GHI CHÚ. Python cho phép cung cấp cùng một tên biến cho một lớp/biến tĩnh và một biến thể hiện. Nhưng chúng tôi khuyên bạn không nên cung cấp các biến cùng tên cho các biến này để tránh nhầm lẫn
Phương thức tĩnh trong Python
Cũng giống như các biến tĩnh, các phương thức tĩnh là các phương thức được liên kết với lớp chứ không phải là một đối tượng của lớp và do đó được gọi bằng tên lớp chứ không phải các đối tượng của lớp
Vì các phương thức tĩnh được liên kết với lớp do đó chúng không thể thay đổi trạng thái của một đối tượng
Để gọi một phương thức tĩnh, chúng ta không cần bất kỳ đối tượng lớp nào, nó có thể được gọi trực tiếp bằng tên lớp
Trong python có hai cách định nghĩa một phương thức tĩnh
- Sử dụng
6class Shape: @staticmethod def info[msg]: # show custom message print[msg] print["This class is used for representing different shapes."] Shape.info["Welcome to Shape class"]
- Sử dụng
0class Shape: @staticmethod def info[msg]: # show custom message print[msg] print["This class is used for representing different shapes."] Shape.info["Welcome to Shape class"]
Xác định phương thức tĩnh bằng cách sử dụng class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
6
class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
Hãy lấy một ví dụ để xem điều này được thực hiện như thế nào
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
Chào mừng đến với lớp Hình dạng Lớp này được sử dụng để biểu diễn các hình dạng khác nhau
Trong chương trình trên, chúng tôi đã khai báo phương thức
class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
2 là phương thức tĩnh bên ngoài lớp bằng cách sử dụng cách tiếp cận hàm class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
6 và sau đó chúng tôi có thể gọi trực tiếp phương thức class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
4 bằng cách sử dụng lớp class Shape:
@staticmethod
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
Shape.info["Welcome to Shape class"]
3 Một biến là một địa chỉ bộ nhớ có thể thay đổi và khi địa chỉ bộ nhớ không thể thay đổi thì biến đó được gọi là hằng số. Biến là tên của vị trí bộ nhớ nơi dữ liệu được lưu trữ. Khi một biến được lưu trữ, không gian được phân bổ trong bộ nhớ. Nó định nghĩa một biến bằng cách sử dụng kết hợp các số, chữ cái và ký tự gạch dưới
Trong mô-đun này, chúng ta sẽ tìm hiểu tất cả về các biến trong Python. Sau đây là danh sách tất cả các chủ đề mà chúng ta sẽ đề cập trong mô-đun này
Tạo và khai báo biến Python
Python không có lệnh cụ thể chỉ để khai báo hoặc tạo một biến;
- Tên biến không được bắt đầu bằng số. Nó phải bắt đầu bằng một bảng chữ cái hoặc ký tự gạch dưới
- Tên biến luôn phân biệt chữ hoa chữ thường và có thể chứa ký tự chữ và số và ký tự gạch dưới
- Các từ dành riêng không được dùng làm tên biến
- Biến Python luôn được gán bằng cách sử dụng dấu bằng theo sau là giá trị của biến
Một biến trong Python được tạo ngay khi chúng ta gán giá trị cho nó. Python cũng không yêu cầu chỉ định kiểu dữ liệu của biến, không giống như các ngôn ngữ lập trình thông dụng khác
Gán giá trị cho biến Python
Không cần khai báo rõ ràng để dự trữ bộ nhớ. Phép gán được thực hiện bằng toán tử bằng [=].
Ví dụ.
a = 10 b = “Intellipaat” print [a] # a is an int type variable because it has an int value in it print [b] # b is a string type variable as it has a string value in it
Bài tập nhiều biến
Chúng ta có thể gán một giá trị cho nhiều biến như sau
a = b = c = 5
Ngoài ra ta có thể gán nhiều giá trị cho nhiều biến như sau
a, b, c = 2, 25, ‘abc’
Ghi chú. Python là một ngôn ngữ suy luận kiểu, tôi. e. , nó sẽ tự động phát hiện loại biến được gán
ví dụ 1
test=1 type[test] Output: int
ví dụ 2
________số 8Xem video này về 'Biến trong Python'
Biến Python - Biến cố định, Toàn cầu & Biến tĩnh Biến Python - Biến cố định, Toàn cục & Biến tĩnh
Khai báo lại một biến trong Python
Sau khi chúng ta đã khai báo một biến, chúng ta có thể khai báo lại nó và gán giá trị mới cho nó. Trình thông dịch Python loại bỏ giá trị cũ và chỉ xem xét giá trị mới. Loại giá trị mới có thể khác với loại giá trị cũ.
Ví dụ.
a = 1 print [a] a = ‘intellipaat’ print[a] Output: 1 intellipaat
Hằng số trong Python
Hằng số là một loại biến chứa các giá trị, không thể thay đổi. Trên thực tế, chúng ta ít sử dụng hằng trong Python. Các hằng số thường được khai báo và gán trên một mô-đun/tệp khác.
Ví dụ.
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
0Sau đó, chúng được nhập vào tệp chính
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
1Ngoài ra, hãy xem Khóa học Python của chúng tôi và chuẩn bị để trở nên xuất sắc trong sự nghiệp của bạn với các câu hỏi phỏng vấn Python miễn phí do các chuyên gia tạo ra
Biến lớp Python
Một biến lớp trong Python được chia sẻ bởi tất cả các thể hiện đối tượng của lớp. Chúng được khai báo khi lớp được xây dựng và không có trong bất kỳ phương thức nào của lớp. Vì các Biến lớp này trong Python được sở hữu bởi chính lớp đó nên chúng được chia sẻ bởi tất cả các phiên bản của lớp đó.
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
2Ở đây, biến lang_name được gán giá trị “python”
Biến riêng Python
Trong Python, các biến đối tượng 'Riêng tư' không thể truy cập được ngoại trừ bên trong một đối tượng, thực tế không tồn tại. Nhưng hầu hết các lập trình viên Python sử dụng hai dấu gạch dưới ở đầu bất kỳ biến hoặc phương thức nào để đặt nó ở chế độ riêng tư
Biến __intellipaat sẽ được coi là biến không công khai hoặc riêng tư
Cách lấy các loại Biến trong Python
Bạn có thể lấy kiểu dữ liệu của một biến bằng hàm type[]
class Shape:
def info[msg]:
# show custom message
print[msg]
print["This class is used for representing different shapes."]
# create info static method
Shape.info = staticmethod[Shape.info]
Shape.info["Welcome to Shape class"]
3Phạm vi của các biến trong Python
Tất cả các biến trong python có thể không truy cập được ở tất cả các vị trí. Điều này sẽ phụ thuộc vào nơi các biến này được khai báo. Phạm vi của biến xác định vị trí trong chương trình mà biến có thể truy cập được. Phạm vi có thể là Cục bộ hoặc Toàn cầu. Vì vậy, hãy cùng tìm hiểu về Biến cục bộ và Biến toàn cầu trong Python –
Biến cục bộ trong Python
Một biến được khai báo bên trong hàm python hoặc mô-đun chỉ có thể được sử dụng trong hàm cụ thể đó hoặc Mô-đun Python. Loại biến này được gọi là biến cục bộ. Trình thông dịch Python sẽ không nhận ra biến đó bên ngoài chức năng hoặc mô-đun cụ thể đó và sẽ đưa ra lỗi nếu biến đó không được khai báo bên ngoài chức năng đó.
Ví dụ.
a = b = c = 50
Ở đây, trong ví dụ này, khi biến f được khai báo lần thứ hai bên trong hàm có tên some_function, nó sẽ trở thành một biến cục bộ. Bây giờ, nếu chúng ta sử dụng biến đó bên trong hàm, sẽ không có vấn đề gì vì chúng ta có thể thấy rằng ở đầu ra của bản in thứ hai[f], nó in ra giá trị được gán cho f trong hàm, đó là Intellipaat
Trong khi đó, khi chúng ta cố gắng in giá trị của f bên ngoài hàm, nó sẽ in giá trị được gán cho nó bên ngoài hàm vì chúng ta có thể thấy rằng ở đầu ra của bản in đầu tiên và bản in thứ ba [f], nó in ra 100
Tìm hiểu các khái niệm Python từ đầu đến cuối thông qua Khóa học Python ở Hyderabad để đưa sự nghiệp của bạn lên một tầm cao mới
Biến toàn cục trong Python
Mặt khác, biến toàn cục trong Python là biến có thể được sử dụng toàn cầu ở bất kỳ đâu trong chương trình. Nó có thể được sử dụng trong bất kỳ chức năng hoặc mô-đun nào và thậm chí bên ngoài các chức năng mà không cần phải khai báo lại nó.
Ví dụ.
a = b = c = 51
Ở đây trong ví dụ này, chúng ta đã khai báo lại biến a trong hàm là biến toàn cục. Bây giờ, nếu chúng ta thay đổi giá trị của biến này bên trong hàm và sau đó in giá trị của biến này bên ngoài hàm, thì nó sẽ in giá trị đã thay đổi như chúng ta có thể thấy trong đầu ra của bản in thứ ba [a]. Vì biến a được khai báo toàn cục nên nó cũng có thể được sử dụng bên ngoài hàm
Xóa biến Python
Python cung cấp tính năng xóa biến khi không sử dụng để giải phóng dung lượng. Sử dụng lệnh del 'tên biến', chúng ta có thể xóa bất kỳ biến cụ thể nào.
Ví dụ.
a = b = c = 52
Nếu chúng ta chạy chương trình trên, trình thông dịch Python sẽ báo lỗi là ‘NameError. tên a không được xác định' trong bản in thứ hai [a], vì chúng ta đã xóa biến a bằng cách sử dụng lệnh del a
Bạn có muốn học Python từ các chuyên gia không?
Nối các biến Python
Nếu chúng ta muốn nối các biến Python thuộc các kiểu dữ liệu khác nhau, giả sử một biến số và một biến Chuỗi Python, thì chúng ta sẽ phải khai báo biến số là một chuỗi. Nếu biến số không được khai báo là biến chuỗi trước khi nối biến số với biến chuỗi, thì Python sẽ đưa ra TypeError.
Ví dụ.
a = b = c = 53
Ở đây, khối mã này sẽ đưa ra TypeError vì biến a là kiểu chuỗi và biến b là kiểu số. Để loại bỏ lỗi này, chúng ta sẽ phải khai báo biến số là biến chuỗi như trong ví dụ bên dưới
a = b = c = 54
Điều này đưa chúng ta đến phần cuối của mô-đun này trong Hướng dẫn Python
Bây giờ, nếu bạn muốn biết tại sao python là ngôn ngữ được ưa thích nhất cho khoa học dữ liệu, bạn có thể xem qua hướng dẫn Khoa học dữ liệu Python này