[英]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.