import first first.setX(4)
import first print(first.X) """不要像这样直接赋值,让别人意想不到……""" # first.X = 88 """""" first.setX(66)
#/bin/python X = 99 def setX(new): global X X = new import first first.setX(88)
import first first.setX(45)
# 프로그램 설계: 파일 간 변경을 최소화하기 # first.py X = 99 # 이 코드는 second.py를 모름 # second.py import first print(first.X) # OK: 다른 파일의 이름을 참조함 first.X = 88 # 하지만 이 값의 변경은 너무 암묵적이고 미묘함 # first.py X = 99 def setX(new): # 접근자는 외부 접근을 명시적으로 만들며 global X # 한 곳에서 접근을 관리할 수 있음 X = new # second.py import first first.setX(88) # 직접 값을 변경하는 대신 함수를 호출함
#!/usr/local/bin/python3.3 import first print(first.X) first.setX(88) print(first.X) print(dir(first))
import sys import os sys.path.append(os.getcwd()) import first print(first.X) first.setX(88) #call the function instead of changing directly
""" import first print(first.x) first.x = 88 print(first.x) """ import first print(first.x) first.setX(55) print(first.x)
# second.py import first print(first.X) # 99 - OK: references a name in another file first.setX(88) # But changing it can be too subtle and implicit print(first.X) # 88 first.log() # 88
import first ''' # Cross-file change print(first.X) first.X = 88 print(first.X) ''' # Using accessor function print(first.X) first.setX(77) print(first.X)