广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中类变量和实例变量的区别
  • 293
分享到

Python中类变量和实例变量的区别

2024-04-02 19:04:59 293人浏览 安东尼

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

摘要

目录一、前言二、解决过程三、总结一、前言 有人提问了一个关于python类变量和实例变量的问题,这里拿出来给大家分享下,一起学习。 是用英文提问的,当然了英文看上去也不难,有点二级

一、前言

有人提问了一个关于python类变量和实例变量的问题,这里拿出来给大家分享下,一起学习

是用英文提问的,当然了英文看上去也不难,有点二级英文基础,也看得懂,实在不行,在线翻译一下也问题不大了。

55f3a270ba150abb8e45cf941bc8fac1.png

二、解决过程

这里主要涉及到三个部分,类属性,实例属性,及实例属性的引用对象指向性问题。在该例中counter为类属性,__first为实例属性,print函数中的counter为实例属性的引用对象指向性问题。当ExampleClass类实例化时,__init__魔法函数会自动执行其下方的代码段,而下方代码段涉及到两种属性的变化,实例属性为该实例化对象特有的,即实例化完成后才会存在,每个实例化对象之间的实例属性是独立的,从你下方的print打印结果也能看出,实例对象.__dict__输出当前实例化对象的实例属性。而类属性只要定义完类,就已经存在,使用类.类属性可以引用该类属性,也可以进行修改,类属性是所有实例化对象共享的,在此例中每次实例化类后,ExampleClass.counter都会加1,在三次print中能看到输出值都是一样。

在这里还多了一些拓展

__init__中,在ExampleClass.counter += 1前添加了一行self.counter += 1;这里说明下实例属性的引用方式,在类实例化后,首先引用实例属性已有的,而如果找不到会往上寻找,即找类属性,在修改后的代码里,我为实例对象增加了一个实例属性counter,在print里的实例对象.__dict__也能看到实例属性中存在counter,而此时实例对象.counter引用到的是实例属性,而非类属性。这里再说一下为什么self.counter += 1能够正常执行,上述说到实例属性的引用会向上寻找,则进行+= 1计算时,会引用类属性,第一次实例化中,类属性下的counter为0,加1后赋值给实例属性下的counter,那么第一个实例对象的counter打印出来就是1,第二次实例化,在第一次实例化的过程中,类属性下counter也进行了加1,反映到第二次中,使用到的类属性counter此时已经为1,进行加1赋值给第二次实例属性的counter,即2,第三次类似。

三、总结

这篇文章针对Python类变量和实例变量的问题,给出了具体说明和演示

总的来说,类变量:可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的)。实例变量:实例化之后,每个实例单独拥有的变量。

类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象

到此这篇关于Python中类变量和实例变量的区别的文章就介绍到这了,更多相关Python类变量和实例变量内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中类变量和实例变量的区别

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

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

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

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

下载Word文档
猜你喜欢
  • Python中类变量和实例变量的区别
    目录一、前言二、解决过程三、总结一、前言 有人提问了一个关于Python类变量和实例变量的问题,这里拿出来给大家分享下,一起学习。 是用英文提问的,当然了英文看上去也不难,有点二级...
    99+
    2022-11-13
  • python中类变量和实例变量有什么区别
    这篇文章给大家介绍python中类变量和实例变量有什么区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、...
    99+
    2023-06-14
  • python类变量和成员变量有什么区别
    在Python中,类变量和成员变量是两种不同类型的变量。类变量是在类的定义中声明的变量,它是类的所有实例共享的属性。当类变量的值被修...
    99+
    2023-10-10
    python
  • 深入理解python类的实例变量和类变量
    本python是python 3.5版本~!!!class aa:       w = 10       def __init__(self):            self.x = 11            self.y = 12  ...
    99+
    2023-01-31
    变量 实例 python
  • python类变量和实例变量的实例对比分析
    本篇内容主要讲解“python类变量和实例变量的实例对比分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python类变量和实例变量的实例对比分析”吧!区别类变量是所有对象共有的,其中一个对象...
    99+
    2023-06-30
  • java的静态变量和实例变量的区别是什么?
    静态变量属于类的级别,而实例变量属于对象的级别。静态变量和实例变量的主要区别有两点:存放位置不同类变量随着类的加载存在于方法区中,实例变量随着对象的对象的建立存在于堆内存中。生命周期不同类变量的生命周期最长,随着类的加载而加载,随着类的消失...
    99+
    2018-12-02
    java教程 java 静态变量 实例变量
  • Java中静态变量与实例变量的区别是什么
    今天就跟大家聊聊有关Java中静态变量与实例变量的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或...
    99+
    2023-06-17
  • python全局变量-局部变量用法和区别
    对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白 两者的区别了。 定义:全局变量:在模块内、在所有函数的外面、在class外面局部变量:在函数内、在class的方法内 下面来看看例子函数内部调用全局变量 a=...
    99+
    2023-01-31
    变量 局部 区别
  • PHP$_GET变量和PHP $_POST变量的区别
    本篇内容主要讲解“PHP$_GET变量和PHP $_POST变量的区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP$_GET变量和PHP $_POST变量的区别”吧!PHP $_GET ...
    99+
    2023-06-04
  • python中全局变量和局部变量有什么区别
    python中全局变量和局部变量有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • python全局变量和局部变量有什么区别
    Python中的全局变量和局部变量的区别如下:1. 作用域:全局变量在整个程序中都是可见的,可以在任何地方访问。而局部变量只在定义它...
    99+
    2023-08-12
    python
  • java全局变量和局部变量的区别
    局部变量 (推荐学习:java课程)局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。全局变量全局变量...
    99+
    2021-01-12
    java教程 java
  • C#静态变量和非静态变量的区别
    本篇内容介绍了“C#静态变量和非静态变量的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#基础概念之一,静态变量和非静态变量的区别?静...
    99+
    2023-06-18
  • Java中局部变量和成员变量的区别详解
    目录一. 关于变量1. 概念2. 命名规范3. 作用范围4. 变量分类二. 局部变量1. 概念2. 特点3. 案例三. 成员变量1 概念2. 实例变量3. 静态变量4. 权限修饰符5...
    99+
    2023-05-20
    Java成员变量 Java 局部变量 Java成员变量 局部变量区别
  • Python 变量类型实例详解
    目录1.变量赋值2.多个变量赋值3.标准数据类型4.Python 数字5.Python字符串6.Python列表7.ython 元组8..Python 字典9.Python数据类型转...
    99+
    2022-11-13
  • java中全局变量和局部变量的区别是什么?
    全局变量是编程术语中的一种,源自于变量之分。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。局部变量(Local variables):在方法内部(包括main()方法)定义的变量是局...
    99+
    2021-11-24
    java教程 java 全局变量 局部变量
  • Python中的变量和数据类型实例分析
    本篇内容介绍了“Python中的变量和数据类型实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python是一门弱数据类型的语言,变量...
    99+
    2023-06-29
  • php中静态变量和普通变量有什么区别
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在变量的前面加上static 就构成了静态变量(static 变量)。static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组...
    99+
    2014-09-28
    php 静态变量 普通变量
  • Java中局部变量和成员变量有什么区别
    今天小编给大家分享的是Java中局部变量和成员变量有什么区别,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。目录一. 关于变量 概念 命名规范 作用范围 变量分类二. 局部变量 概念 ...
    99+
    2023-07-06
  • php中静态变量和普通变量有哪些区别
    这篇“php中静态变量和普通变量有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中静态变量和普通变量有哪些区别...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作