簡體   English   中英

Python3字符串格式賦值導致在賦值之前引用

[英]Python3 string format assignment lead to referenced before assignment

據我所知,在賦值之前有一些關於引用的帖子有增量。

但是,我看到格式字符串的類似問題。

greeting = "hello, {}"

def printHello(name):
   greet = greeting.format(name)
   print(greet)

printHello("Erica")

local variable 'greet' referenced before assignment

任何人都可以解釋為什么會這樣嗎?

此外,這個錯誤偶爾會發生,所以它不是確定性的......

我認為global greeting會解決問題嗎?

==編輯==

我發現錯誤來自一個庫而不是我的代碼抱歉混淆

這里的問題是你重新定義了print ,因此它會進行遞歸。 將函數名稱更改為其他名稱應該可以解決問題

greeting = "hello, {}"

def printHello(name):
    greet = greeting.format(name)
    print(greet)

暫無
暫無

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

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