cls
cls
represent the class object itself and allows we to work with class-level variables, call other class method. When referring to class-level attributes and methods within a class method or when we need to manipulate or access attributes or methods that are common to all instances of the class.
cls (class methods):
- Access and modify class-level attributes.
- Call other class methods.
- Perform operations that are related to the class as a whole, not specific to any individual instance.
- It is necessary to indicate the method is a class method, therefore we must use
@classmethod
when usecls
Note:
When we use classmethod, it creates a descriptor
object that alters the behavior of the method, allowing it to receive the class object (usually referred to as cls) as the first parameter instead of the instance object (self).
self
self
represent the instance of the class and allow we to access and manipulate instance variables, call other instance methods.
self
- Access and modify instance-specific attributes.
- Call other instance methods.
- Perform operations that are specific to an individual instance of the class.
other
other
represent other object.文章来源:https://www.toymoban.com/news/detail-466961.html
Code example
class Person:
count = 0 # Class-level attribute
def __init__(self, name, age):
self.name = name
self.age = age
Person.count += 1 # Increment class-level attribute
@classmethod
def get_count(cls):
return cls.count
# Creating instances of the Person class
person1 = Person("John", 25)
person2 = Person("Jane", 30)
# Accessing class-level attribute using cls
print(Person.get_count()) # Output: 2
# other
class Distance:
def __init__(self, x=None, y=None) -> None:
self.ft = x
self.inch = y
def __ge__(self, other) -> bool:
total_inches_self = self.ft * 12 + self. inch
total_inches_other = other.ft * 12 + other.inch
if total_inches_self >= total_inches_other:
return True
return False
d1 = Distance(1, 2)
d2 = Distance(4, 10)
print(d1 >= d2)
attention
self
, cls
, other
is just a convention, and you could call it whatever you wanted.文章来源地址https://www.toymoban.com/news/detail-466961.html
class Person:
count = 0 # Class-level attribute
def __init_subclass__(this_class):
this_class.count += 1
@classmethod
def get_count(klass):
return klass.count
到了这里,关于cls and self\other in Python的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!