Python3.x版本中新的字符串格式化方法

yipeiwu_com6年前Python基础

我们知道Python3.x引入了新的字符串格式化语法。不同于Python2.x的

复制代码 代码如下:

"%s %s "%(a,b) 

Python3.x是
复制代码 代码如下:

"{0} {1}".format(a,b) 

今天我在用MySQLdb时,需要用带参数的
复制代码 代码如下:

cursor.execute(sql,param) 

语句来完成SQL操作。被其他文章的陈旧说法给误导,用了

复制代码 代码如下:

cursor.execute('insert into test values(%s,%s,%s)',param) 

其中param是一个元组,表示要插入的数据,元组中的各个元素即是数据库中各列的值。
但是执行起来总是会抛出数据库异常,错误信息:
复制代码 代码如下:

【1064】You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'(%s,%s,%s)'at line……(以下省略)。

其实只要改成这样就好:
复制代码 代码如下:

cursor.execute('insert into test values({0},{1},{2})',param) 

实话说,Python3为了填上Python2的各坑导致了不向下兼容,使得学习Python3的成本提高了不少。但是为了不阻碍科技发展、社会进步,我还是毅然决然投身新版本……

相关文章

Python处理文本文件中控制字符的方法

控制字符 控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(...

详解python编译器和解释器的区别

高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器。 编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——...

python机器学习之神经网络实现

python机器学习之神经网络实现

神经网络在机器学习中有很大的应用,甚至涉及到方方面面。本文主要是简单介绍一下神经网络的基本理论概念和推算。同时也会介绍一下神经网络在数据分类方面的应用。 首先,当我们建立一个回归和分类模...

Python实现快速排序算法及去重的快速排序的简单示例

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它...

python中实现精确的浮点数运算详解

为什么说浮点数缺乏精确性? 在开始本文之前,让我们先来谈谈浮点数为什么缺乏精确性的问题,其实这不是Python的问题,而是实数的无限精度跟计算机的有限内存之间的矛盾。 举个例子,假如说我...