簡體   English   中英

Python從調用的模塊獲取返回的對象

[英]Python Get Returned Object From Called Module

鑒於此模塊(sample.py):

def calculation(x):
   r = x + 1
   return r

在Spyder的主要.py文件中,我這樣稱呼它:

import sample
b = sample.calculation(2)

我的(愚蠢的)問題是:如何訪問樣本模塊中定義的r,以便從中調用樣本的主.py文件中的其他計算?

我想繼續做類似的事情:

a = r/2

調用后在主.py文件中

sample.calculation(2)

更新:

我假設b會導致數字3。但是,如果模塊返回2個不同的數字(對象),該怎么辦? 如何單獨訪問它們?

我的(愚蠢的)問題是:如何訪問樣本模塊中定義的r,以便從中調用樣本的主.py文件中的其他計算?

您可以使用為其分配值的b變量。

但是,如果模塊返回兩個不同的數字(對象)怎么辦? 如何單獨訪問它們?

如果您的意思是該函數執行此操作:

def return_two_things():
    return 1, 2

然后將它們分配給兩個變量:

a, b = module.return_two_things()

如果您的意思是該函數執行此操作:

def wrong_way():
    return 1
    return 2

則您的函數是錯誤的,並且您誤解了return語句的工作方式。 函數一執行return就結束; 它不會繼續返回更多的東西。

通過全局訪問另一個模塊的變量是可能的。 但這不是一個好習慣,並且經常避免。 你可以這樣做

import sample
r = sample.calculation(2)

這樣,您可以使用相同的變量名“ r”,但現在它是一個局部變量。

關於從模塊返回多個對象的第二個問題,您可以執行此操作

def module1(x):
    return x+1,x+2

a,b = module1(5)
#a has 5+1 = 6 
#b has 5+2 = 7

暫無
暫無

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

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