如何在 Python 中用中文做数学运算?

Python基础编程——算术运算 由于工作需要,小编最近开始学习Python这门编程语言。Python基础编程,将借助Python解释器以及Python脚本完成。小编在进行Python编程时,使用的是Python 3.9.0版本,不同的版本之间存在一定的差异,尤其是Python2和Python3,由于Python2不再进行维护以及更新,因此建议大家使用Python3的版本。 Python常用的算术运算主要包括加(+)、减(-)、乘(*)、除(/)、整除(//)、求余(%)、乘方(**)。 加法运算: 在Python解释器中执行如下操作,可得 阅读详情

:point_up_2: 点击上方蓝字“ Python猫 ”, 免费获得 一个公众号

花下猫语: 在 Python 中是否可以实现中文数字的四则运算呢? 答案是肯定的。 今天分享的文章,会对这个问题给出令人满意的解答。 这个操作可能不会被大家用于实际的项目中,它的意义并不在此。 之所以分享这篇文章,一方面是我觉得这个问题有点意思,另一方面则是因为它的实现过程很好地讲解了几个魔术方法的用途。

本文转载自“ 未闻Code ”,这是个少有的坚持优质原创的公众号,它的“一日一技”系列,写了很多体量小却有意思的话题,推荐一读。

 

 

 

 

 

图 | 宫崎骏电影《侧耳倾听》

在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算。

首先我们定义一个类 Num :

然后把这个类初始化为各个中文数字:

运行效果如下图所示:

 

 

 

Python资源共享群:484031800

代码里面,通过实现 __repr__ ,能实现在 Jupyter 或者Python命令行交互环境里面输入变量名回车就显示变量的值。

通过实现 __str__ ,能实现在Python 里面 print(变量) 的时候打印出具体的值。

但现在还不够,当我们进行四则运算的时候,会报错:

 

 

 

 

为了能够正常实现 一+1 ,我们需要实现 __add__ 方法:

运行效果如下图所示:

 

 

 

 

但是,如果我们把加号两侧的数字兑换一下,代码又报错了,如下图所示:

 

 

 

 

这是由于,当我们执行 a+b 的时候,Python会调用 a 对象里面的 __add__ 方法,所以当我们执行 一+1 的时候,调用的是 一 里面的 __add__ 方法,这是我们自己写的,所以能够正常运行。

但是当我们执行 1+一 的时候,调用的是 1 里面的 __add__ 方法。在Python里面,数字对象里面的 __add__ 方法只能实现数字加数字。

但是我们不能修改Python 内置数字的 __add__ 方法,所以我们需要使用 __radd__ 方法。它的作用是,在 1+一 执行的时候,如果 1 里面的 __add__ 运行失败了,那么就会调用 一 里面的 __radd__ :

运行效果如下图所示:

 

 

 

 

同样的原理,你可以自己实现减法 __sub__/__rsub__ 、乘法 __mul__/__rmul__ 和除法 __truediv__/__rtruediv__ 。

Arnold Denoise流程 参考:https://support.solidangle.com/display/ARP/Removing+Noise+Workflow Arnold生来不是一个以单帧渲染速度见长的渲染器,但这并不能作为一个简单场景渲染时间长达几个小时的借口。 个人认为高品质生产级渲染结果中,Unbiased renderer在渲染时最耗计算时间的其实就是降噪,以至于降噪专门成了一门灯光师必备的技术 阅读详情

相关推荐

踩坑记录:Clawdbot 对接 Minimax 报错 “401 token is unusable (1004)“ 的终极解决方案

如果你也在配置 Clawdbot 对接 Minimax 模型时,明明 API Key 是新申请的,却死活报错 `401 Unauthorized`,错误码 `1004`,提示 `token is unusable`——那么恭喜你,来对地方了。

hampeter的博客 2001

计算汉语描述的数字数值。Python3实现。

可能有些情况没有考虑到。 源码 python3: #encoding=utf-8 import math #系数 CN_NUM = { '〇': 0, '一': 1, '二': 2, '两': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': ...

YKRY35的博客 575

六自由度机器人(机械臂)运动学建模及运动规划系列(一)——简介

毕业设计做了六轴机器人相关的课题,做完之后学到很多,在这里分享一下。

weixin_47849087的博客 2万+

高阶函数、闭包和装饰器介绍

一、高阶函数 其表现形式有两种,一是以函数(可以一个或多个)做为参数传递,一是以函数做为返回值返回,如下图 2.匿名函数 用lambda表达式创建一些简单的函数,它执行完毕后会立刻销毁 语法:lambda 参数:表达式 如求两数的乘积 通常与filter配合使用,filter() 是一个高阶函数,需将函数作为参数来传递 如列表lst=[1,2,3,4,5,7,9,15,17,18],求列表的偶数 二、闭包 概念:将函数作为参数做返回值返回,称为高阶函数也称为闭包 好处:只有当前函数可访问变量,保护数

qq_26008885的博客 174

单片机通信总述——理论部分(CAN、串口、SPI、I2C等)

并行通信:传输原理:数据各个位同时传输;优点:速度快; 缺点:占用引脚资源多。是指使用 8、16、32 及 64 根或更多的数据线(有多少信号为就需要多少信号位)进行传输的通讯方式,可以同一时刻传输多个数据位的数据。串行通信: 传输原理:数据按位顺序传输;优点:占用引脚资源少; 缺点:速度相对较慢。是指设备之间通过一根数据信号线,地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,同一时刻只能传输一位(bit)数据。 单工: 数据传输只支持数据在一个方向上传输。信息只能单方向传输的工作方式,一

qq_42475191的博客 1万+

学习笔记——神经科学的数学基础

m%3D2X_%7Bi%7DiNy%3DAxW%3DABx_%7Bj%7Dy_%7Bi%7Dy%3DWxt=N7T8卷积神经网络(CNN)详细介绍及其原理详解_IronmanJay的博客-优快云博客https://blog.youkuaiyun.com/IronmanJay/article/details/128689946?

zxyopenstar的博客 1374

python之算数运算

python之算数运算 简单的加减乘除并不想计算。毕竟也不是小白。 只需要知道在python中 注意以下几点: 1.整数和浮点数运算最后结果肯定是浮点数。例如2*3.0=6.0 2.除法运算的结果一定是浮点数。 python之中有三种特殊的算数运算,它们分别如下: 1.** ----------指数运算 2.% ----------取余运算 3.// ----------整除运算 首先来看例子: 1.指数运算:3**2 它的意思就是3个2相乘 所以在python中它的结果是8 指数运算中可以出现小数,

Model球 4483

C++怎么学?零基础也可以,一份完整学习路线图助你搞定!

提供一条清晰、系统且实践导向的C++学习路径。从基础语法、面向对象、泛型编程、异常处理,逐步深入STL、智能指针、并发编程等现代C++高级特性。无论是新手还是希望提升,通过系统学习与项目实践,助您将理论知识转化为实际解决问题的能力。

Lion_Long的博客 4025

Python编程中的8个简洁数值运算示例

从简单的加减乘除到更复杂的数值处理,我们将通过一系列示例来展示如何利用Python进行高效且准确的计算。地板除法是一种特殊的除法运算,它返回两个数相除后的最大整数。幂运算是一种计算一个数的幂次方的方法,在Python中使用。取模运算是一个常用的数学运算,在Python中使用。减法是另一个基本的数学运算,在Python中使用。注意,除法运算的结果是一个浮点数。除法是基本的数学运算之一,在Python中使用。,然后执行地板除法运算,并将结果存储在变量。,然后执行除法运算,并将结果存储在变量。

weixin_53707653的博客 3628

Host是如何与EC通信的

EC中有三个寄存器,分别为状态寄存器EC_SC、命令寄存器EC_SC和数据寄存器EC_DATA。而状态寄存器和命令寄存器同属于一个寄存器,这几个寄存器遵循着ACPI EC规范。host可以根据ACPI协议规范来与EC进行通信。 以下是个寄存器的详细介绍。 EC状态寄存器(EC_SC(R)),该寄存器是一个只读寄存器,它反映了此时EC接口的状态。下图为该寄存器表。 EC状态寄存器表中各位的具体含义: OBF(Output Buffer is Full),该状态位置1...

qq_30135687的博客 3695

BioEmu 扩散模型加速传统分子动力学(MD)模拟

BioEmu 是一种创新的生成式深度学习系统,通过高效采样和准确预测蛋白质的动态机制,为蛋白质科学和药物设计提供了新的工具。它在多构象采样、MD 模拟拟合和蛋白质稳定性预测方面表现出色,同时显著降低了计算成本。BioEmu 的开发为未来蛋白质动态研究和应用奠定了坚实基础。

weixin_42357472的博客 320

可以使用中文作为变量名_如何在 Python 中用中文做数学运算?

????点击上方蓝字“Python猫”,免费获得一个公众号花下猫语:在 Python 中是否可以实现中文数字的四则运算呢?答案是肯定的。今天分享的文章,会对这个问题给出令人满意的解答。这个操作可能不会被大家用于实际的项目中,它的意义并不在此。之所以分享这篇文章,一方面是我觉得这个问题有点意思,另一方面则是因为它的实现过程很好地讲解了几个魔术方法的用途。本文转载自“未闻Code”,这是个少有的...

weixin_39949297的博客 628

硬件电路设计采集电路

摘要:采集电路是硬件设计中连接物理世界与数字系统的关键环节,主要用于将温度、压力等物理量转换为电信号。常见的采集电路包括模拟量采集(如温度、电压)、数字量采集(如开关状态)和特殊信号采集(如光、声音)。设计时需重点关注传感器选型、信号调理、电源接地、抗干扰和ADC配置等核心要素,确保信号链路的完整性和稳定性。合理的电路设计需结合具体应用场景,通过仿真和测试验证性能,最终实现精确可靠的数据采集。

qq_37999850的博客 1798

python怎么样能同时输入中文和数字_如何在 Python 中用中文做数学运算?

?点击上方蓝字“Python猫”,免费获得一个公众号花下猫语:在 Python 中是否可以实现中文数字的四则运算呢?答案是肯定的。今天分享的文章,会对这个问题给出令人满意的解答。这个操作可能不会被大家用于实际的项目中,它的意义并不在此。之所以分享这篇文章,一方面是我觉得这个问题有点意思,另一方面则是因为它的实现过程很好地讲解了几个魔术方法的用途。本文转载自“未闻Code”,这是个少有的...

weixin_35294082的博客 886

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python用def实现中文编写代码

print(*参数, sep=分隔符, end=结尾, file=文件, flush=刷新)文件 = 文件打开("测试.txt", "w", encoding="utf-8")文件 = 文件打开("测试.txt", "r", encoding="utf-8")打印("2 × 3 × 4 =", 乘(2, 3, 4))打印("=== 完全中文Python编程演示 ===")打印("10 - 4 =", 减(10, 4))打印("10 ÷ 3 =", 除(10, 3))

2501_90650915的博客 593

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python王者-第2章认识变量与基本数学运算

在Python中,进行计算是非常基础的操作,允许用户执行各种数学运算。

andyyah晓波的博客 236

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python中math库最大值_Python实训之调用math库进行数学运算

本篇文章主要讲述的是Python调用math库实现数学运算并打印出来,具有一定参考价值也灰常简单易学,有兴趣的朋友赶紧来了解一下吧。题目: 打印1~10的数字以及每个数的平方、几何级数和阶乘from math import factorialdef main():print('%-10s%-10s%-10s%-10s' % ('数字', '平方', '几何级数', '阶乘'))for num in...

weixin_39834149的博客 235

js给file类型的input框赋值_数据类型和变量用Python做数学运算

1.变量----保存内容的地方变量名---以字母为开头,其他的字符必须是字母、数字、下划线,区分大小写,中文也可以,但不推荐。举例my_name = "Bryson"my_age = 43your_name = input("What is your name? ")your_age = input("How old are you? ")print("My name is", my_...

weixin_42332123的博客 1566

初学__Python——Python中文支持、Python计算器

目录 一、Python对中文的支持 二、简单实用的Python计算器 一、Python对中文的支持 在Python中,可以在各种编码间相互转换。 如果在交互式命令中使用中文,即便不做处理,一般也不会出现乱码。 如果在“.py”文件中使用了中文,则需要在文件的第一行使用如下语句指定字符编码集 UTF-8 表示使用 UTF-8 编码,也就是 UNICODE 字符集 # -*- co...

20butterfly的博客世界 384

python 绘图中文显示_Python使用matplotlib绘图无法显示中文问题的解决方法

本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法。,具体如下:在python中,默认情况下是无法显示中文的,如下代码:import matplotlib.pyplot as plt# 定义文本框和箭头格式decisionNode = dict(boxstyle = "sawtooth", fc = "0.8")leafNode = dict(boxstyle = "...

weixin_39864601的博客 351

python3.9.7怎么设置中文,python3.9.1怎么设置中文

python手册 http://www.78tp.com/python/1、%,代表数学运算符号,求模;

2401_85969294的博客 252

python画图显示中文_Python使用matplotlib绘图无法显示中文问题的解决方法

本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法。分享给大家供大家参考,具体如下:在python中,默认情况下是无法显示中文的,如下代码:import matplotlib.pyplot as plt# 定义文本框和箭头格式decisionNode = dict(boxstyle = "sawtooth", fc = "0.8")leafNode = dict(bo...

weixin_39623244的博客 397

python的数学运算_Python中的数学运算操作符使用进阶

Python中对象的行为是由它的类型 (Type) 决定的。所谓类型就是支持某些特定的操作。数字对象在任何编程语言中都是基础元素,支持加、减、乘、除等数学操作。Python的数字对象有整数和浮点数,支持各种数学操作,比如+, -,*, /等。 没有这些操作符,程序中只能使用函数调用的方式进行数学运算,比如add(2, 3), sub(5, 2)。程序中操作符的作用与普通数学操作的用法是一致的,使用...

weixin_28818721的博客 577

用python和sympy库解决方程组问题_使用Python的SymPy库解决数学运算问题的方法

使用Python的SymPy库解决数学运算问题的方法来源:中文源码网浏览: 次日期:2019年11月5日【下载文档:使用Python的SymPy库解决数学运算问题的方法.txt】(友情提示:右键点上行txt文档名->目标另存为)使用Python的SymPy库解决数学运算问题的方法摘要:在学习与科研中,经常会遇到一些数学运算问题,使用计算机完成运算具有速度快和准确性高的优...

weixin_33989935的博客 642

3.数据类型和变量---用Python做数学运算

变量----保存内容的地方 变量名---以字母为开头,其他的字符必须是字母、数字、下划线,区分大小写,中文也可以,但不推荐。 举例 my_name = "Bryson" my_age = 43 your_name = input("What is your name? ") your_age = input("How old are you? ") print("My name is", my_name, ", and I am", my_age, "years old.") print("

daqi1983的博客 1696

python常用函数中文_python常用函数有哪些

Python常用函数:1. print()函数:打印字符串2. raw_input()函数:从用户键盘捕获字符3. len()函数:计算字符长度4. format(12.3654,'6.2f'/'0.3%')函数:实现格式化输出5. type()函数:查询对象的类型6. int()函数、float()函数、str()函数等:类型的转化函数7. id()函数:获取对象的内存地址8. help()函数...

weixin_39609770的博客 236
上一篇: Python第一个爬虫,爬取当当网 Top 500 本五星好评书籍!
下一篇: Python Web Flask源码解读!模板渲染过程!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值