首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Python3.5返回TypeError,而Python2.7不返回

Python3.5和Python2.7在某些情况下可能会对相同的代码产生不同的行为,其中一个常见的区别是在处理除法运算时的行为不同。在Python2.7中,整数除法会返回一个整数结果,而在Python3.5中,整数除法会返回一个浮点数结果。

因此,当Python3.5中的代码使用除法运算符(/)来执行整数除法时,会返回一个浮点数结果,而Python2.7中的代码则会返回一个整数结果。这种差异可能会导致在某些情况下,Python3.5返回TypeError而Python2.7不返回。

具体来说,当Python3.5中的代码使用除法运算符(/)来执行两个整数相除时,如果结果不是整数,而是一个浮点数,那么在某些情况下,Python3.5会返回TypeError。这是因为Python3.5引入了一种更严格的类型检查机制,要求除法运算的结果类型与操作数的类型一致。

为了解决这个问题,可以使用Python3.5中的整数除法运算符(//),它会始终返回一个整数结果,与Python2.7中的整数除法行为相同。另外,还可以使用float()函数将结果转换为浮点数,以便与Python3.5的行为保持一致。

总结起来,Python3.5返回TypeError而Python2.7不返回的原因是由于Python3.5引入了更严格的类型检查机制,要求除法运算的结果类型与操作数的类型一致。为了解决这个问题,可以使用整数除法运算符(//)或者将结果转换为浮点数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 useState 返回的是 array 不是 object?

,那么为什么返回数组不是返回对象呢?...为什么返回数组不是返回对象 要弄懂这个问题要先明白 ES6 的解构赋值,来看 2 个简单的例子: 数组的解构赋值 const foo = [1, 2, 3]; const [one, two, three...,那么使用者可以对数组中的元素命名,代码看起来也比较干净 如果 useState 返回的是对象,在解构对象的时候必须要和 useState 内部实现返回的对象同名,想要使用多次的话,必须得设置别名才能使用返回值...array 不是 object 的原因就是为了降低使用的复杂度,返回数组的话可以直接根据顺序解构,返回对象的话要想使用多次就得定义别名了 首发自:为什么 useState 返回的是 array...不是 object?

2.2K20

奇怪的Java题:为什么128 == 128返回为false,127 == 127会返回为true?

奇怪的Java题:为什么128 == 128返回为false,127 == 127会返回为true? 在回答这个问题之前,我们先来看看int和Integer的对比,一步步揭开问题的答案。...基本类型(原始数据类型)在传递参数时都是按值传递,封装类型是按引用传递的(其实“引用也是按值传递的”,传递的是对象的地址)。 由于包装类型都是不可变量,因此没有提供改变它值的方法。...java API中对Integer类型的valueOf的定义如下,对于-128到127之间的数,会进行缓存,Integer i = 127时,会将127进行缓存,下次再写Integer j = 127...如果超过了从–128到127之间的值,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个 Integer对象。

2.2K31

java – 为什么InputStream#read()返回一个int不是一个字节?

但是为何方法InputStream#read()需要返回int类型值呢?...首先,我们要完成一个EOF(End of File)判断,在Java中就是以-1来表示数据读完了,但是如果返回的char类型值,那么根本没有-1这个数值;如果换种方式,返回一个特殊的char值,比如char...中的-1值,那么就占用了此字符,如果字节数据恰好对应-1值,那么就无法被正确读出,且会被错误认为i字节数据读好了,这就是返回int类型值的原因,当然,字节数据被转为int表示,需要高24位布零。...其次,既然只是如上的需求,那么为什么返回short值呢? 实际上在Java内存模型中,对于short以及int类型值,都是占据32位的内存空间的。...换言之,我们没有在这个应用中返回int/short类型的数据是没有区别的,所以我们不妨就使用代表其实际内存模型的int类型值。

1.2K20

python3 和 python2的区别

“//”: Python2:返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。 Python3:和Python2运算结果一样。 2....比较操作符区别 Python2中任意两个对象都可以比较 1. 11 < 'test' #True Python3中只有同一数据类型的对象可以比较 1. 11 < 'test' # TypeError...: unorderable types: int() < str() 4) 第三方工具包差异 我们在pip官方下载源pypi搜索Python2.7Python3.5的第三方工具包数可以发现, Python2.7...版本对应的第三方工具类目数量是28523,Python3.5版本的数量是12457,这两个版本在第三方工具 包支持数量差距相当大。...我们从数据分析的应用角度列举了常见实用的第三方工具包(如下表),并分析这些工具包在 Python2.7Python3.5的支持情况: 分类             工具名

1.6K10

ubuntu环境下安装python3,配置文件正常导入自定义模块

Ubuntu自带python,但是一般自带的python版本都比较低,我安装16.4的Ubuntu自带的python2.7,后自行安装了python 3.5 进入terminal界面 ---下载并安装...python3.5 >>sudo apt-get python3 #这个命令一般会自动下载最新的python3版本,这里安装只需要一路Yes就OK。...安装成功后可以利用which python来查看python3的安装路径 >>which python3 一般通过上面的方法安装的python3的话默认的安装路径在usr/bin/python3.5 ...ubuntu默认自带的python则是在usr/bin/python2.7 >>python 默认返回的应该是系统自带的python版本,如果要想进入我们自己安装的python环境内,则需要建立软连接...>>sudo ln -s /usr/lib/python3.5 /usr/lib/python #这里的ln是英文单词link的简写 这时候>>python就可以直接进入python3.5的环境中了

1.3K20

【Python基础】06、Python函数

,其为可选,无return语句的函数,自动返回None对象,返回多个值时,彼此间使用逗号分隔,且组合为元祖形式返回一个对象 def语句运行之后,可以在程序中通过函数名后附加括号进行调用 3、parameters...      lambda定义的代码必须是合法的表达式,不能出现多条件语句(可使用if的三元表达式)和非表达式,如for和while等 lambda的首要用途是指定短小的回调函数        lambda将返回一个函数不是将函数赋值给某变量名...注意:   lambda是一个表达式而非语句   lamdba是一个单个表达式,不是一个代码块 def语句创建的函数将赋值给某变量名,lambda表达式直接返回函数 lambda也支持使用默认参数...Python的作用域是静态作用域,因为它是由代码中得位置决定的,命名空间就是作用域的动态表现。.../test1.py  locals 3 2 enclosing function locals 1 2 global 1 Traceback (most recent call last):  #这里为什么会报错

2.5K10

初识字节流+实现缓冲字节流OutputStream的主要方法构造方法读关流实现BufferedInputStream实现BufferedOutputStream为什么read()返回的是Int型不是

filename.isFile()==false的话,那么会抛出FileNotFoundException 读 read():int read(byte[] array):int 与Reader类一样,如果到了文件末尾,返回...-1 这里有个特别好用的方法,可以用来知道文件的大小 available():int; 返回文件的字节数 这时就可以用这个方法来定义array的大小,那么就可以一次性读完了 关流 flush...){return -1;} } len--; return (array[index++]&255);//防止出现读到11111111此时错误的返回了...---- 错误的返回了-1 如果扫描到了11111111那么此时将byte->int是-1,如果这样的话,程序就会终止不会进行 为什么read()返回的是Int型不是byte型呢??

1.3K80

Ubuntu16.04环境Python3.6下Django安装详细步骤

打开 cmd 并输入命令行(以 django 1.10.6 为例,如果指定版本则默认安装最新的版本) pip install django==1.10.6 BUT,有一个不幸的消息,怎么安装都不成功,...度娘了好久说是由于Windows操作系统的问题,故果断放弃Windows,转展linux,即便找来了一台Ubuntu16.04的64位操作系统,可是系统本身自带python2.7python3.5,个人想使用...但是这样使用pip3安装时也是用于python3.5,安装完成后python3.6下没有,会发现出现在python3.5下了,于是乎,将/usr/bin下的软连接python3 ->python3.5重命名为其他的名字...@ubuntu:/usr/local# pip3 install jieba -su: /usr/local/bin/pip3: /usr/bin/python3: 解释器错误: 没有那个文件或目录 为什么一直报这个错误呢.../usr/bin/python3,之前由于python2.7的存在,将/usr/bin/python3重命名了,因此找不到。 ?

90340

mac求生指南:在linux上安装scrapy

往下看 先看下自己服务器是多少位的: getconf LONG_BIT 返回多少是多少。。...如果报错:说明你下的版本不对 查看自己的版本 我是cp35,这个就是python3.5的意思 。。。...pip3 install scrapy 对了,说一下pip和pip3的区别 安装了python3之后,库里面既会有pip3也会有pip 使用pip install XXX 新安装的库会放在这个目录下面 python2.7...site-packages 使用pip3 install XXX 新安装的库会放在这个目录下面 python3.6/site-packages 如果使用python3执行程序,那么就不能import python2.7...python3,pip3可能版本较高,需要安装Twisted的版本也要高 更新一下试试 sudo pip install twisted --upgrade 方法2: 把之前的卸载了。。。。

1.6K30

在NVIDIA Jetson TX2上源码编译并使用Pytorch

首先我们需要一个相对纯净的jetpack系统,3.2-3.3版本(最新的4.1.1也可以)都可以,所以我们最好将TX2的系统重新刷一遍,以免造成一些其他兼容的错误。...在JetPack-3.2系统中,我们的python一般有两个版本,python命令对应着python2.7python3命令对应着python3.5。...可以通过which python3来查看当前的python3.5的执行环境。...apt-get -y install cmake sudo apt install libffi-dev sudo pip3 install cffi 安装完之后,我们添加cudnn的lib和include路径,为什么要执行这一步...,因为我们在刷好机后,cuda和cudnn也已经安装好,但是JetPack系统中的cudnn路径和我们一般ubuntu系统中的路径略有不同(为什么不同看这里:https://oldpan.me/archives

56010

【愚公系列】2021年12月 Python教学课程 31-Django之虚拟环境的搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、为什么要搭建虚拟环境? 二、如何搭建虚拟环境? 三、如何在虚拟环境中安装工具包? ---- 一、为什么要搭建虚拟环境?...比如联网安装Django框架django的1.11.11版本 sudo pip install django==1.11.11 提示:使用如上命令, 会将Django安装到/usr/local/lib/python2.7...HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh # 3、运行 source ~/.bashrc 创建虚拟环境的命令 : 提示:如果指定...文档 提示 : 工具包安装的位置 : python2版本下: ~/.virtualenvs/py_flask/lib/python2.7/site-packages/ python3版本下: ~/.virtualenvs.../py3_flask/lib/python3.5/site-packages python3版本下安装django-1.11.11的包 : pip install 包名称 例 : 安装django-1.11.11

53640
领券