首页 > 编程语言 >【python】类变量和成员变量

【python】类变量和成员变量

时间:2023-06-03 11:23:15浏览次数:46  
标签:变量 python 成员 T2 T1 print Test self

类变量

  • 定义

    在类里面定义,且不位于构造或者成员函数里面,同时没有" self. " 的前缀;或者在类外定义,用 类名.类变量名 来新增加类变量。

  • 使用

    两种使用方法: (1)类名.类变量名(如下的 Test.a) (2)类的实例对象.类变量名(如下的 T.a)

    exp:

class Test:
	a = 1						### 类变量
	def __init__(self):
		self.member = 2
	def indoor(self, people):
		self.member = people

T = Test()
print(Test.a)			## 使用方法(1)
print(T.a)			## 使用方法(2)

>> 1
>> 1

作用范围

类变量可以通过 使用方法(1)进行全局的修改(如操作1所示)

类变量通过 使用方法(2)只能进行局部的修改(如操作2所示)

也就是说 刚开始Test.a 和T1.a 还有 T2.a 都是指向同一地址,Test.a的修改只是修改地址里的值,而没有修改地址,而直接修改实例化对象(如T1.a 或者 T2.a)的数值,会让其实例对象的值指向新的内存空间,并且不再受到类变量Test.a的影响

exp:

class Test:
	a = 1
	def __init__(self):
		self.member = 2
	def indoor(self, people):
		self.member = people

T1 = Test()
T2 = Test()
print(T1.a)
print(T2.a)
print(Test.a)

print("############ 操作1 ###########")
Test.a = 1000
print(T1.a)
print(T2.a)
print(Test.a)

print("############ 操作2 ###########")
T1.a = 2000
print(T1.a)
print(T2.a)
print(Test.a)

输出:

1
1
1
############ 操作1 ###########
1000
1000
1000
############ 操作2 ###########
2000
1000
1000

参考资料

1. Python中的类变量和成员变量

标签:变量,python,成员,T2,T1,print,Test,self
From: https://www.cnblogs.com/sunbines/p/17453669.html

相关文章

  • mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and
    参考:https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1  =========================================== 运行代码:importmpi4py.MPIasMPIcomm=MPI.COMM_WORLDcomm_rank=comm.Get_rank()comm_size=comm.G......
  • python pip安装库时遇到fatal error的问题解决
    当时的图片没有留,写点东西做备忘吧。一开始尝试pipinstallxx库,cmd提示pip不是批处理文件或命令,解决方法:去属性的高级设置里,在用户变量的Path里增加pip所在的路径,如果不知道pip在哪里,就在cmd里输入wherepip查询,查不到就在文件管理里用查询。解决这个问题后,再尝试安装,错误提示......
  • Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用|附代码数据
    原文链接:http://tecdat.cn/?p=24407最近我们被客户要求撰写关于金融时间序列模型的研究报告,包括一些图形和统计输出。这篇文章讨论了自回归综合移动平均模型(ARIMA)和自回归条件异方差模型(GARCH)及其在股票市场预测中的应用 ( 点击文末“阅读原文”获取完整代码数据******......
  • C语言-变量
    变量的作用域作用域(scope)指的是变量生效的范围。C语言的变量作用域主要有两种:文件作用域(filescope)和块作用域(blockscope)。文件作用域(filescope)指的是,在源码文件顶层声明的变量,从声明的位置到文件结束都有效。intx=1;intmain(void){printf("%i\n",x);}上面示例中,变......
  • 在python中对Excel进行简单的操作
    #表格的操作 #创建表格 wb=Workbook() #打开第一个工作表 wb.active #保存 wb.save("路径+文件名或文件名") #关闭 wb.close() #读取Excel中所有的工作表 wb.get_sheet_names() #访问第一个工作表 wb.worksheets[0] wb.get_sheet_names()[0] #编辑第一个工作表......
  • python扫描proxy并获取可用代理ip列表
    mac或linux下可以work的代码如下:#coding=utf-8importrequestsimportrefrombs4importBeautifulSoupasbsimportQueueimportthreadingimportrandomimportreheaders_useragents=[]headers_referers=[]headers_referers.append('http://www.google.com/?q......
  • Python | VSCode代码调试技巧
    VScode开启代码调试点击左侧的调试按钮:打上断点后:左侧可以监测变量的变化;主要用到的单步调试栏:主要有单步跳过、单步进入、单步跳出等。......
  • 2、Ansible如何写playbook及playbook中使用变量
    ansible的playbook(按照yaml格式)三种常见的数据格式XMLJSONYAMLYAML支持的几种常用数据类型标量:单个的、不可再分的值对象:键值对的集合(字典)数组:一组按次序排列的值(列表)playbook命令--syntax,--syntax-check#语法检查,功能相当于bash-n-C--check#......
  • python中集合,序列,映射
    在Python中,序列是一种有序的数据类型,它包括字符串、列表、元组和范围。下面是这些序列类型的简要介绍:字符串(String):字符串是由字符组成的不可变序列,用于表示文本。可以通过索引访问字符串中的单个字符,也可以使用切片操作访问子字符串。列表(List):列表是由任意类型的元素组成的可变......
  • python学习笔记
    #一、切片操作#第一个位置代表区间左端点,第二个位置代表区间右端点,区间左闭右开,第三个位置代表步长print('--------------------------------------------------------------------')seq=[0,1,2,3,4,5,6,7,8,9]print(seq[1:4])print(seq[:5])print(seq[5:])p......