Python初学者错误:TypeError: unsupported operand type(s) for +: 'int' and 'str'

原创 2016年05月30日 11:52:49

在大神们看来print可能是一个再简单不过的函数,但是对于新手来说,在自学过程中,会碰到各种各样的问题,如果没有很好的老师或者学习思路,很有可能学习成本会相当高,所以希望大神们不要鄙视初学者的“傻X”问题,毕竟大家都是过来人


如下代码:

>>> a = 1
>>> print(a)
1
>>> b = 2
>>> print(a + b)
3
>>> type(a)
<type 'int'>

此时我们很想打印出如下效果:

>>> print(str(a) + '*' + str(b) + '=' + str(a * b))
1*2=2

可是我们不知道为什么要加’str’,于是就出现如下错误:

>>> print(a + '*' + b + '=' + a * b)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

其实错误提示已经很明确了,“类型错误:不支持操作类型为整数和字符串”,这里需要解释的最关键的东西是“+”,“+”在python中有两个作用,一个是数学运算符,是用来在整型、浮点型等数学之间进行加法操作的。另一个是用来进行字符串连接的。所以当你的“+”出现在即有数学运算和字符连接的情况下,计算机根本不知道哪两个是要进行字符串连接,哪两个之间要进行数学运算。

举一反三:

>>> print('a' + 2)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> print(2 + "a")
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cuckoo安装指南(四)

引言: Cuckoo是一个非常流行的恶意软件或者攻击分析系统,通过cuckoo可以方便地帮助安全研究人员验证恶意程序的特征信息,本文将详细描述其运行环境的搭建过程。由于整个过程比较庞杂,故将分为4篇来...

Python PIP Install throws TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

从source安装tensorflow时,安装到pip package命令 sudo pip install /tmp/tensorflow_pkg/tensorflow-1.2.1-py2-non...

Unsupported operand types 不支持的操作数据类型

Fatal error: Unsupported operand types意思是:致命错误:不支持的操作数据类型产生原因,将不符合数据类型的数据传送给了某些函数。尤其是容易出现在将一个数组传给了一个...

Ubuntu16.04+Tensorflow+CUDA8.0

注:此篇为源码编译方式安装Tensorflow,不过也可以通过其他方法,比如Anaconda,我没试过:)一、参考资料:【http://blog.csdn.net/zhaoyu106/article/...

TypeError: unsupported operand type(s) for +: 'int' and 'str'

1、错误描述>>> import time; >>> di={1:'A',2:'B'}; >>> for key,value in dict.items(di): print(key+","+val...

深度学习样本生成data augmentation

在做深度学习图片分类的时候,很多是有些样本不足这个时候我们就会自己生成样本,如opencv对图片旋转,扭曲等等操作。google了一下deep learning data augmentation 发...

Tesseract ocr文字识别

前面很早做了图片的文字识别主要用到了开源框架Tesseract,当然做OCR之前先要定位图片文字。先上个图: 工作中项目组一般使用java因此代码,下面贴出java代码,最简单的图片识别: pack...

Python 3.5 Socket TypeError: a bytes-like object is required, not 'str' 错误提示

目前正在学习python基本语法以及计算机网络课,所以正好结合学习python网络编程,看的是《python核心编程》第三版,发现示例2-1代码返回错误… 发现这里python3.5和Python2...

Python之Headers value 1 must be of type str or bytes, not <class 'int'>错误的解决

Python之Headers value 1 must be of type str or bytes, not 错误的解决

Python 3中套接字编程中遇到TypeError: 'str' does not support the buffer interface的解决办法

目前正在学习python,使用的工具为python3.2.3。发现3x版本和2x版本有些差异,在套接字编程时,困扰了我很久,先将python核心编程书中的例子 代码如下: 服务器端...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python初学者错误:TypeError: unsupported operand type(s) for +: 'int' and 'str'
举报原因:
原因补充:

(最多只允许输入30个字)