首页 > 代码库 > 【Python】关于python格式化参数的问题

【Python】关于python格式化参数的问题

上次在python中使用字符串格式化参数,遇到一个运算符优先级的问题,当时也是花了很久才发现问题,记录在此。

当时定义了这么两个变量:

datacenter = int(sys.argv[1])client = int(sys.argv[2])

也就是说datacenter和client都是int类型的。然后再调用下面这句话的时候出错。

dc_net = self.addSwitch(s%d % datacenter+client+1)

提示不能把str和int进行拼接,但我当时想的明明datacenter和client都是int,想加起来为什么说不能拼接呢。

后来分析应该是优先级的问题,上面这句话默认把为%d参数设置为datacenter了,那么这句话就成了一个str+int+1的形式了,自然会报错。

因此改为这样就好了:

dc_net = self.addSwitch(s%d % (datacenter+client+1))

 

【Python】关于python格式化参数的问题