基于Python3中运算符 **和*的区别说明
作者:xytywh 发布时间:2023-12-17 02:22:06
标签:Python3,运算符
我们知道**代表次方。
如下
>>>12 * 12
144
>>>12 ** 2
144
>>>a=1e200
>>> a
1e+200
>>>a ** 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: (34, 'Result too large')
>>>a * a
inf
>>>a = 100 ** 100 # python3中int整型一般不会溢出,取决于内存
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
>>>a * a,a ** 2 # 两种方式都没问题,int很大,不会溢出,取决于内存
(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
>>>float(a) * float(a) #float用这种方法,也不会溢出
inf
>>>float(a) ** 2 #float用这种方式有可能溢出,注意!!!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: (34, 'Result too large')
补充:python3.8中运算符/和//区别
看下面这两张图:
5/5的结果为1.0,5//5的结果为1
6.0/5.0的结果为1.2,6.0//5.0的结果为1.0
由此可见,使用/运算符时,即使两参数都是int,返回值都是float,而运算符//只有当参数中含有float时,返回值是float,但是结果是取整的。
/和//的主要区别:
//运算符的结果是最小取整的,/运算符会保留小数位
补充:python3中运算符及其优先级
1. 一般运算符:
+ - * /(真除法) % //(地板除-floor) **(幂运算)
2. 赋值运算符:
=
3. 增强运算符(增强赋值运算符)
+= -= *= /= %= **= //=
a+=1 (运行效率高)
a=a+1 (运行效率低)
4. 布尔运算符(比较运算符)
== > < >= <= !=
可以连续判断:
3>2>1
True
3>2 and 2>1
True
5. 逻辑运算符
not and or 优先级:
not优先级最高
and
or 优先级最低
6. 位运算符
位:二进制下的每一个位
<< >> :移位运算符
&:逻辑求与
|:逻辑求或
~:逻辑求非
^:逻辑求异或
7. 三元运算符
变量=(值1 if 布尔表达式 else 值2)
如果布尔表达式位真则返回值1否则返回值2
运算符中,三元运算符的优先级最低
1. 先乘除后加减
2. 幂运算优先级最高
3. 三元运算符优先级最低
4. 元数越少,优先级越高
幂运算:一元运算符
5. 优先级从高到低排列:
幂运算
正负号
算数运算符(— = * /)
比较运算符(< > <= >=)
逻辑运算符(not and or)
来源:https://blog.csdn.net/xiaohuihui1994/article/details/89376492


猜你喜欢
- 本文实例为大家分享了three.js 全景重力感应的具体代码,供大家参考,具体内容如下实现three.js 全景图 demo使用three.
- 本文介绍的MySQL数据库的出错代码表,依据MySQL数据库头文件mysql/include/mysqld_error.h整理而成。详细内容
- 一. 语法1.1 获取当前页面的所有cookie:var allCookies = document.cookie;allCookies 是
- 本文通过一个实际的散点图案例,展示了如何使用pyqt5嵌套一个pyecharts图层的方法,通过这个技巧,可以在pyqt5的框架中也实现精美
- 前几天玩了玩Google的Map API,感觉还不错,很简单。但凡有过任何编程经验的同学,看完以下的教程,都可以在10分钟内掌握它的主要功能
- 在pycharm中我们有时需要切换python的版本,这里需要注意的是我们是在PyCharm中的Preferences中切换的,在File的
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML&nb
- 有空余的时候自己写了一下,代码没有进行很好的规整。如果发现bug请及时通告我,谢谢 主要功能:1、点击插入表情,可选
- 向数据库加入字符类型的数据时,我老爱写错数据中含有单引号的语句而导致操作失败像:正确的SQL语句:INSERT baby 
- 1、到python官网 https://www.python.org 查找最新的原码,我使用的,Python-3.6.32、mkdir /h
- 最近在B站上看到Vscode可以远程连接Linux, 不仅有与linux一模一样的终端,而且写代码很舒服,所以尝试了一下远程连接。首先,要先
- 之前一直使用的是MySQL5.7,但由于MySQL增加了一些新特性,所以选择了更新。下载MySQL进入MySQL官网下载地址,选择Windo
- 1.原始查询表结果 2.理想查询表结果 一很牛的朋友写的sql语句大笑,学习啦偷笑: select userpwd,
- 1.打开apache的httpd.conf文件,找到# Virtual hosts#Include conf/extra/httpd-vho
- 主要实现功能1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误2、用户名输入正确后,进行密码匹配。输入密码正确则
- CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position。1. positio
- 代码实现的目的:为一个自定义的类的某个属性在使用它时候,触发某个事件。 该程序的效果:点击输入按钮,弹出一个脚本提示输入框让用户输入他的姓名
- 许可和分发权限Access 2003 Developer Extensions随附的许可协议简化了解决方案或代码段的分发过程。这些协议包括免
- 1 与达尔文对话140年前,1858年7月1日,达尔文在英伦岛发表了自己有关自然选择的杰出论文。他提出,生物的发展规律是物竞天择。经过物竞,
- 用到这个的业务场景是这样的:a页面点击新建列表按钮进入到新建的页面b,填写b页面并点击b页面确认添加按钮,把这些数据带到a页面,填充到列表(