Python中字符串中的变量

2024-06-16 14:10:13 发布

您现在位置: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变量将被视为字符串。搞什么鬼??请帮帮我!你知道吗


Tags: id代码段create事情dslsomethingstatementmini
3条回答

在字典里

{"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

不是有效的sintax。你知道吗

你能做些什么来解决这个问题?也许可以将数字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"

相关问题 更多 >