def main(): for i in generate_strings(): try: run(i, False, False, False) except: # print(f"err problem: {i}") pass print(WRONG) print(SUPERWRONG) print(OFFW)
# c.py import a # 由于是直接import a 所以都是从源模块a里面拿出来的,所以这里的改变都会影响源模块a # 可以理解为有着作用域 a.的限制 a.data[0] = 5 print(a.data) # 输出[5,2,3] a.run() # 输出[5,2,3] a.data = 100 # 因为这里影响的是a里面的data print(a.data) # 输出100 a.run() # 输出100
# b.py from a import run, data data[0] = 5 # 类似赋值,b里面的data和a里面的data指向同一个对象,这么做对两者都有影响 print(data) # 输出[5,2,3] run() # 输出[5,2,3] data = 100 # 由于直接改变了data的指向,所以不会影响源模块a print(data) # 输出100 run() # 输出[5,2,3]
import a a.run() print("World")