簡體   English   中英

使用其他函數中定義的參數

[英]Using parameters defined in other functions

我不是定義 function 的專家,但我需要創建一個新的。

我有一個 function

  • 我在哪里手動輸入查詢;
  • 我在哪里設置語言和國家/地區等參數;
  • 然后是最后一個 function 我應該將所有這些參數作為字段傳遞。

由於我使用的函數太大,這里就不一一介紹了,我舉個例子:

def fun1():
   query=input("Enter query:")
   return (query)

def fun2():
   country=input("Enter country:")
   language=input("Enter language:")
   return(country, language)

def fun3():
    
     fun1()
     fun2()
     print("Country: You have selected ",country)
     print("Language: You have selected ", language)
     print("Query: You have selected ", query)

這不識別來自先前功能的國家、語言和查詢。 您能解釋一下如何正確定義最后一個函數以使用先前設置的參數嗎?

方法如下:

def fun1():
    query = input("Enter query: ")
    return query

def fun2():
    country = input("Enter country: ")
    language = input("Enter language: ")
    return country, language

def fun3():
    
    query, (country, language) = fun1(), fun2()
    print("Country: You have selected", country)
    print("Language: You have selected", language)
    print("Query: You have selected", query)
    
fun3()

輸入:

Enter query: Are you happy?
Enter country: Australia
Enter language: English

Output:

Country: You have selected Australia
Language: You have selected English
Query: You have selected Are you happy?

當您調用函數時,它們會在自己的范圍內設置querycountrylanguage queryfun1()擁有, countrylanguagefun2()擁有。

當這些函數運行完畢后, querycountrylanguage go 超出 scope 並且不再有效。

由於您要返回這些變量的值,所以fun3()應該捕獲結果。

做你正在嘗試的正確方法是:

def fun3():
     query = fun1()
     country, language = fun2()
     print("Country: You have selected ",country)
     print("Language: You have selected ", language)
     print("Query: You have selected ", query)

暫無
暫無

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

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