1
我有一個關於python全局範圍的問題。更改全局範圍對象
我做這個劇本和作品,但我不知道爲什麼:
#! /bin/python3
# -*- coding: UTF-8 -*-
data = []
stats = {'white':0, }
def main():
global data
with open(args.finput, 'r') as f:
data = f.readlines()
rwhitespaces()
with open(foutput, 'w') as f:
for line in data:
f.write(line)
print(stats)
def rwhitespaces():
cnt = 0
for line in data:
if line == '\n':
data.pop(cnt) # Modifing data var without global keywork and works, why??
stats['fistro'] = 1 # Modifing stats var without global keywork and works why??
cnt += 1
if __name__ == "__main__":
main()
所以我誤解與全球範圍內的東西能有人解釋我嗎? 謝謝並對不起我的英文不好
那麼,它*是*關於改變一個變量 - 而不是一個對象的值。 – delnan
@delnan爲了清晰起見,我重寫了一遍。 –