簡體   English   中英

將函數內部的變量傳遞給另一個Python文件

[英]Passing a variable inside of a function to another Python file

我有兩個python文件,分別是classification_model.pyresult.py classification_model.py文件中有一個函數

def learningbased():
    ann_accuracy = (metrics.accuracy_score(expected, predicted))

我想把這個ann_accuracy變量放到result.py文件中。我用過

from classification_model import *
from classification_model import learningbased

但它不起作用。 誰能告訴我怎么能這樣做呢。

好方法:你可以在函數中返回ann_accuracy的值,並調用result.py中的函數來獲取值。

#classification_model.py:
def learningbased():
    ann_accuracy = (metrics.accuracy_score(expected, predicted))
    return ann_accuracy

#result.py
from classification_model import *
ann_accuracy = learningbased()

替代方式(在絕望時使用,沒有其他解決方案):將ann_accuracy聲明為classification_model.py中的全局變量。 這樣當你from classification_model import *調用函數時,你將獲得result.py中的全局變量

我認為您應該通過添加__init__.py文件將項目聲明為包:

project_folder
    |_ __init__.py
    |_ classification_model.py
    |_ result.py

完成后,在result.py你可以這樣做:

from . import classification_model
classification_model.learning_based()

它與已經建議的內容略有不同,它使您能夠清楚地組織項目。

將ann_accuracy聲明為classification_model.py中的全局變量。 使用from classification_model import * ,您可以在result.py中使用/訪問全局變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM