解析python 中/ 和 % 和 //(地板除)

python / 和 % 和 //(地板除)用于对数据进行除法运算。

python中 // 和 / 和 %

简介

python中与除法相关的三个运算符是// 和 / 和 %,下面逐一介绍。
“/”,这是传统的除法,3/2=1.5
“//”,在python中,这个叫“地板除”,3//2=1
“%”,这个是取模操作,也就是区余数,4%2=0,5%2=1

Python中分为3种除法:1、/,2、%,3、//

1、/

基于 python3

/ 除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数。

两个整数没能整除,返回整数

10 / 3
> 3.3333333333333335

两个浮点数相除,返回浮点数

1.0 / 2.0
> 0.5

两个数的其中一个是浮点数,返回浮点数

3 / 2.0
> 1.5

两个整数恰好整除,返回浮点数

9 / 3
> 3.0

基于python2

python2版本整数除法采用的是 floor 的方式,也称为地板除法。

两个整数相除,返回整数

3 / 2
> 1

两个数的其中一个是浮点数,返回浮点数

3 / 2.0
> 1.5

两个整数恰好相除,返回整数

6 / 2
> 3

2、 %

% 除法的结果是求余数。

两个整数相除,返回整数

5 % 2
> 1

两个整数恰好相除,返回0

6 % 3
> 0

3、 //

// 称为地板除,两个整数的除法仍然是整数,它总是会舍去小数部分,返回数字序列中比真正的商小的,最接近的数字。

简单来说就是求商。

两个整数相除,返回整数

3 // 2
> 1

两个数的区中一个是浮点数,返回浮点数

3 // 2.0
> 1.0

负数除以正整数是负数自己本身

-1 // 2.0
> -1

负数除以负整数是0

-1//-4
> 0

总结

/ 就是大家熟知的除法,只不过python2的时候不同而已;% 是求余数,// 是求商

PS:下面在看下python的地板除和除有什么区别吗? // 和 /

非常小的细节

100/2
Out[3]: 50.0

100//2
Out[4]: 50

到此这篇关于解析python 中/ 和 % 和 //(地板除)的文章就介绍到这了,更多相关python / 和 % 和 //内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解析python 中/ 和 % 和 //(地板除)

    python / 和 % 和 //(地板除)用于对数据进行除法运算. python中 // 和 / 和 % 简介 python中与除法相关的三个运算符是// 和 / 和 %,下面逐一介绍. "/",这是传统的除法,3/2=1.5 "//",在python中,这个叫"地板除",3//2=1 "%",这个是取模操作,也就是区余数,4%2=0,5%2=1 Python中分为3种除法:1./,2.%,3.//. 1./ 基于 pyth

  • 源码解析python中randint函数的效率缺陷

    目录 一.前言 二.对randint()运行效率的测试 三.从源码分析randint()的缺陷 random.random() random.randint() 四.更快的生成随机整数的方法 random.random() 直接使用 getrandbits() 使用 Numpy.random 一.前言 前几天,在写一个与差分隐私相关的简单程序时,我发现了一些奇怪的东西:相对于其他的随机数生成函数,Python的random.randint()函数感觉很慢. 由于 randint() 是 Pyth

  • 深入解析Python中的多进程

    目录 前言 1.创建进程 2.多进程中的Queue 3.多进程与多线程的性能比较 4.进程池pool 5.共享内存 6.进程锁lock 前言 现在我们的计算机都是多个核的,通俗来说就是多个处理或者计算单元.为了加快运算和处理速度,我们可以将不同的任务交给多个核心进行同时处理,从而提高了运算速度和效率,多个核心同时运作就是多个进程同时进行,这就是多进程. 1.创建进程 创建进程和创建线程的方法基本一致,请看下面代码: # coding:utf-8 # 导入多进程的包,并重命名为mp import

  • 深入解析Python中函数的参数与作用域

    传递参数 函数传递参数时的一些简要的关键点: 参数的传递是通过自动将对象赋值给本地变量名来实现的.所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝. 在函数内部的参数名的赋值不会影响调用者. 改变函数的可变对象参数的值会对调用者有影响. 实际上,Python的参数传递模型和C语言的相当相似: 不可变参数"通过值"进行传递.像整数和字符串这样的对象是通过对象引用而不是拷贝进行的,但是因为不论怎么样都不可能在原处改变不可变对象,实际的效果就很像创建了一份拷贝. 可

  • 深入解析Python中的lambda表达式的用法

    普通的数学运算用这个纯抽象的符号演算来定义,计算结果只能在脑子里存在.所以写了点代码,来验证文章中介绍的演算规则. 我们来验证文章里介绍的自然数及自然数运算规则.说到自然数,今天还百度了一下,据度娘说,1993年后国家规定0是属于自然数.先定义自然数及自然数的运算规则: 用lambda表达式定义自然数(邱齐数) 0 := λf.λx.x 1 := λf.λx.f x 2 := λf.λx.f (f x) 3 := λf.λx.f (f (f x)) ... 上面定义直观的意思就是数字n, 是f(

  • 解析Python中的变量、引用、拷贝和作用域的问题

    在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没有赋值,那么Python认为这个变量没有定义.如下: >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a'

  • 深入解析Python中的urllib2模块

    Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库.这里总结了一些 urllib2 的使用细节. Proxy 的设置 Timeout 设置 在 HTTP Request 中加入特定的 Header Redirect Cookie 使用 HTTP 的 PUT 和 DELETE 方法 得到 HTTP 的返回码 Debug Log Proxy 的设置 urllib2 默认会使用环境变量 http_proxy

  • 解析python中的jsonpath 提取器

    目录 为什么要用jsonpath jsonpath的语法 jsonpath 解析 使用示例 为什么要用jsonpath 就跟为什么要用xpath一样,jsonpath的设计灵感来源于xpath.一个强大的json数据提取工具.让用户不用编写脚本就可以提取到相应的json数据. jsonpath的语法 jsonpath可以什么这两种模式来检索数据:以点为分隔$.store.book[0].title$.store.book[0,1] #可以取到第一个和第二个book值$.store.book[*]

  • 深入解析Python中的list列表及其切片和迭代操作

    有序列表list >>> listTest = ['ha','test','yes'] >>> listTest ['ha', 'test', 'yes'] len()获取list元素个数. >>> len(listTest) 3 可以用索引来访问每一个元素,0表示第一个,-1还可以表示最后一个,即倒数第一个,依此类推-2表示倒数第二个,超过了也会报越界错误. >>> listTest[0] 'ha' >>> lis

  • 从局部变量和全局变量开始全面解析Python中变量的作用域

    理解全局变量和局部变量 1.定义的函数内部的变量名如果是第一次出现, 且在=符号前,那么就可以认为是被定义为局部变量.在这种情况下,不论全局变量中是否用到该变量名,函数中使用的都是局部变量.例如: num = 100 def func(): num = 123 print num func() 输出结果是123.说明函数中定义的变量名num是一个局部变量,覆盖全局变量.再例如: num = 100 def func(): num += 100 print num func() 输出结果是:Unb

随机推荐