iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python怎么修改类变量的值
  • 834
分享到

python怎么修改类变量的值

2023-06-30 10:06:20 834人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“python怎么修改类变量的值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么修改类变量的值”文章能帮助大家解决问题。通过类对象是无法修改类变量的值的,本质其实是给类

这篇文章主要介绍“python怎么修改类变量的值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么修改类变量的值”文章能帮助大家解决问题。

  • 通过类对象是无法修改类变量的值的,本质其实是给类对象新添加 name 和 age 这 2 个实例变量。不会影响类的其它实例化对象,更不会影响同名的类变量。

  • 和类变量不同,实例变量只能通过类对象名访问,无法通过类名访问。

  • 通过cls和类名修改类变量的值,会修改同名的类变量,会影响所有的实例化对象

class Person:    name='jerry'    age='20'    def __init__(self, name, age):        self.name = name        self.age = age        print("构造函数", name, age)    @claSSMethod    def A(cls):        # cls()等价于类Person(),        # 通过类对象p是无法修改类变量的        p=cls("Tom", 18)        print('cls:', cls, p)        return p     @classmethod    def B(cls):        # 类方法cls可以直接调用类变量        print("B结果:", cls.name, cls.age)     @classmethod    def C(cls):        # 类方法cls可以直接调用类变量        # cls和类名一样可修改类变量的值,会影响所有的实例化对象        cls.name="曹操"        cls.age=50if __name__ == '__main__':     Person.B()    Person.C()    print("C方法修改后,类变量的值:", Person.name, Person.age)    # 可以使用类名直接调用类方法    person = Person.A()    print(person.name, person.age)    print("最终类变量的值:", Person.name, Person.age)
 D:\MC\venv\Scripts\python.exe D:/MC/test01.py

B结果:

jerry 20

C方法修改后,类变量的值: 曹操 50
构造函数 Tom 18

cls: <class '__main__.Person'> <__main__.Person object at 0x000002362F849D00>Tom 18

最终类变量的值:

曹操 50

Process finished with exit code 0

我对Man这个类进行实例化2次,每个实例的id都不一样。这就依靠类方法来实现了:首先,用@classmethod描述类方法,然后用"cls"代表本类。类方法对类属性进行的处理是有记忆性的。

需要注意的是:类方法处理的变量一定要是类变量。因为在类方法里你用不了self来寻址实例变量,所以需要把类变量放到最前面描述,如上面的"id=0"所示。类变量是可以被self访问的,所以,在类变量定义好了以后,不需要在_init_函数里对类变量再一次描述。所以,上面代码里self.id不一定需要。

对于需要改变类变量的值的同学(每次调用id_number(cls)方法,类变量id的值会改变),可以有效利用这个技巧,来进行模型的加载。比如,把模型封装成一个类,把初始化网络和加载模型用类方法来描述,这样每一次load之后,可以一直实用模型。

class Man:    id = 0  # 类变量    def __init__(self, name):        self.name = name        self.id = self.id_number()    @classmethod    def id_number(cls):        # 类方法可以改变类属性,对类属性进行的处理是有记忆性的。        # 类方法处理的变量一定要是类变量。因为在类方法里你用不了self来寻址实例变量,        # 所以需要把类变量放到最前面描述,如上面的"id=0"所示。        cls.id += 1        cls.ww=2        return cls.id, cls.ww  a = Man('A')print(a.id)b = Man('B')print(b.id)c=Man.id_number()print(c)
D:\MC\venv\Scripts\python.exe D:/MC/test2.py(1, 2)(2, 2)(3, 2) Process finished with exit code 0

关于“python怎么修改类变量的值”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网Python频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: python怎么修改类变量的值

