Python中//、/和%运算符的详细解析和区别
var biz = “MzkyNzE4Mjc1NQ==” || “”; var sn = “45ab5586a5d694cbc5913aee1f3e7ef0” || “” || “”; var mid = “2247496099” || “” || “”; var idx = “2” || “” || “”; window.__allowLoadResFromMp = true; var page_begintime = (+new Date()); var is_rumor = “”; var norumor = “”; if (!!(is_rumor * 1) && !(norumor*1) && !!biz && !!mid) { if (!document.referrer || document.referrer.indexOf(“mp.weixin.qq.com/mp/rumor”) == -1){ location.href = “http://mp.weixin.qq.com/mp/rumor?action=info&__biz=” + biz + “&mid=” + mid + “&idx=” + idx + “&sn=” + sn + “#wechat_redirect”; } } String.prototype.html = function (encode) { var replace = [“'”, “'”, “”“, '”‘, " “, " “, “>”, “>”, “<”, “<”, “¥”, “¥”, “&”, “&”]; var replaceReverse = [”&”, “&”, “¥”, “¥”, “<”, “<”, “>”, “>”, " ", " “, '”’, “”", “'”, “'”]; var target; if (encode) { target = replaceReverse; } else { target = replace; } for (var i = 0, str = this; i < target.length; i += 2) { str = str.replace(new RegExp(target[i], ‘g’), target[i + 1]); } return str; }; window.isInWeixinApp = function () { return /MicroMessenger/.test(navigator.userAgent); }; window.getQueryFromURL = function (url) { url = url || ‘http://qq.com/s?a=b#rd’; var tmp = url.split(‘?’), query = (tmp[1] || “”).split(‘#’)[0].split(‘&’), params = {}; for (var i = 0; i < query.length; i++) { var arg = query[i].split(‘=’); params[arg[0]] = arg[1]; } if (params[‘pass_ticket’]) { params[‘pass_ticket’] = encodeURIComponent(params[‘pass_ticket’].html(false).html(false).replace(/\s/g, “+”)); } return params; }; (function () { var params = getQueryFromURL(location.href); window.uin = params[‘uin’] || “” || ‘’; window.key = params[‘key’] || “” || ‘’; window.wxtoken = params[‘wxtoken’] || ‘’; window.pass_ticket = params[‘pass_ticket’] || ‘’; window.appmsg_token = “” || “”; var ua = navigator.userAgent; if (ua.match(/Mac\sOS\sX\s(\d+[\.|_]\d+)/) || ua.match(/Windows(\s+\w+)?\s+?(\d+\.\d+)/) || ua.match(/Linux\s/)) { document.body.classList.add(‘pages_skin_pc’); } if (/MPAPP\/([\d\.]+)/i.test(ua)) { document.body.classList.add(‘pages_skin_mpapp’); } if (params[‘uninteractive’]) { document.body.classList.add(‘pages_skin_browser_underline’); } })(); window.PAGE_MID=“mmbizwap:appmsg/newindex.html” var write_sceen_time = (+new Date()); var preview = “” * 1 || 0; var can_use_wecoin = ‘1’ * 1; var wecoin_tips = ‘0’ * 1; var wecoin_amount = ‘0’ * 1; var preview_percent = ‘0’ * 1;
Python中的//, /, % 运算符详解与区别
原创 日常学Python [日常学python](javascript:void(0)😉
日常学python
微信号 daily_learn
功能介绍 一名喜欢折腾的python学习者,跟着我一起学python,你不会迷路,这里会有你喜欢的爬虫,这里的爬虫有从0到1的文章,以后还会有数据可视化,数据分析,,也会说一些技巧等,欢迎你的关注,一起成长!
发表于
更多Python学习内容:ipengtao.com
在Python中,//
, /
, %
是常用的数学运算符,用于执行整除、除法和取余操作。本文将深入探讨这三个运算符的作用、用法以及区别,并通过丰富的示例代码帮助大家更好地理解它们的用途。
整除运算符 //
整除运算符 //
用于执行两数相除并返回不大于结果的最大整数。这与常规的除法有所不同,它丢弃小数部分,只保留整数部分。
result = 10 // 3 print(result) # 输出: 3
在上述例子中,10 // 3
的结果是 3
,因为 10
除以 3
得到 3.333...
,而整除运算符 //
取不大于这个结果的最大整数,即 3
。
除法运算符 /
除法运算符 /
用于执行两数相除并返回浮点数结果。与整除运算符不同,除法运算会保留小数部分。
result = 10 / 3 print(result) # 输出: 3.3333333333333335
在上述例子中,10 / 3
的结果是 3.3333333333333335
,因为除法运算保留了小数部分。
取余运算符 %
取余运算符 %
返回除法的余数。它表示为 a % b
,其中 a
是被除数,b
是除数。
remainder = 10 % 3 print(remainder) # 输出: 1
在上述例子中,10 % 3
的结果是 1
,因为 10
除以 3
得到 3
,余数为 1
。
运算符的优先级
在混合使用多个运算符时,了解它们的优先级是很重要的。通常,//
和 /
的优先级较高,而 %
的优先级较低。
result = 8 // 3 + 8 % 3 print(result) # 输出: 4
在上述例子中,8 // 3
的结果是 2
,8 % 3
的结果是 2
,因此 2 + 2
最终得到 4
。
应用场景示例
1 分秒转换
假设我们有一个时间(以秒为单位),想要将其转换为分钟和秒:
total_seconds = 150 minutes = total_seconds // 60 seconds = total_seconds % 60 print(f"{total_seconds}秒是 {minutes} 分 {seconds} 秒")
2 商场打折计算
假设在商场购物,有一个商品原价 price
,并且打 discount
折:
price = 100 discount = 0.2 # 20% 折扣 discounted_price = price * (1 - discount) print(f"打折后的价格是: {discounted_price}")
浮点数运算中的注意事项
在进行除法运算时,特别是涉及浮点数时,可能会遇到精度丢失的问题。例如:
result = 0.1 + 0.2 print(result) # 输出: 0.30000000000000004
在上述例子中,由于浮点数的二进制表示方式,计算结果不是精确的 0.3
,而是一个近似值。在实际开发中,为了避免这种问题,可以使用 decimal
模块进行精确的浮点数运算。
from decimal import Decimal result = Decimal('0.1') + Decimal('0.2') print(result) # 输出: 0.3
除数为零的处理
在进行除法或取余运算时,如果除数为零,将导致 ZeroDivisionError
异常。为了避免程序崩溃,可以在代码中添加相应的异常处理逻辑。
def safe_division(a, b): try: result = a / b return result except ZeroDivisionError: print("除数不能为零!") return None result = safe_division(10, 0) print(result) # 输出: None
在上述例子中,safe_division
函数通过异常处理机制,避免了除数为零导致的异常。
复合运算符
除了单独使用 //
, /
, %
运算符外,还可以与赋值运算符结合使用,形成复合运算符。例如:
a = 10 b = 3 a //= b # 相当于 a = a // b print(a) # 输出: 3 a %= b # 相当于 a = a % b print(a) # 输出: 1
通过复合运算符,可以简化代码并使其更具可读性。
运算符的选择
在实际应用中,选择使用 //
, /
, %
运算符取决于具体的需求。如果需要保留小数部分并得到浮点数结果,使用除法运算符 /
;如果只关注整数部分,使用整除运算符 //
;而取余运算符 %
则用于获取除法的余数。理解它们的特性和区别,有助于在不同场景中选择合适的运算符。
总结
在本文中,深入探讨了Python中整除运算符 //
、除法运算符 /
、取余运算符 %
的特性和区别,以及在实际应用中的选择原则。了解它们的使用场景,可以更灵活地应对不同的数学计算需求。/
运算符适用于需要保留小数部分的计算,//
运算符则得到整数结果,适用于向下取整的情况,而 %
运算符用于获取除法的余数,方便判断整除关系。在选择运算符时,还需关注浮点数运算的精度问题以及除数为零的异常情况,保证代码的健壮性。最终,灵活运用这些运算符,将有助于编写更具可读性和高效性的数学计算代码。通过本文的学习,可以更自信地在实际项目中选择和使用适当的运算符,提高代码的质量和可维护性。
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
更多Python学习内容:ipengtao.com
往期推荐
Python办公自动化完全指南(免费PDF)
Beautiful Soup快速上手指南,从入门到精通(PDF下载)
Python基础学习常见的100个问题.pdf(附答案)
Python Web 开发常见的100个问题.pdf
Python 自动化运维 100个常见问题.pdf
Python 爬虫学习手册全集PDF(免费开放下载)
Pandas的入门与高级教程全集,都在这里了!(PDF下载)
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python副业创收路线👈
这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
本文转自 网络,如有侵权,请联系删除。
作者:xjt921122