Python算术运算符及用法详解

news/2024/8/21 0:54:07

算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了 [Python] 支持所有基本算术运算符。
image.png
接下来将对表 1 中各个算术运算符的用法逐一讲解。

+ 加法运算符

加法运算符很简单,和数学中的规则一样,请看下面的代码:


1.  m = 10
2.  n = 97
3.  sum1 = m + n5.  x = 7.2
6.  y = 15.3
7.  sum2 = x + y9.  print("sum1=%d, sum2=%.2f" % (sum1, sum2) )

运行结果:
sum1=107, sum2=22.50

拼接字符串

+用于数字时表示加法,但是当+用于字符串时,它还有拼接字符串(将两个字符串连接为一个)的作用,请看代码:


1.  name = "python教程入门学习"
2.  url = "http://baidu.com./"
3.  age = 8
4.  info = name + "的网址是" + url + ",它已经" + str(age) + "岁了。"
5.  print(info)

str() 函数用来将整数类型的 age 转换成字符串。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:2028979958 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

- 减法运算符

减法运算也和数学中的规则相同,请看代码:


1.  n = 45
2.  m = -n4.  x = -83.5
5.  y = -x7.  print(m, ",", y)

运行结果:
-45 , 83.5

求负

-除了可以用作减法运算之外,还可以用作求负运算(正数变负数,负数变正数),请看下面的代码:


1.  n = 45
2.  n_neg = -n4.  f = -83.5
5.  f_neg = -f7.  print(n_neg, ",", f_neg)

运行结果:
-45 , 83.5

注意,单独使用+是无效的,不会改变数字的值,例如:


1.  n = 45
2.  m = +n4.  x = -83.5
5.  y = +x7.  print(m, ",", y)

运行结果:
45 , -83.5

*乘法运算符

乘法运算也和数学中的规则相同,请看代码:


1.  n = 4 * 25
2.  f = 34.5 * 2
3.  print(n, ",", f)

运行结果:
100 , 69.0

重复字符串

*除了可以用作乘法运算,还可以用来重复字符串,也即将 n 个同样的字符串连接起来,请看代码:


1.  str1 = "hello "
2.  print(str1 * 4)

运行结果:
hello hello hello hello

/ 和 // 除法运算符

Python 支持///两个除法运算符,但它们之间是有区别的:

  • /表示普通除法,使用它计算出来的结果和数学中的计算结果相同。
  • //表示整除,只保留结果的整数部分,舍弃小数部分;注意是直接丢掉小数部分,而不是四舍五入。

请看下面的例子:


