cls and self\other in Python

这篇具有很好参考价值的文章主要介绍了cls and self\other in Python。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 use cls

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.

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python自动化报错:The chromedriver version (114.0.5735.90) detected in PATH at D:\Python\Scripts\chromedri

    1. 报错信息为:The chromedriver version (114.0.5735.90) detected in PATH at D:PythonScriptschromedriver.exe might not be compatible with the detected chrome version (119.0.6045.200); currently, chromedriver 119.0.6045.105 is recommended for chrome 119.*, so it is advised to delete the driver in PATH and retry 如下: 今早运行selenium程序,突

    2024年01月23日
    浏览(40)
  • 已解决To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags

    已解决WARNING:tensorflow:From stdin 1: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version. Instructions for updating: Use tf.config.list_physical_devices(‘GPU’)~ instead. 2023-03-31 16:58:07.971004: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized

    2024年02月04日
    浏览(42)
  • 成功解决 cv2.error: OpenCV(4.6.0) D:\a\opencv-python以及Assertion“t>=0&&t<=n_classes“failed(训练PSPNet)

    在上一篇的问题之后,我又遇到了如下问题: cv2.error: OpenCV(4.6.0) D:aopencv-pythonopencv-pythonopencvmodulesimg 意思是输入为空,那就是我找的训练集有问题 这篇文章(PSPNet)用的是ADE20k数据集,我从网上(http://sceneparsing.csail.mit.edu/)下载了训练图片和标注,改路径改了好久,把

    2023年04月08日
    浏览(40)
  • 解决Command “python setup.py egg_info“ failed with error code 1 in C:\Users\AppData\

    目录 解决Command \\\"python setup.py egg_info\\\" failed with error code 1 in C:UsersAppData 错误原因 解决方法 1. 确保安装了正确的依赖项 2. 更新pip和setuptools 3. 检查Python环境 4. 清理缓存 5. 手动安装依赖包 6. 检查错误信息 总结 在Python开发过程中,有时我们会遇到一些错误信息,其中之一是​

    2024年02月05日
    浏览(48)
  • BIST(built in self test)入门

    BIST分为logic bist和memory bist(MBIST)。 logic bist测试随机逻辑电路。 memory bist 测试 存储器电路 ,通过输入不同组数值测试sram存储器有没有坏点,需要将自检的硬件逻辑加到rtl里面。 存储器电路 模型 :地址译码器、读写控制逻辑、存储单元阵列 MBIST测试 对象 是RAM或ROM MBIST 电

    2024年02月11日
    浏览(49)
  • SeLa:Self Labeling Via Simultaneous Clustering and Representation Learning

    给定一个将数据I映射至特征向量 x ∈ R D x ∈ R^D x ∈ R D 的深度神经网络 Φ Φ Φ ,即 x = Φ ( I ) x = Φ ( I ) x = Φ ( I ) 。 使用有N个样本 I 1 , … , I N I_1 , … , I_N I 1 ​ , … , I N ​ , 且具有标签 y 1 , … , y N ∈ { 1 , … , K } y_1 , … , y_N ∈ { 1 , … , K } y 1 ​ , … , y N ​ ∈ { 1 , …

    2024年02月16日
    浏览(41)
  • 论文解读:SuperPoint: Self-Supervised Interest Point Detection and Description

    发表时间: 2018年 项目地址:https://arxiv.org/abs/1712.07629 论文地址:https://github.com/magicleap/SuperPointPretrainedNetwork 本文提出了一种用于训练计算机视觉中大量多视点几何问题的兴趣点检测器和描述符的自监督框架。与patch-based的神经网络相比,我们的全卷积模型处理全尺寸的图像,

    2024年02月14日
    浏览(58)
  • 《重构》:Extract Class and Inline Class

    i fork a rep, this the link GitHub - TIMPICKLE/refator-code: 重构 - 改善既有代码的设计 all right, lets see the genel description. 提取类 对立: 内联类 目的:将大类分成小类 场景:维护一个大量函数和数据的类 内联类 对立: 提炼类 目的:减少不必要的类 场景: 如果一个类不再承担足够的责任

    2024年02月11日
    浏览(42)
  • 【树莓派】USB摄像头+python+opencv 六、报错:python Non-ASCII character '\xe5' in file

    插入usb摄像头,在命令行模式下输入        lsusb         如果看到列举出来的信息有camera的话就说明识别成功,可以使用。 1、拍照测试 安装 fswebcam 输入以下命令,开启摄像头 2、录像测试 安装 luvcview 输入以下命令,开启摄像头 如果发现安装的是python3的话就需要把pyth

    2024年02月05日
    浏览(52)
  • Traceback (most recent call last): File "D:\python项目\main.py", line 10, in <module> win_data =...

    这是一个 Python 程序的错误跟踪信息。其中,\\\"Traceback (most recent call last):\\\" 显示了程序在执行过程中发生了错误。 \\\"File \\\"D:python项目main.py\\\", line 10, in \\\" 指出了错误发生在哪个文件的第 10 行。 \\\"AttributeError: NoneType object has no attribute text\\\" 指出了错误类型和错误信息。错误信息表明在

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包