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入门者的一些编程建议

Python是一种非常富有表现力的语言。它为我们提供了一个庞大的标准库和许多内置模块,帮助我们快速完成工作。然而,许多人可能会迷失在它提供的功能中,不能充分利用标准库,过度重视单行脚本,...

基于树莓派的语音对话机器人

本文实例为大家分享了基于树莓派的语音对话机器人,供大家参考,具体内容如下 第一部分代码 arecord -D "plughw:1" -f S16_LE -r 16000 -d 3 /...

python实现大学人员管理系统

python作为一个面对对象的程序设计语言,实现一个人员管理系统有自己关于类的方法。 首先,通过定义一个人员的类对象,实现对于人员公共特性的支持,公共的特性包括:姓名,性别,出生日期等,...

python科学计算之scipy——optimize用法

写在前面 SciPy的optimize模块提供了许多数值优化算法,下面对其中的一些记录。 非线性方程组求解 SciPy中对非线性方程组求解是fslove()函数,它的调用形式一般为fsl...

连接pandas以及数组转pandas的方法

pandas转数组 np.array(pandas) 数组转pandas pandas.DataFrame(numpy) pandas连接,只是左右接上,不合并值 df...