一分钟让你彻底看懂Python中的//, /, %的作用和区别

 更新时间:2025年07月05日 08:38:50   作者:xjt921122  
python中 // 和 / 和 % 用法及区别 每次都会搞混淆,这次整理一下加深记忆,这篇文章主要介绍了Python中//, /, %作用和区别的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

在python中,我们经常需要对数字进行一些基本的运算,比如加、减、乘、除等。为了实现这些运算,我们可以使用一些特殊的符号,称为算术运算符。

例如,我们可以用+号表示加法,用-号表示减法,用*号表示乘法,用/号表示除法等。这些运算符都遵循一定的语法规则和优先级顺序,我们可以用它们来构建复杂的数学表达式。

为//、/、%的区别

除了上面提到的四个基本的算术运算符,python还提供了另外三个有用的运算符://, /, %。它们分别表示整除、除法和取余。它们的作用和区别如下:

整除(//):整除运算符返回两个数字相除后的商的整数部分。例如,17 // 4 的结果是 4,因为 17 除以 4 的商是 4.25,而整数部分是 4。如果两个数字中有一个是浮点数(小数),则返回的结果也是一个浮点数,但是小数部分会被舍去。例如,17.0 // 4 的结果是 4.0,因为 17.0 除以 4 的商是 4.25,而小数部分被舍去后是 0。

除法(/):除法运算符返回两个数字相除后的商的精确值。无论两个数字是什么类型,返回的结果都是一个浮点数(小数)。例如,17 / 4 的结果是 4.25,因为 17 除以 4 的商就是 4.25。如果两个数字都是整数,并且能够整除,则返回的结果也是一个浮点数,但是小数部分会是 0。例如,16 / 4 的结果是 4.0,因为 16 除以 4 的商是 4,而小数部分是 0。

取余(%):取余运算符返回两个数字相除后的余数。例如,17 % 4 的结果是 1,因为 17 除以 4 的余数是 1。如果两个数字中有一个是浮点数,则返回的结果也是一个浮点数。例如,17.5 % 4 的结果是 1.5,因为 17.5 除以 4 的余数是 1.5。

为什么需要整除、除法和取余

那么,为什么我们需要这三个运算符呢?有哪些情况下我们会用到它们呢?下面举几个例子来说明:

**计算商和余数:**有时候,我们需要知道两个数字相除后的商和余数,比如在做分数或者比例的计算时。我们可以用//和%这两个运算符来得到商和余数,并且可以根据商和余数来还原原来的被除数。例如,如果我们知道 a // b = c 和 a % b = d,则我们可以推出 a = b * c + d。

**判断奇偶性:**有时候,我们需要判断一个数字是否是奇数或偶数,比如在做一些逻辑或者编程题时。我们可以用%这个运算符来判断一个数字除以2的余数,如果余数是0,则说明这个数字是偶数,如果余数是1,则说明这个数字是奇数。例如,如果我们知道 n % 2 = 0,则我们可以推出 n 是一个偶数。

**转换进制:**有时候,我们需要将一个十进制的数字转换为其他进制的数字,比如二进制、八进制或十六进制等。我们可以用//和%这两个运算符来实现这个转换,具体的方法是不断地用目标进制的基数去除原来的数字,并将每次得到的余数作为新进制的一位,直到商为0为止。例如,如果我们想将13转换为二进制,我们可以用以下的步骤:

  • 用2去除13,得到商6和余数1,将余数1作为二进制的最低位

  • 用2去除6,得到商3和余数0,将余数0作为二进制的次低位

  • 用2去除3,得到商1和余数1,将余数1作为二进制的次高位

  • 用2去除1,得到商0和余数1,将余数1作为二进制的最高位

将得到的四个余数从高到低拼接起来,得到二进制的结果1101。

如何使用整除、除法和取余

要使用//, /, %这三个运算符,我们需要遵循一定的语法规则。具体如下:

语法:a // b, a / b, a % b

参数:a和b是两个数字,可以是整数或浮点数

返回值://运算符返回一个整数或浮点数,表示商的整数部分;/运算符返回一个浮点数,表示商的精确值;%运算符返回一个整数或浮点数,表示余数。

注意事项:如果传入的两个参数长度不一致,则返回的结果长度与最短的参数相同;如果没有传入任何参数,则返回一个空的结果。

案例应用

案例一

# 定义两个数字``a = 17``b = 4``   ``# 使用//运算符计算商的整数部分,并打印结果``quotient = a // b``print(f'The quotient of {a} and {b} is {quotient}')``   ``# 使用/运算符计算商的精确值,并打印结果``exact_quotient = a / b``print(f'The exact quotient of {a} and {b} is {exact_quotient}')``   ``# 使用%运算符计算余数,并打印结果``remainder = a % b``print(f'The remainder of {a} and {b} is {remainder}')

案例二

# 定义一个数字``n = 42``   ``# 使用%运算符计算n除以2的余数,并赋值给m``m = n % 2``   ``# 判断m是否等于0``if m == 0:`    `# 如果等于0,说明n是偶数,并打印结果`    `print(f'{n} is an even number')``else:`    `# 如果不等于0,说明n是奇数,并打印结果`    `print(f'{n} is an odd number')

案例三

# 定义一个十进制数字``decimal = 13``   ``# 创建一个空字符串,用来存储二进制数字``binary = ''``   ``# 使用while循环,当decimal大于0时重复执行``while decimal > 0:`    `# 使用%运算符计算decimal除以2的余数,并将其转换为字符串`    `bit = str(decimal % 2)`    `print(bit)`    `#将余数添加到二进制字符串`    `binary=bit+binary`    `#将decimal整除以2,继续下一轮循环`    `decimal//=2``print(f"十进制数{decimal}的二进制表示为{binary}.")

总结 

到此这篇关于Python中//, /, %作用和区别的文章就介绍到这了,更多相关Python中//, /, %作用和区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 整理Python中的赋值运算符

    整理Python中的赋值运算符

    这篇文章主要介绍了Python中的赋值运算符,其使用是Python的基本功,需要的朋友可以参考下
    2015-05-05
  • Python一行代码识别发票并保存Excel示例详解

    Python一行代码识别发票并保存Excel示例详解

    这篇文章主要为大家介绍了Python一行代码识别发票并保存Excel示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python+Opencv实现计算闭合区域面积

    Python+Opencv实现计算闭合区域面积

    这篇文章主要介绍了利用Python Opencv计算闭合区域的面积的原理以及实现代码,文中的讲解详细易懂,感兴趣的小伙伴快跟随小编一起学习一下吧
    2022-03-03
  • python socket网络编程之粘包问题详解

    python socket网络编程之粘包问题详解

    这篇文章主要介绍了python socket网络编程之粘包问题详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 利用ImageAI库只需几行python代码实现目标检测

    利用ImageAI库只需几行python代码实现目标检测

    这篇文章主要介绍了利用ImageAI库只需几行python代码超简实现目标检测功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python opencv之SIFT算法示例

    python opencv之SIFT算法示例

    这篇文章主要介绍了python opencv之SIFT算法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • python opencv 画外接矩形框的完整代码

    python opencv 画外接矩形框的完整代码

    这篇文章主要介绍了python-opencv-画外接矩形框的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 解决hive中导入text文件遇到的坑

    解决hive中导入text文件遇到的坑

    这篇文章主要介绍了解决hive中导入text文件遇到的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python自动化测试Data Driven Testing(DDT)用例解析

    python自动化测试Data Driven Testing(DDT)用例解析

    这篇文章主要为大家介绍了python自动化测试Data Driven Testing(DDT)用例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • tensorflow学习教程之文本分类详析

    tensorflow学习教程之文本分类详析

    初学tensorflow,借鉴了很多别人的经验,参考博客对评论分类(感谢博主的一系列好文),本人也尝试着实现了对文本数据的分类,下面这篇文章主要给大家介绍了关于tensorflow学习教程之文本分类的相关资料,需要的朋友可以参考下
    2018-08-08

最新评论