Python运算符的使用简单介绍

目录
  • 1、算术运算符
  • 2、赋值运算符
  • 3、比较运算符
  • 4、逻辑运算符
  • 5、位运算符
  • 6、运算符优先级和结合性

1、算术运算符

Python 中常用运算符:

运算符 说明 实例 结果
+ 22.4 + 15 37.4
- 4.56 - 0.56 4
* 5 * 3 15
/ 除法(和数学中的规则一样) 8 / 2 4
// 整除(只保留商的整数部分) 7 // 2 3
% 取模,即返回除法的余数 7 % 2 1
** 次方运算,即返回 x 的 y 次方 2 ** 4 16,即 2^4

+加法运算符:

m = 10
n = 90
sum1 = m + n
print(sum1)
#当+用于字符串时,还可以拼接字符串
name = "方唐镜"
url = "江苏苏州"
age = 18
info = name + "的住址是" + url + ",已经" + str(age) + "岁了。"
print(info)

执行结果:

100
方唐镜的住址是江苏苏州,已经18岁了。

-减法运算符:

m = 100
n = 97
sum1 = m - n
print(sum1)
x = 45
y = -x
print(y)

执行结果:

3
-45

*乘法运算符:

n = 4 * 25
m = 34.5 * 6
print(n, m)
#将n个字符串连接
str = "hello "
print(str * 4)

执行结果:

100 207.0
hello hello hello hello

/ 和 // 除法运算符:

