小编jec*_*afa的帖子

一个类的多个实例同时被覆盖?(蟒蛇)

这是一个非常简单的代码,用于演示我遇到的问题.这里发生的是我正在创建同一个类的两个不同实例,但更改一个属性会改变另一个实例的相应属性.我不确定为什么会这样.这在Python中是正常的还是我遇到了一些完全混乱的东西?

class exampleClass(object):

    attribute1=0
    attribute2="string"

x=exampleClass
x.attribute1=20
x.attribute2="Foo"

y=exampleClass
y.attribute1=60
y.attribute2="Bar"

print("X attributes: \n")
print(x.attribute1)
print(x.attribute2)

print("Y attributes: \n")
print(y.attribute1)
print(y.attribute2)
Run Code Online (Sandbox Code Playgroud)

这是程序从我的控制台出来的样子:

>>> 
X attributes: 

60
Bar
Y attributes: 

60
Bar
>>> 
Run Code Online (Sandbox Code Playgroud)

我认为应该说:

X attributes:

20
Foo
Y attributes:

60
Bar
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python class instance python-3.x

7
推荐指数
2
解决办法
5722
查看次数

艰苦学习Python:练习46

我在设置项目框架时遇到了麻烦,因为现在指南要求我使用仅Linux命令,而且我在Windows上.直到这个项目之前的整个指南与Windows没有兼容性问题,直到练习46中的一行代码.

我能够做到这一点:

$ mkdir -p projects
$ cd projects/
$ mkdir skeleton
$ cd skeleton
$ mkdir bin NAME tests docs
Run Code Online (Sandbox Code Playgroud)

我无法做到这一点:

$ touch NAME/__init__.py
$ touch tests/__init__.py
Run Code Online (Sandbox Code Playgroud)

('touch'不被识别为内部或外部命令,可操作程序或批处理文件.)

我知道这甚至不是这个练习的难点,但是作者并没有提供任何关于"触摸"或者他突然使用Linux的话.

python

3
推荐指数
2
解决办法
2590
查看次数

标签 统计

python ×2

class ×1

instance ×1

python-3.x ×1