1.  #整数不能除尽
2.  print("23/5 =", 23/5)
3.  print("23//5 =", 23//5)
4.  print("23.0//5 =", 23.0//5)
5.  print("-------------------")7.  #整数能除尽
8.  print("25/5 =", 25/5)
9.  print("25//5 =", 25//5)
10.  print("25.0//5 =", 25.0//5)
11.  print("-------------------")13.  #小数除法
14.  print("12.4/3.5 =", 12.4/3.5)
15.  print("12.4//3.5 =", 12.4//3.5)

运行结果:

23/5 = 4.6
23//5 = 4
23.0//5 = 4.0

25/5 = 5.0
25//5 = 5
25.0//5 = 5.0

12.4/3.5 = 3.542857142857143
12.4//3.5 = 3.0

从运行结果可以发现:

  • /的计算结果总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
  • 当有小数参与运算时,//结果才是小数,否则就是整数。

需要注意的是,除数始终不能为 0,除以 0 是没有意义的,这将导致 ZeroDivisionError 错误。在某些编程语言中,除以 0 的结果是无穷大(包括正无穷大和负无穷大)。

Python 2.x 中的除法

Python 2.x 只提供了一种除法运算,就是/,它的行为和大部分编程语言中/的行为是一样的:

  • /两边都是整数时,结果始终是整数;如果不能除尽,就直接舍弃小数部分。
  • /两边有一个是小数时,结果始终是小数;如果恰好除尽,小数部分就是 0。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:2028979958 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

请看下面的代码:


1.  #整数除法
2.  print "18/6 =", 18/6
3.  print "47/7 =", 47/75.  print "----------------"7.  #小数除法
8.  print "18.0/6 =", 18.0/6
9.  print "47.0/7 =", 47.0/7
10.  print "29.5/4.2 =", 29.5/4.2

运行结果:

18/6 = 3
47/7 = 6

18.0/6 = 3.0
47.0/7 = 6.71428571429
29.5/4.2 = 7.02380952381

你可以将 Python 2.x 中的/看作 Python 3.x 中///的结合体,因为 Python 2.x 中/的行为有点奇怪,所以 Python 3.x 增加了//运算符,用以规范除法运算的行为。

% 求余运算符

Python % 运算符用来求得两个数相除的余数,包括整数和小数。Python 使用第一个数字除以第二个数字,得到一个整数的商,剩下的值就是余数。对于小数,求余的结果一般也是小数。

注意,求余运算的本质是除法运算,所以第二个数字也不能是 0,否则会导致 ZeroDivisionError 错误。

Python % 使用示例:


1.  print("-----整数求余-----")
2.  print("15%6 =", 15%6)
3.  print("-15%6 =", -15%6)
4.  print("15%-6 =", 15%-6)
5.  print("-15%-6 =", -15%-6)7.  print("-----小数求余-----")
8.  print("7.7%2.2 =", 7.7%2.2)
9.  print("-7.7%2.2 =", -7.7%2.2)
10.  print("7.7%-2.2 =", 7.7%-2.2)
11.  print("-7.7%-2.2 =", -7.7%-2.2)13.  print("---整数和小数运算---")
14.  print("23.5%6 =", 23.5%6)
15.  print("23%6.5 =", 23%6.5)
16.  print("23.5%-6 =", 23.5%-6)
17.  print("-23%6.5 =", -23%6.5)
18.  print("-23%-6.5 =", -23%-6.5)

运行结果:

-----整数求余-----
15%6 = 3
-15%6 = 3
15%-6 = -3
-15%-6 = -3
-----小数求余-----
7.7%2.2 = 1.0999999999999996
-7.7%2.2 = 1.1000000000000005
7.7%-2.2 = -1.1000000000000005
-7.7%-2.2 = -1.0999999999999996
—整数和小数运算—
23.5%6 = 5.5
23%6.5 = 3.5
23.5%-6 = -0.5
-23%6.5 = 3.0
-23%-6.5 = -3.5

从运行结果可以发现两点:

  • 只有当第二个数字是负数时,求余的结果才是负数。换句话说,求余结果的正负和第一个数字没有关系,只由第二个数字决定。
  • %两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。

本例中小数求余的四个结果都不精确,而是近似值,这和小数在底层的存储有关系

** 次方(乘方)运算符

Python ** 运算符用来求一个 x 的 y 次方,也即次方(乘方)运算符。

由于开方是次方的逆运算,所以也可以使用 ** 运算符间接地实现开方运算。

Python ** 运算符示例:


1.  print('----次方运算----')
2.  print('3**4 =', 3**4)
3.  print('2**5 =', 2**5)5.  print('----开方运算----')
6.  print('81**(1/4) =', 81**(1/4))
7.  print('32**(1/5) =', 32**(1/5))

运行结果:

----次方运算----
34 = 81
2
5 = 32
----开方运算----
81**(1/4) = 3.0
32**(1/5) = 2.0

python福利教程领取方式:
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【19】
(一定要私信哦~点击我的头像就能看到私信按钮了)


http://lihuaxi.xjx100.cn/news/272511.html

相关文章

笔记 | 深入理解Transformer

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达目录:背景知识高层次理解通过实例来理解TensorEncoding高层次理解Self-AttentionSelf-Attention的细节Self-Attention矩阵乘法Multi-headed完善整体过程使用位…

Pytorch翻车记录:单卡改多卡踩坑记!

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达作者丨哟林小平来源丨夕小瑶的卖萌屋编辑丨极市平台先说明一下背景,目前正在魔改以下这篇论文的代码:https://github.com/QipengGuo/GraphWriter-DGL…

写给Python开发者:机器学习十大必备技能

作者 | Pratik Bhavsar译者 | 明明如月,编辑 | 夕颜来源 | CSDN(ID:CSDNnews)有时候,作为一个数据科学家,我们常常忘记了初心。我们首先是一个开发者,然后才是研究人员,最后才可能是数学家。我…

ElasticSearch性能优化策略【转】

ElasticSearch性能优化主要分为4个方面的优化。 一、服务器部署 二、服务器配置 三、数据结构优化 四、运行期优化 一、服务器部署 1、增加1-2台服务器,用于负载均衡节点 elasticSearch的配置文件中有2个参数:node.master和node.data。这两个参 数搭配使…

Java中的文件路径

通常情况下,在Java项目中,我们使用的路径都是在拿到类加载路径后,根据相对位置,使用 FilePathTest.class.getResourceAsStream(relativePath);拿到文件。今天小生不使用classPath,而是直接去使用相对路径来…

转:入侵网站必备-sql server

来源:http://www.bitscn.com/plus/view.php?aid28692 1.判断有无注入点 ; and 11 and 12 2.猜表一般的表的名称无非是admin adminuser user pass password 等.. and 0(select count(*) from *) and 0(select count(*) from admin) ---判断是否存在admin这张表 3.猜…

85.4% mIOU!NVIDIA:使用多尺度注意力进行语义分割,代码已开源!

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达下载论文PDF和源代码:链接:https://pan.baidu.com/s/17oy5JBnmDDOtKasfPrWNiQ 提取码:lk5z导读来自NVIDIA的SOTA语义分割文章&#xff…

Python赋值运算符(入门必读)

赋值运算符用来把右侧的值传递给左侧的变量(或者常量);可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。 [Python] 中最基本的赋值运算符是等号&#x…