Как запретить Spyder влиять на область видимости во время выполнения? - PullRequest
0 голосов
/ 08 мая 2020

Итак, моя любимая функция Spyder - это обозреватель переменных, но меня расстраивает, когда способ сохранения переменных Spyder приводит к тому, что мой код ведет себя иначе, чем в других средах. В частности, это приводит к тому, что функции обращаются к переменным, которые не должны входить в его область действия. Например:

def get_dataset():
    # Returns dataset

def compute_betas():
    dataset = get_dataset()
    n = len(dataset)    
    xBar = sum([datum[0] for datum in dataset]) / n
    yBar = sum([datum[1] for datum in dataset]) / n   
    beta_1_hat = (sum([(datum[0] - xBar) * (datum[1] - yBar) for datum in data]) # Note that data hasn't been define yet in this function 
                    / sum([(datum[0] - xBar)**2 for datum in data]))    
    beta_0_hat = yBar - beta_1_hat * xBar    
    return (beta_0_hat, beta_1_hat, regression(beta_0_hat, beta_1_hat))

if __name__=="__main__":
    data = get_dataset()
    compute_betas()

Когда я запускаю это, я не получаю никаких ошибок, и он даже ведет себя так, как ожидалось, несмотря на то, что не определил данные переменных в computing_betas () до ссылки на него. Подобные вещи приводят к тому, что я не понимаю, что совершил ошибку, по крайней мере, вскоре после того, как я sh осознал это.

Есть ли способ переключить такое поведение в Spyder? Я пробовал поискать в Google и настройках, но ничего не нашел.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...