本文链接: https://www.lsjlt.com/news/328142.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python怎么修改类变量的值
    这篇文章主要介绍“python怎么修改类变量的值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么修改类变量的值”文章能帮助大家解决问题。通过类对象是无法修改类变量的值的,本质其实是给类...
    99+
    2023-06-30
  • python类名和类方法cls修改类变量的值
    通过类对象是无法修改类变量的值的,本质其实是给类对象新添加 name 和 age 这 2 个实例变量。不会影响类的其它实例化对象,更不会影响同名的类变量。和类变量不同,实例变量只能通...
    99+
    2024-04-02
  • golang全局变量的值怎么修改
    要修改全局变量的值,可以使用赋值操作符(=)直接为全局变量赋新值。示例代码如下所示:gopackage mainimport "fm...
    99+
    2023-10-20
    golang
  • python怎么定义数值类型变量
    这篇文章主要讲解了“python怎么定义数值类型变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么定义数值类型变量”吧!说明Python内置了很多数值类型,其中常用的有int...
    99+
    2023-06-30
  • 在Python中怎么修改变量名
    这篇文章主要介绍“在Python中怎么修改变量名”,在日常操作中,相信很多人在在Python中怎么修改变量名问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在Python中怎么...
    99+
    2024-04-02
  • java如何修改静态变量的值
    要修改Java中的静态变量的值,可以直接通过类名来访问静态变量并赋值。例如: public class Example { ...
    99+
    2024-04-02
  • python怎么改变字典的值
    要改变字典中特定键对应的值,可以使用以下两种方法:1. 使用键来直接访问并改变字典中的值。可以通过以下方式实现:```pythonm...
    99+
    2023-08-15
    python
  • php怎么改变变量的存储类型
    PHP是一门广泛应用于Web开发的编程语言,它的灵活性和可扩展性让开发者们能够轻松地构建各种类型的应用。在PHP中,变量存储类型的选择很重要,因为它在很大程度上影响了代码的性能和可读性。本文将介绍如何在PHP中改变变量存储类型的方法,以及它...
    99+
    2023-05-14
    php
  • Python中的变量怎么赋值
    这篇文章主要讲解了“Python中的变量怎么赋值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中的变量怎么赋值”吧!1 Python变量概述变量,英文叫做 variable。在《...
    99+
    2023-06-22
  • 怎么在python中定义数值类型变量
    怎么在python中定义数值类型变量?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt...
    99+
    2023-06-14
  • python类别变量怎么转化为数值型
    在Python中,可以使用独热编码(One-Hot Encoding)将类别变量转化为数值型。 独热编码是一种将类别变量转化为二进制...
    99+
    2024-02-29
    python
  • Python怎么通过变量ID得到变量的值
    本篇内容介绍了“Python怎么通过变量ID得到变量的值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过变量ID得到变量的值已知获得变量的...
    99+
    2023-06-30
  • python怎么清空变量值
    在Python中,可以使用del关键字来清空变量值。例如: x = 10 print(x) # 输出 10 del x prin...
    99+
    2024-02-29
    python
  • Python批量修改寄存器的值
    在写代码过程中,我们修改代码中寄存器的值,但是有时寄存器的数据较多,手动修改容易出现错误而且花费的时间长 这是一段寄存器的配置值:   0x00, 0x34  0x35, 0x25  0x...
    99+
    2023-01-30
    寄存器 批量 Python
  • Golang反射修改变量值的操作代码
    目录1. 前言2. 判断是否可修改2.1 该值是可寻址的2.2 该值是可导出的3. 修改slice4. 修改array5. 修改结构体6. 修改map1. 前言 前面的随笔Golan...
    99+
    2022-12-08
    Golang反射修改变量值 Golang反射
  • PHP如何修改和获取private变量的值
    小编给大家分享一下PHP如何修改和获取private变量的值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php修改private值的方法:首先打开相应的PHP代...
    99+
    2023-06-14
  • 详解如何在Golang中修改变量的值
    Golang是当今最为流行的编程语言之一,它具有简单易用、高效、安全等优点,使得它在应用开发领域里得到越来越广泛的应用。在程序开发过程中,我们经常需要改变变量的值,本文将介绍如何在Golang中改变变量的值以及相关的语法细节。一、变量的声明...
    99+
    2023-05-14
  • python怎么修改元组的值
    在Python中,元组是不可变的数据类型,即一旦创建了元组,就无法修改元组中的元素值。但是,你可以通过以下方法来修改元组的值:1. ...
    99+
    2023-10-11
    python
  • 怎么在python中改变元组的变量
    这期内容当中小编将会给大家带来有关怎么在python中改变元组的变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网...
    99+
    2023-06-14
  • python怎么交换两个变量的值
    这篇文章主要介绍了python怎么交换两个变量的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么交换两个变量的值文章都会有所收获,下面我们一起来看看吧。本文教程操作环境:windows7系统、P...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作