簡體   English   中英

學習Python:從另一個函數在函數內部打印變量

[英]Learning Python: print variable inside a function from another function

我想在python中執行以下操作:

def func1():
 var1 = "something"

def func2():
 print var1

正確的模式是什么? 我完全沒有在文檔中找到

PS。 如果可能的話,我不打算將'var1'設置為全局變量。

謝謝。

我假設您不想在函數調用之間將變量作為參數傳遞。 在函數之間共享狀態的通常方法是定義一個類。 對於您的特定問題,這可能是過大的殺傷力,但它可以讓您擁有共享狀態並控制狀態:

class C:
    def func1(self):
     self.var1 = "something"

    def func2(self):
     print self.var1

foo = C()
foo.func1()
foo.func2()

不,不可能那樣做。 這是因為所謂的“ 范圍 ”。 您可以創建模塊級變量,也可以將其放在OOP構造中。

您可以嘗試:

filename.py:


def func1():
     var1 = "something"

def func2():
     var = __ import__('filename').var1
     print var

好了,您的func2()試圖在另一個函數的范圍內打印一個變量。 你可以

  • 調用func1時返回var1的值(例如def func2():print func1())
  • 從func1調用func2並傳遞var1的值

您可以嘗試類似

def func1():
   var1 = "something"
   return var1

def func2():
   print func1()

如果您需要func1來完成比定義var1還要多的事情,那么也許您需要定義一個類並創建對象? 參見http://docs.python.org/tutorial/classes.html

暫無
暫無

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

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