原创by南山南北秋悲

欢迎引用!请注明原地址:http://www.cnblogs.com/hwd9654/p/5676746.html  谢谢!

TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'

打印变量时遇到的问题,

想着c语言中printf("%s", 变量名)

python中 应该也是类似的语句

果断百度,发现是通过语句后附加一个%(变量名)来解决的

详细如下:

print语句可以使用跟着%符号的项目元组的字符串。这些字符串具备定制的功能。定制让输出满足某种特定的格式。定制可以是%s表示字符串或%d表示整数。元组必须按照相同的顺序来对应这些定制。

观察我们使用的第一个元组,我们首先使用%s,这对应变量name,它是元组中的第一个项目。而第二个定制是%d,它对应元组的第二个项目age

Python在这里所做的是把元组中的每个项目转换成字符串并且用字符串的值替换定制的位置。因此%s被替换为变量name的值,依此类推。

print的这个用法使得编写输出变得极其简单,它避免了许多字符串操作。它也避免了我们一直以来使用的逗号。

在大多数时候,你可以只使用%s定制,而让Python来提你处理剩余的事情。这种方法对数同样奏效。然而,你可能希望使用正确的定制,从而可以避免多一层的检验程序是否正确。

在第二个print语句中,我们使用了一个定制,后面跟着%符号后的单个项目——没有圆括号。这只在字符串中只有一个定制的时候有效。

例子:

age = 22
name = 'Swaroop'

print '%s is %d years old' % (name, age)
print 'Why is %s playing with that python?' % name

结果:

Swaroop is 22 years old
Why is Swaroop playing with that python?

可是我自己编程的时候却遇到了上述问题:TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'

语句如下:

a = 'Peter'
b = 'Linda' print("who is the murder? %s or %s?") % (a, b) 后来才发现,python3.x与python2.x有一点区别,
原来%(变量名,...)应该是加在print括号里的
如:print("who is the murder? %s or %s" % (a, b)) 改完以后输出正常:

												

最新文章

  1. Cheatsheet: 2015 08.01 ~ 08.31
  2. 每日英语:The Secret About Online Ad Traffic: One-Third Is Bogus
  3. mysql-锁表机制分析(转)
  4. 关于XShell的常见使用和设置以及Linux中的常见命令.
  5. tomcat配置虚拟目录的步骤
  6. $digest already in progress
  7. 为UIView添加分类直接改或获取控件的frame值
  8. pt-online-schema-change的原理解析与应用说明
  9. DataGuard开启延时应用的测试
  10. 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 'like '%逸%'' at line 1
  11. 基于卷积神经网络CNN的电影推荐系统
  12. 《深入分析Java web技术内幕》读书笔记(一)
  13. Python 标准类库-Windows特殊服务之msvcrt
  14. jquery扩展写法
  15. 阿里巴巴 Java 开发手册评述
  16. 如何在Win10上永久禁用Windows Defender Antivirus
  17. Codeforces Div3 #498 A-F
  18. openlayers/// Puppeteer.js
  19. The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone问题解决
  20. 使用word2vec训练中文词向量

热门文章

  1. .Net编译运行原理
  2. 第一次"正经面试"之发现自己的缺陷和不足
  3. Entity Framework — ( Database First )
  4. javascript数组详解(js数组深度解析)【forEach(),every(),map(),filter(),reduce()】
  5. (转)Nginx + uwsgi + web.py + MySQLdb
  6. Webstorm编译TypeScript报错
  7. Python可视化学习(1):Matplotlib的配置
  8. Struts(五)之OGNL、contextMap
  9. 从今天开始学习Java了
  10. 使用Python对Access读写操作