簡體   English   中英

Python中字符串中的變量

[英]Variables inside a string in Python

我很迷惑。 我不明白為什么像 Python 這樣的東西可以正常工作:

 PPcode = 'something'
 createNode = {"statement":"CREATE (bconf:DslBconf {nodeType:"+PPcode+", id: 'DSL-MINI-BCONF-ALU', t: '1'})"}

像這樣的事情給了我一個錯誤:

 createNode = {"statement":"CREATE (bconf:DslBconf {nodeType:"something", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"}

唯一的區別是 nodeType 屬性。 而不是有一個變量,我只是直接傳遞值。 如果在第二個片段中我將雙引號更改為單引號,則它可以工作,但是如果我在第一個片段中執行相同操作,則 PPcode 變量將被視為字符串。 有沒有搞錯?? 請一些幫助!

在字典里

{"statement":"CREATE (bconf:DslBconf {nodeType:"14", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"}

價值是

"CREATE (bconf:DslBconf {nodeType:"14", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"

由於雙引號"確定字符串的開始/結束,因此前面提到的行將等效於:

string14string

這不是有效的語法。

你能做些什么來解決它? 也許你可以連接數字14 ,但通過使用它的字符串表示:

string + str(14) + string

這將導致:

"CREATE (bconf:DslBconf {nodeType:" + str(14) + ", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"

編輯:

  • 根據您的說明,重要的是要注意字符串連接是使用+運算符完成的:

     "CREATE (bconf:DslBconf {nodeType:" + "some other string" + ", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"

您的工作代碼評估為

"statement":"CREATE (bconf:DslBconf {nodeType:14, id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"

並且您損壞的代碼評估為

"statement":"CREATE (bconf:DslBconf {nodeType:"14", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"

一個在 14 附近有引號,一個沒有

在第一個示例中, nodeType 作為整數傳入,在第二個示例中它是一個字符串。

nodeType: 14

對比

nodeType: "14"

暫無
暫無

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

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