我是
Python的新手.尚未學過的課程.使用Python 3.2.2.嘗試實作一些程式C邏輯.我的代碼分布在2個檔案中,如下所示.
這個檔案叫做date.py
dd,mm,yy=0,0,0
def isValidDate(d,m,y):
if(d>=1 and d<=31 and m>=1 and m<=12):
dd,mm,yy=d,m,y #problem
print(dd,mm,yy) #problem
print(d,m,y) #problem
return True
else:
return False
def printDate():
print(dd,mm,yy) #problem
這個檔案叫做module1.py
import date
def main():
dd,mm,yy = 23,1,1984
valid = date.isValidDate(dd,mm,yy) #problem
print (valid)
date.printDate()
date.dd=22 #problem
date.printDate()
if __name__ == '__main__':
main()
我評論為“問題”的行給了我一些問題.
當執行module1.py中的語句(即“date.dd = 22”)時,date.py中全局變量的值将更改為22并保持該方式.
但是當我調用isValidDate()函數時,即使傳遞了測試條件,配置設定似乎也不是永久性的. isValidDate()函數中的本地print語句顯示為“dd”指派,但在main()函數中,對printDate()的調用顯示原始值.
到底是怎麼回事?