我已经在Stack Exchange上阅读了很多像Python一样的答案- 为什么在课堂上使用"self"? 阅读完这些内容之后,我了解到实例变量对于类的每个实例都是唯一的,而类变量是在所有实例之间共享的.在玩的时候我发现这个代码 -
class A:
x = []
def add(self):
self.x.append(1)
x = A()
y = A()
x.add()
print "Y's x:",y.x
Run Code Online (Sandbox Code Playgroud)
确实给出了输出[1].但是,这段代码 -
class A:
x = 10
def add(self):
self.x += 1
x = A()
y = A()
x.add()
print "Y's x:",y.x
Run Code Online (Sandbox Code Playgroud)
给出输出,就像10我认为的那样11.如果这是一个非常无聊的问题,请原谅我,但我在编程方面不是很有经验.
我已经阅读了file.readlines逐行读取整个文件并将其存储在列表中.如果我有这样的文件 -
Sentence 1
Sentence 2
Sentence 3
Run Code Online (Sandbox Code Playgroud)
我用它readlines来打印每个句子 -
file = open("test.txt")
for i in file.readlines():
print i
Run Code Online (Sandbox Code Playgroud)
输出是
Sentence 1
Sentence 2
Sentence 3
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么我在每个句子之间得到额外的界限,我怎么能摆脱它呢?如果这个问题非常愚蠢,请原谅我,但我对Python不是很有经验.
UPDATE
我发现使用i.strip也删除了多余的线,为什么会发生这种情况?据我所知,split删除字符串末尾和字符串开头的空格.