Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >定义类外部的实例变量

定义类外部的实例变量
EN

Stack Overflow用户
提问于 2015-08-29 00:47:45
回答 2查看 1.3K关注 0票数 1

今天,我在接受采访时被问到一个问题:“如果我们在类之外定义实例变量,它会显示出任何错误”。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class temp():
    a=0
    b=0
    def __init__(self,*args):
        temp.a = args[0]
        temp.b = args[1]
        if len(args)>2 and args[2]:
            print 'extra',args[2]

    def display(self):
        print self.a,self.b,self.c

a = temp(4,9)
b = temp(5,3)
a.c = 20
a.display()

如果我运行上面的代码,我得到了c= 20的值。我来自c++背景,认为这是错误,但是not...why就像not...why允许在类之外创建变量。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-29 01:10:23

我建议在类和命名空间上阅读Python。在Python中,实例只是另一种类型的命名空间,在类定义之外定义实例变量只需要在定义实例的名称和值字典中添加一个条目。将此与C进行对比,其中实例是根据类定义中布局的模式构造的实际内存块。一旦定义了类,就不能在事实之后插入属性。

票数 3
EN

Stack Overflow用户

发布于 2015-08-29 01:02:41

在您的例子中,a是类temp的一个实例。您可以向它添加任何属性。在源代码中,您可以自己检查它,它将通过简单的指针操作将这个属性添加到这个实例中。我认为这是动态语言的关键点,它与C++完全不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32284259

复制
相关文章
深入理解python类的实例变量和类变量
a = aa()     #将a投入aa这个类中,进行实例化# print a.add()   #这个结果显然易见# #下边两条指令各起何作用?结果是输出两个 20 么?还是两个13?还是? aa.w = 20   
py3study
2020/01/09
1.4K0
Python类变量和实例变量区别
类变量:定义在类里面,通过类名或对象名引用,如果是通过对象名引用,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量,类变量的更新,只能通过类名,形如 类名.a = 55 ,不要指望通过实例引用类变量来更新类变量
王大力测试进阶之路
2019/10/25
1.5K0
python类成员变量和实例成员变量
print 'need %f hour(s)'% (distance/self.speed)
用户7886150
2020/12/20
1.4K0
java中类变量和实例变量的实质区别
相对于static(静态的)或说类的, 本章开始提到的都是instance(实例的)或说对象的。 每个对象都有自己的一份儿对象域或实例域,相互之间没关系, 不共享。 我们可以从对象中访问实例变量。
马克java社区
2021/03/15
2K0
java中类变量和实例变量的实质区别
【说站】python类变量和实例变量的对比
1、类变量是所有对象共有的,其中一个对象改变其价值,其他对象得到的是改变后的结果。
很酷的站长
2022/11/23
8290
【说站】python类变量和实例变量的对比
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
https://www.cnblogs.com/poloyy/p/15178423.html
小菠萝测试笔记
2022/03/23
1.4K0
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
Python面向对象编程-类和对象-实例变量和类变量
实例变量是指属于特定对象的变量。每个类的实例都具有自己的实例变量,它们的值可以不同。在上面的示例中,Person 类的 name 和 age 属性都是实例变量,因为它们属于特定的 Person 对象。
玖叁叁
2023/04/19
8470
Python面向对象中的类变量,实例变量怎么来理解?
前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个类变量和实例变量的问题,这里拿出来给大家分享下,一起学习下。
前端皮皮
2022/08/17
1.7K0
Python面向对象中的类变量,实例变量怎么来理解?
JAVA——类的定义及其实例化
1.Java中的类 类可以看成是创建Java对象的模板 修饰符 class 类名{     修饰符 数据类型 属性名(成员变量);//属性     //构造方法(无修饰符,无返回值,名称和类名一样)      //方法(成员函数) }        通过下面一个例子,简单理解一下Java类的定义 public class CAT{// public是类的修饰符,class是定义类的关键字,CAT是类名     String name;     int age;//name、age是类的成员变量     v
mathor
2018/06/22
1.3K0
Java中静态变量(类变量)、实例变量、局部变量和成员变量
学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系和区别。
用户8639654
2021/07/19
2.3K0
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
.29.
2023/10/25
2190
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
python中全局变量、局部变量、类变量、实例变量简析
因为python为动态语言,处理变量的方式与一些静态语言(比如C++)不大一样,在这里对这些变量进行小小的总结
用户7886150
2020/11/23
1.8K0
盘点一个面向对象的类变量和实例变量问题
前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python基础问题,这里拿出来给大家分享下,一起学习下。
前端皮皮
2022/08/17
6690
盘点一个面向对象的类变量和实例变量问题
Java类名 变量名的定义规范
标题类名 变量名 定义规范 类名 首字母大写 驼峰结构 变量名 首字母小写 驼峰结构 单词必须有意义 并且和程序相关 变量的定义 数据类型 变量名 = 值; 定义 数据类型 变量名; 赋值 变量名 = 值;
是阿超
2021/10/15
1.7K0
java 泛型类的定义和封装实例
为了让一个java类 在不同的类型都能在程序中调用,我们常常会将此类定义为泛型类,重要特点是:类的作用是通用的,仅此我们需要传入的类型不一样。
爱明依
2019/03/12
1.8K0
Python类变量和实例变量,傻傻分不清楚
前几天在Python最强王者交流群有个叫【Chloé】的粉丝问了一个关于Python类变量和实例变量的问题,这里拿出来给大家分享下,一起学习。
Python进阶者
2022/03/10
1K0
Python类变量和实例变量,傻傻分不清楚
awk给外部变量赋值
假设将值存在文件t中,文件t内容如下,只有一行:a b c 需要将a、b和c分别赋给外部变量x、y和z,则脚本可写成如下: eval $(awk '{ printf("x=%s\ny=%s\nz=%s",$1,$2,$3); }' ./t) echo $x echo $y echo $z 请注意printf函数中的换行符\n是必须的,起关键作用的是eval命令,它在很多场景有特别的用处。
一见
2018/08/02
3.9K0
c语言局部变量、全局变量、静态变量、内部函数、外部函数、声明、定义、extern作用总结
  前两种方式定义的变量可以在函数内任何地方使用,而第三种方式定义的变量只能在复合语句内使用。
vv彭
2020/10/27
9.7K0
c语言局部变量、全局变量、静态变量、内部函数、外部函数、声明、定义、extern作用总结
点击加载更多

相似问题

从类实例定义外部访问类实例的成员

13

从类外部访问实例变量

20

从外部访问类的实例变量

33

类定义外部的引用实例方法

14

访问类定义外部的变量

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文