Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中字符串中的变量_Python_String - Fatal编程技术网

Python中字符串中的变量

Python中字符串中的变量,python,string,Python,String,我很困惑。我不明白为什么Python中的类似内容可以很好地工作: PPcode = 'something' createNode = {"statement":"CREATE (bconf:DslBconf {nodeType:"+PPcode+", id: 'DSL-MINI-BCONF-ALU', t: '1'})"} 类似这样的事情给了我一个错误: createNode = {"statement":"CREATE (bconf:DslBconf {nodeType:"someth

我很困惑。我不明白为什么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'})"
而你的破译代码的计算结果是

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

在第一个示例中,nodeType作为一个整数传入,在第二个示例中,它是一个字符串

nodeType: 14
vs

在字典里

{"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'})"
    

createNode={“语句”:“CREATE(bconf:DslBconf{nodeType:14,id:'DSL-MINI-bconf-ALU',temaxia:'1'})”
是第一条语句的等价项……
abc“14”de
实际上是
abc“14”de“
,即用整数分隔的两个字符串。无效语法,由简单的印刷错误引起。不一定是整数。实际上,我在PPcode变量中有一个字符串。
“abc”something“de”
会再次引发错误
something
不是字符串,因为第二个引号结束第一个字符串,第三个引号开始第二个字符串,将
something
保留为未定义的名称。很抱歉误解。这个数字只是一个例子。实际上我有一根绳子。这是我在PPcode变量中传递的内容。
"CREATE (bconf:DslBconf {nodeType:" + "some other string" + ", id: 'DSL-MINI-BCONF-ALU', temaxia: '1'})"