2017-02-17 116 views
0

我打印一個變量的內容,儘管變量存在於def中。這是我的代碼看起來像:如何打印一個變量在def - python

def count_words(): 
    var_one = "hello world" 

print count_words.var_one 

上述不起作用。我收到以下錯誤:

AttributeError: 'function' object has no attribute 'hello' 

我該如何解決這個問題?

+2

你不能在一個函數中打印一個變量,因爲它需要*執行這個函數... –

+1

可能重複[Python - 函數輸出?](http:// stackoverflow的.com /問題/ 3052793 /蟒-輸出從函數) –

回答

2

你需要返回的東西:

def count_words(): 
    var_one = "hello world" 
    return var_one 

print(count_words()) 

現在打印語句調用函數和打印返回什麼價值。

1

尼克的答案可能是你想要的。作爲一個側面說明,你可能想使用一個類和訪問它的屬性,像這樣:

class CountWords(): 
    var_one = "hello world" # this is the attribute 

count_words = CountWords() # instantiate the class 
print(count_words.var_one) # access the class' attribute 
1

如果你要打印他一個變量的內容,你需要確保變量退出,您可以訪問。根據你的代碼片段,你不能做你想要的,因爲這兩個條件都不滿意。寫入文件中的代碼和執行後的代碼並不相同。寫在一個文件中的代碼就像一本食譜,當計算機執行代碼時,正如廚師根據食譜烹飪的東西一樣。你不能在廚師烹飪的時候強迫食材(打印變量)(變量不會在運行環境中退出,只能在文件中退出)。而且,如果廚師不允許你強硬,你就不能強悍(你沒有可打印變量的可訪問性)。功能就像一個配方,它告訴你如何做一些烹飪,但它只會保留在紙張(文件)中,直到你按照配方進行烹飪。然後你可以打印變量answer