print("--------整数不能除尽-----------")
print("24/7 =", 24/7)
print("24//7 =", 24//7)
print("24.0//7 =", 24.0//7)
print("--------整数能除尽-----------")
print("25/5 =", 25/5)
print("25//5 =", 25//5)
print("25.0//5 =", 25.0//5)
print("--------小数除法-----------")
print("12.4/3.5 =", 12.4/3.5)
print("12.4//3.5 =", 12.4//3.5)

执行结果:

  • /的计算结果返回的总是小数,不管是否能除尽,也不管参与运算的是整数还是小数。
  • 当有小数参与运算时,//返回的结果才是小数,否则就是整数。
--------整数除不尽-----------
24/7 = 3.4285714285714284
24//7 = 3
24.0//7 = 3.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

%求余运算符:

print("-----整数求余-----")
print("7%2 =", 7 % 2)
print("7%-2 =", 7 % -2)
print("-----小数求余-----")
print("7.7%2.2 =", 7.7 % 2.2)
print("-7.7%2.2 =", -7.7 % 2.2)
print("-7.7%-2.2 =", -7.7 % -2.2)
print("---整数和小数运算---")
print("23.4%5 =", 23.4 % 5)
print("23%4.5 =", 23 % 4.5)
print("23.4%-5 =", 23.4 % -5)
print("-23%4.5 =", -23 % 4.5)
print("-23%-4.5 =", -23 % -4.5)

执行结果:

  • 求余运算本质还是是除运算,所以第二个数字不能是 0,不然会报 ZeroDivisionError 错误。
  • 只有当第二个数字是负数时,求余的结果才是负数。
  • 求余运算两边的数字都是整数时,求余的结果也是整数;但是只要有一个数字是小数,求余的结果就是小数。
-----整数求余-----
7%2 = 1
7%-2 = -1
-----小数求余-----
7.7%2.2 = 1.0999999999999996
-7.7%2.2 = 1.1000000000000005
-7.7%-2.2 = -1.0999999999999996
---整数和小数运算---
23.4%5 = 3.3999999999999986
23%4.5 = 0.5
23.4%-5 = -1.6000000000000014
-23%4.5 = 4.0
-23%-4.5 = -0.5

**次方运算符:

print('----次方运算----')
print('3**2 =', 3**2)
print('2**5 =', 2**5)
print('----开方运算----')
print('9**(1/2) =', 9**(1/2))
print('32**(1/5) =', 32**(1/5))

执行结果:

----次方运算----
3**2 = 9
2**5 = 32
----开方运算----
9**(1/2) = 3.0
32**(1/5) = 2.0

2、赋值运算符

扩展赋值运算符:

运算符 说 明 用法举例 等价形式
= 最基本的赋值运算 x = y x = y
+= 加赋值 x += y x = x + y
-= 减赋值 x -= y x = x - y
*= 乘赋值 x *= y x = x * y
/= 除赋值 x /= y x = x / y
%= 取余数赋值 x %= y x = x % y
**= 幂赋值 x **= y x = x ** y
//= 取整数赋值 x //= y x = x // y
&= 按位与赋值 x &= y x = x & y
|= 按位或赋值 x |= y x = x | y
^= 按位异或赋值 x ^= y x = x ^ y
<<= 左移赋值 x <<= y x = x << y,这里的 y 指的是左移的位数
>>= 右移赋值 x >>= y x = x >> y,这里的 y 指的是右移的位数
a = 15
b = 6
c = a + b
print("c 的值为:", c)
c += a
print("c 的值为:", c)
c *= a
print("c 的值为:", c)
c /= a
print("c 的值为:", c)
c %= a
print("c 的值为:", c)
c **= a
print("c 的值为:", c)
c //= a
print("c 的值为:", c)

执行结果:

c 的值为: 21
c 的值为: 36
c 的值为: 540
c 的值为: 36.0
c 的值为: 6.0
c 的值为: 470184984576.0
c 的值为: 31345665638.0

连续赋值运算:

将赋值表达式的值再赋值给另外一个变量,这就构成了连续赋值,如:

 a = b = c = 10

c = 100 这个子表达式的值是 10,b = c = 10 表示将 c = 10 的值赋给 b,因此 b 的值也是 10。以此类推,a 的值也是 10。

所以a、b、c 三个变量的值都是 10。

3、比较运算符

比较运算符 说明
大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
< 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
== 等于,如果==两边的值相等,则返回 True,否则返回 False。
>= 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<= 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!= 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。

比较运算符的使用实例:

print("89是否大于100:", 8 > 100)
print("24*5是否大于等于76:", 24*5 >= 80)
print("45.6是否等于45.6:", 45.6 == 45.6)
print("45是否等于45.0:", 45 == 45.0)
print("False是否小于True:", False < True)
print("True是否等于True:", True == True)

执行结果:

89是否大于100: False
24*5是否大于等于76: True
45.6是否等于45.6: True
45是否等于45.0: True
False是否小于True: True
True是否等于True: True

4、逻辑运算符

运算符 含义 基本格式 说明
and 逻辑与运算,等价于“且” a and b 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or 逻辑或运算,等价于“或” a or b 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not 逻辑非运算,等价于“非” not a 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

对于 and 逻辑与运算,两边的值都为真最终结果才为真,但是只要其中有一个值为假,那么最终结果就是假:

  • 如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是假,此时 and 会把左边表达式的值作为最终结果。
  • 如果左边表达式的值为真,那么最终值是不能确定的,and 会继续计算右边表达式的值,并将右边表达式的值作为最终结果

对于 or 逻辑或运算,两边的值都为假最终结果才为假,只要其中有一个值为真,那么最终结果就是真:

  • 如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,最终结果都是真,此时 or 会把左边表达式的值作为最终结果。
  • 如果左边表达式的值为假,那么最终值是不能确定的,or 会继续计算右边表达式的值,并将右边表达式的值作为最终结果。

5、位运算符

位运算符 说明 使用形式 举 例
& 按位与 a & b 4 & 5
| 按位或 a | b 4 | 5
按位异或 a ^ b 4 ^ 5
~ 按位取反 ~a ~4
<< 按位左移 a << b 4 << 2,表示整数 4 按位左移 2 位
>> 按位右移 a >> b 4 >> 2,表示整数 4 按位右移 2 位

按位与&

按位与& 运算符规则:只有两个都是1结果才为1,其余情况都为0

第一个Bit位 第二个Bit位 结果
0 0 0
0 1 0
1 0 0
1 1 1

实例:

print(12 & 5)

执行结果:

4

12 & 5二进制位进行&与运算过程如下:

  0000 1100
& 0000 0101
-------------
  0000 0100

按位或 |

按位或 | 运算符规则:只有两个都是0结果才为0,其余情况都为1

第一个Bit位 第二个Bit位 结果
0 0 0
0 1 1
1 0 1
1 1 1

实例:

print(12 | 5)

执行结果:

13

12 | 5二进制位进行|或运算过程如下:

  0000 1100
| 0000 0101
-------------
  0000 1101

按位异或^

按位异或^ 运算符的规则:两个值相同结果为0,不同结果为1

第一个Bit位 第二个Bit位 结果
0 0 0
0 1 1
1 0 1
1 1 0

实例:

print(12 ^ 5)

执行结果:

9

12 ^ 5二进制位进行^或运算过程如下:

  0000 1100
^ 0000 0101
-------------
  0000 1001

6、运算符优先级和结合性

结合性:先执行左边的叫左结合性,先执行右边的叫右结合性

从上到下优先级逐渐减低:

运算符说明 Python运算符 结合性 优先级顺序
小括号 ( )
索引运算符 x[i] 或 x[i1: i2 [:i3]] ︿
属性访问 x.attribute |
乘方 ** |
按位取反 ~ |
符号运算符 +(正号)、-(负号) |
乘除 *、/、//、% |
加减 +、- |
位移 >>、<< |
按位与 & |
按位异或 |
按位或 | |
比较运算符 ==、!=、>、>=、<、<= |
is 运算符 is、is not |
in 运算符 in、not in |
逻辑非 not |
逻辑与 and |
逻辑或 or |
逗号运算符 exp1, exp2

到此这篇关于Python运算符的使用简单介绍的文章就介绍到这了,更多相关Python运算符 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 中的@运算符使用

    在看fastai的代码时,看到这么一段: n=100 x = torch.ones(n,2) x[:,0].uniform_(-1.,1) x[:5] a = tensor(3.,2) y = x@a + torch.rand(n) 这里面有个@符号不知道是啥意思? 于是百度搜了一下,都是说@xxx是注解或者装饰器,明显不是这段代码的场景嘛! 于是又Google了一下,原来这个@是Python 3.5之后加入的矩阵乘法运算符,终于明白了! 补充:python矩阵乘积运算(multiply/mau

  • python的三目运算符和not in运算符使用示例

    三目运算符也就是三元运算符 一些语言(如Java)的三元表达式形如: 判定条件?为真时的结果:为假时的结果 result=x if x Python的三元表达式有如下几种书写方法: if __name__ == '__main__': a = '' b = 'True' c = 'False' #方法一:为真时的结果 if 判定条件 else 为假时的结果 d = b if a else c print('方法一输出结果:' + d) #方法二:判定条件 and 为真时的结果 or 为假时的结果

  • 总结Python中逻辑运算符的使用

    下表列出了所有Python语言支持的逻辑运算符.假设变量a持有10和变量b持有20,则: 示例: 试试下面的例子就明白了所有的Python编程语言提供了逻辑运算符: #!/usr/bin/python a = 10 b = 20 c = 0 if ( a and b ): print "Line 1 - a and b are true" else: print "Line 1 - Either a is not true or b is not true" if

  • python不等于运算符的具体使用

    Python not equal operator returns True if two variables are of same type and have different values, if the values are same then it returns False. 如果两个变量具有相同的类型并且具有不同的值 ,则Python不等于运算符将返回True :如果值相同,则它将返回False . Python is dynamic and strongly typed lan

  • 在Python中使用成员运算符的示例

    下表列出了所有Python语言支持的成员运算符. 例如: 试试下面的例子就明白了所有的Python编程语言提供会员运算符: #!/usr/bin/python a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print "Line 1 - a is available in the given list" else: print "Line 1 - a is not available in the given

  • Python语言技巧之三元运算符使用介绍

    python不支持C/C++中的三元操作符 ?:,替代的方法是 ...if... else...举例,用下面的语法实现求三个数的最小值.nD1 if nD1 < ( nD2 if nD2<nD3 else nD3) else (nD2 if nD2 < nD3 else nD3) python三元运算符的正确方法 因为下周要用php写项目,所以周末在家里重新看php的语法,看到三元描述符,突然想起来python是没有三元描述符的,印象中依稀记得有模拟的实现,于是上网上搜了一下. (对应C

  • 讲解Python中运算符使用时的优先级

    运算符优先级来确定条件的表达式中的分组.这会影响一个表达式如何计算.某些运算符的优先级高于其他;例如,乘法运算符的优先级比加法运算更高. 例如x=7 + 3* 2;这里,x被赋值13,而不是20,因为运算符*的优先级比+更高,所以它首先乘以3 * 2,然后加7. 这里,具有最高优先级运算符出现在表格上方,那些最低的显示在底部.在一个表达式,更高的优先级运算符将首先计算. 例如: 试试下面的例子来理解Python编程语言可供选择的运算符优先级: #!/usr/bin/python a = 20 b

  • 实例说明Python中比较运算符的使用

    下表列出了所有Python语言支持的比较操作符.假设变量a持有10和变量b持有20,则: 例如: 试试下面的例子就明白了所有的Python编程语言提供的比较操作符: #!/usr/bin/python a = 21 b = 10 c = 0 if ( a == b ): print "Line 1 - a is equal to b" else: print "Line 1 - a is not equal to b" if ( a != b ): print &q

  • 举例讲解Python中的身份运算符的使用方法

    Python身份运算符 身份运算符用于比较两个对象的存储单元 以下实例演示了Python所有身份运算符的操作: #!/usr/bin/python a = 20 b = 20 if ( a is b ): print "Line 1 - a and b have same identity" else: print "Line 1 - a and b do not have same identity" if ( id(a) == id(b) ): print &q

  • Python运算符的使用简单介绍

    目录 1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.位运算符 6.运算符优先级和结合性 1.算术运算符 Python 中常用运算符: 运算符 说明 实例 结果 + 加 22.4 + 15 37.4 - 减 4.56 - 0.56 4 * 乘 5 * 3 15 / 除法(和数学中的规则一样) 8 / 2 4 // 整除(只保留商的整数部分) 7 // 2 3 % 取模,即返回除法的余数 7 % 2 1 ** 次方运算,即返回 x 的 y 次方 2 ** 4 16,即 2^4

  • Python lxml库的简单介绍及基本使用讲解

    1.lxml库介绍 lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据:lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML.XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息 HTML是超文本标记语言,主要用于显示数据,他的焦点是数据的外观 XML是可扩展标记语言,主要用于传输和存储数据,他的焦点是数据的内容 2.安装lxml方法 方法1: 在cmd运行窗口中输入:pip install lxml 方法2: 在Pychar

  • python 高阶函数简单介绍

    把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现.函数式编程就是指这种高度抽象的编程范式. 1.体验高阶函数 在Python中,abs()函数可以完成对数字求绝对值计算. abs(-10) # 10 round()函数可以完成对数字的四舍五入计算. round(1.2) # 1 round(1.9) # 2 需求:任意两个数字,按照指定要求整理数字后再进行求和计算. 方法1 def add_num(a, b): return abs(a) + abs(b) result =

  • Python运算符重载的简单实例代码

    目录 什么是运算符重载 以__pow__为例 反向运算符的重载 总结 什么是运算符重载 让自定义的类生成的对象(实例)能够使用运算符进行操作 作用: 让自定义的实例像内建对象一样进行运算符操作 让程序简洁易读 对自定义对象将运算符赋予新的规则 算术运算符的重载: 方法名                  运算符和表达式      说明            __add__(self,rhs)        self + rhs        加法            __sub__(self,

  • python爬虫框架talonspider简单介绍

    1.为什么写这个? 一些简单的页面,无需用比较大的框架来进行爬取,自己纯手写又比较麻烦 因此针对这个需求写了talonspider: •1.针对单页面的item提取 - 具体介绍点这里 •2.spider模块 - 具体介绍点这里 2.介绍&&使用 2.1.item 这个模块是可以独立使用的,对于一些请求比较简单的网站(比如只需要get请求),单单只用这个模块就可以快速地编写出你想要的爬虫,比如(以下使用python3,python2见examples目录): 2.1.1.单页面单目标 比如

  • Python datetime包函数简单介绍

    一.datetime包(上接连载7内容) 1.函数:datetime (1)用法:输入一个日期,来返回一个datetime类​ (2)格式:datetime.datetime(年,月,日,hour=,minute=,second=) 其中hour,minute,second可选 (3)附加类方法: today():返回本地当前时间 now():返回本地当前时间 utcnow():返回本地当前时间 fromtimestamp(时间戳):返回时间戳的本地时间 dt = datetime.dateti

  • 简单介绍Python中的几种数据类型

    大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"hello",hello List(列表) 例如:[1,2,3],[1,2,3,[1,2,3],4] Dictionary(字典) 例如:{1:"nihao",2:"hello"} Tuple(元组) 例如:(1,2,3,abc) Bool(布尔) 包括True.False 由于Pyt

  • 简单介绍Python的Tornado框架中的协程异步实现原理

    Tornado 4.0 已经发布了很长一段时间了, 新版本广泛的应用了协程(Future)特性. 我们目前已经将 Tornado 升级到最新版本, 而且也大量的使用协程特性. 很长时间没有更新博客, 今天就简单介绍下 Tornado 协程实现原理, Tornado 的协程是基于 Python 的生成器实现的, 所以首先来回顾下生成器. 生成器 Python 的生成器可以保存执行状态 并在下次调用的时候恢复, 通过在函数体内使用 yield 关键字 来创建一个生成器, 通过内置函数 next 或生

  • python kmeans聚类简单介绍和实现代码

    一.k均值聚类的简单介绍 假设样本分为c类,每个类均存在一个中心点,通过随机生成c个中心点进行迭代,计算每个样本点到类中心的距离(可以自定义.常用的是欧式距离) 将该样本点归入到最短距离所在的类,重新计算聚类中心,进行下次的重新划分样本,最终类中心不改变时,聚类完成 二.伪代码   三.python代码实现   #!/usr/bin/env python # coding=utf-8 import numpy as np import random import matplotlib.pyplo

  • Python爬虫库BeautifulSoup的介绍与简单使用实例

    一.介绍 BeautifulSoup库是灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便地实现网页信息的提取. Python常用解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup, "html.parser") Python的内置标准库.执行速度适中 .文档容错能力强 Python 2.7.3 or 3.2.2)前的版本中文容错能力差 lxml HTML 解析器 BeautifulSoup(markup,

随机推荐