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

属于类的变量定义
EN

Stack Overflow用户
提问于 2019-07-31 03:33:02
回答 1查看 47关注 0票数 2

我只是在乞求学习python (来自C);对于属于类的变量的定义方式,我感到非常困惑(不管是“类类型”还是“实例类型”,我的问题更基本)。到目前为止,我已经对以下代码行进行了实验:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class A:
  pass

A.a = 1
A.b = 2
print(A.a+A.b)

这段代码出人意料地返回了"3“(虽然我预期会出现错误),这将导致我来到这里。我不明白为什么解释器能够插入属于"A“类的变量(我从未定义过)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-31 03:40:57

从C的角度来看,假设Python属性存储在哈希表中,因此可以在运行时动态地修改和查询。

考虑到这一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class A:
    pass

print(A.__dict__)
{'__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None}

当您像以前一样修改A时,您正在修改它的 member

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A.a = 1

print(A.__dict__)
{'__module__': '__main__', '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None, 'a': 1}

注意它现在是如何包含a

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(A.__dict__['a'])
1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57289792

复制
相关文章
Apache、tomcat、Jboss、weblogic、WebSphere区别和容器的作用
总结:Apache/Tomcat/JBOSS/Nginx区别 . 1、Apache是Web服务器,Tomcat是应用(Java)服务器。Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。Apache支持静态页,Tomcat支持动态的。 2、Jetty:Tomcat内核作为其Servlet容器引擎,并加以审核和调优.大中型系统可以应用。能够提供数据库连接池服务,还支持其他 Web 技术的集成,譬如PHP、.NET 两大阵营. 3、JBoss是一个管理EJB的容器和服务器,但JBoss核心
小小科
2018/05/02
3.7K0
Exploiting Jolokia Agent with Java EE Servers
0x00 - About Jolokia Jolokia 是一个通过 HTTP 的 JMX 连接器,提供了类 RESTful 的操作方式,可以通过 POST JSON 的方式访问和修改 JMX 属性、执行 JMX 操作、搜索 MBean、列出 MBean 的 Meta-data 等。 Jolokia 支持提供了多种 Agents,包括 WAR Agent、OSGi Agent、JVM Agent 或者 Mule Agent。其中 WAR Agent 支持了多种 Web Server: JBoss 4.
云鼎实验室
2018/04/02
1.7K0
Exploiting Jolokia Agent with Java EE Servers
flowable camunda activiti 功能对比
flowable camunda activiti 三个框架都是从jbpm框架诞生出来的,先是有jbpm4,然后出来了一个activiti5,activiti5发展一段时间,又出来了一个Camunda。activiti5发展了4年,紧接着出来了一个flowable。本文重点对flowable camunda两个框架的功能对比。对比的camunda版本是7.10.0,flowable框架的版本是6.4.1.
全栈程序员站长
2022/08/31
8.3K1
flowable camunda activiti 功能对比
Migrating to WebSphere 9
Migrating to WebSphere 9 Make a migration plan Requirements Migrate WebSphere profiles into the new WebSphere Keep profiles' locations as the original path Prepare Install the new WebSphere Setup variables At first, we need to record variables related to
绿巨人
2018/05/16
9480
在eclipse中使用Tomcat8.5时,出现了如下错误:
在建立Tomcat服务时,eclipse会自动生成一个Servers的项目. 在这个项目中,找到你部署项目的服务文件夹. 在这个文件夹下有一个"server.xml"文件,打开这个文件,删除里面对应项目的Context节点即可。
兮动人
2021/06/11
3.7K0
在eclipse中使用Tomcat8.5时,出现了如下错误:
Tomcat原理剖析-tomcat介绍和源码idea构建
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
程序猿川子
2022/08/10
7880
8.5 DebuggerPresent
CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用。函数接收两个参数进程句柄和一个指向布尔值的指针。如果指定的进程正在被调试,则函数会把指向布尔值的指针设为 TRUE,否则设为FALSE。
微软技术分享
2023/09/27
1610
8.5 DebuggerPresent
【JAVA调错】----JBoss发布多个项目时抛出webAppRootKey错误
进行如上配置后,修改log4j.xml后,在刷新间隔时间后,配置的监听器Log4jConfigListener会重新加载log4j相关配置。
令仔很忙
2018/09/14
1.1K0
迁移Hexo到halo
此前,我使用hexo,犹豫hexo是静态的,有所不便。无意之中发现这款博客框架。此博客使用java所以,内存需求比较高。优点是美观,支持批量导入md。
Innei
2021/12/28
1.2K0
8.5 DebuggerPresent
CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用。函数接收两个参数进程句柄和一个指向布尔值的指针。如果指定的进程正在被调试,则函数会把指向布尔值的指针设为 TRUE,否则设为FALSE。
微软技术分享
2023/10/11
1290
迁移 VPS 到 Vultr
趁着中秋节之前总算是把我的 VPS 迁移到了 Vultr,域名也换了一个 .me 结尾的,更有个人网站的感觉,但是一年下来也得多花不少钱,疼死我了。
kifuan
2022/10/24
18.7K0
迁移 VPS 到 Vultr
迁移 Nginx 到 Envoy
大部分的应用可能还是使用的比较传统的 Nginx 来做服务代理,本文我们将介绍如何将 Nginx 的配置迁移到 Envoy 上来。我们将学到:
我是阳明
2020/06/15
1.3K0
迁移 Nginx 到 Envoy
Linux下Jboss安装使用+Jboss部署脚本「建议收藏」
Jboss是Java EE应用服务器(就像Apache是web服务器一样),专门用来运行Java EE程序的。
全栈程序员站长
2022/09/27
4.9K0
Linux下Jboss安装使用+Jboss部署脚本「建议收藏」
Jboss安装
 1、下载http://pan.baidu.com/s/1bnmYN7p,解压jboss-as-7.1.1.Final.zip即完成安装
week
2018/08/27
1.3K0
8.5 存储紧缩
1、在整个动态存储管理过程中,不管哪个时刻,可利用空间都是一个地址连续的存储区,在编译程序中称之为“堆”,每次分配都是从这个可利用空间中划出一块。
小林C语言
2020/12/12
3980
8.5 存储紧缩
IBM WebSphere MQ 系列(三)配置和使用WebSphere MQ
配置和使用WebSphere MQ A.设置环境变量   在shell中执行MQ的控制命令:     ctrmqm     strmqm   若识别这些命令,则说明PATH环境变量已配置好了;   若提示找不到命令,则说明需配置Linux环境变量,指定MQ的bin路径到PATH:      可选择修改系统的环境变量(/etc/profile文件,对全部用户可见),      或只修改用户mqadmin的环境变量(/var/mqm/.bash_profile,只对当前用户可见。     下面列出前者的修改方式
Java学习123
2018/05/16
6.4K0
JBoss 主要模块
本文介绍了JBoss的主要模块,包括JBoss EJB容器、JBossNS、JBossTX、部署服务、JBossMQ、JBossSX和JBossCX。JBoss EJB容器是JBoss服务器的核心实现,支持热部署。JBossNS提供命名服务,用于定位对象和资源。JBossTX支持JTA/JTS和交易管理。部署服务支持EJB、Web应用和企业级应用的部署。JBossMQ是Java消息服务规范实现。JBossSX支持安全实现,包括基于JAAS的或不支持JAAS机制的安全。JBossCX实现了部分JCA功能。Web服务器支持Web容器和Servlet引擎。
YGingko
2017/12/28
1.5K0
eclipse + JBoss 5 +
有时客户端程序(如JSP、Servlet)会和EJB组件运行在同一个JVM上,如在同一个J2EE服务器(JBoss、Weblogic等)中运行。这时就没必要 再通过远程(remote)接口访问Session Bean了,因为客户端和session bean都在同一个jvm上,只需要通过本地接口(local)访问即可。就象直接访问本地类一样(当然,不能直接访问EJB类,需要使用jndi和local接口来获得本地接口对象。当然,也可以通过remote接口来访问ejb,不过这样会有一些性能损失。就象在同一台机器上还通过socket进行访问一样,很多性能都损耗在网络上了。下面我们来举个简单的例子来看一下如何使用本地接口来访问session bean。     先建立一个session bean本地接口,代码如下:
py3study
2020/01/14
6700
jboss下载和安装[通俗易懂]
1. 下载 http://www.jboss.org/jbossas/downloads/ 选择Certified Java EE 6 Full Profile版本,我下载的是 jboss-as-7.1.1.Final.zip。 2. 解压 jboss-as-7.1.1.Final.zip 注意整个路径必须没有空格才行。 3. 配置环境变量 JRE 环境变量 JAVA_HOME JRE的路径 CLASSPATH %JAVA_HOME%\lib PATH %JAVA_HOME%\bin
全栈程序员站长
2022/09/28
2.5K0
jboss下载和安装[通俗易懂]
点击加载更多

相似问题

Websphere到Jboss的迁移

12

WebLogic8.1到Websphere 8.5迁移

14

IBM websphere到JBOSS的迁移

24

WebSphere8.5应用程序到IBM迁移上的Websphere自由

10

从Tomcat6.0迁移到WebSphere 8.5

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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