[英]Why won't my imported function work in main?
這是我嘗試導入以使其適用於項目的代碼。
import random
def ReturnHit(denominator,numerator):
if (denominator == 0):
denominator = 1
if (numerator == 0):
numerator = 1
num = random.randint(1,denominator)
#if num is less than a the numberator then return yes on the hit
if (num < numerator):
return True
else:
return False
def ReturnApproxCurvedHit(average,lowerLimit,upperLimit):
#return true or false based on probability position in the bell curve
n = range(lowerLimit,upperLimit)
for i in n:
if(ReturnHit(1,abs(average - i)*2)):
return True
else:
return False
然后是我的主要設置功能以測試我是否正確導入了所有內容。 我的測試功能工作得很好,甚至可以完美地返回所有內容。 測試 function 說“你好”,當然返回“0”。 但是 stat.py 文件不允許我使用 ReturnHit。
#I need to find a way to test the stat.py
import stat
import module
module.say_hello()
z = module.zero()
print(z)
stat.ReturnHit(1,10)
它吐出一個錯誤:
Traceback (most recent call last):
File "main.py", line 11, in <module>
stat.ReturnHit(1,10)
AttributeError: module 'stat' has no attribute 'ReturnHit'
順便說一句,我正在重新制作。
模塊stat
是 Python 附帶的內置模塊。 由於在解析導入時首先搜索內置模塊,因此當您編寫import stat
時,您將獲得該模塊,而不是您的本地stat.py
模塊。
要解決這個問題1 ,您需要將stat.py
重命名為其他名稱(盡管不是statistics
,這將有同樣的問題)。
1或者,您可以繞過默認模塊搜索路徑並直接從其文件路徑導入您的stat.py
模塊,但這不是常見或推薦的做法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.