ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python基础-4 运算符

2020-01-30 18:53:57  阅读:284  来源: 互联网

标签:False Python list1 Decimal 基础 运算符 print


运算符

运算符:以1 + 2为例,1和2被称为操作数,“+” 称为运算符。

Python语言支持以下类型的运算符:

  1. 算术运算符
  2. 比较(关系)运算符
  3. 赋值运算符
  4. 逻辑运算符
  5. 位运算符
  6. 成员运算符
  7. 身份运算符
  8. 三目运算符

算术元运算符
以下假设变量: a=10,b=20:

python中,有三种除法,分别是

10/3    3.333333333      

1.计算结果是浮点数,即使两个整数恰好整数,结果也是浮点数

9/3     3.0

2.只取整数部分,余数被抛弃

10//3   3

3.余数运算,可以得到两个整数相除的余数

10%3     1

如果想同时得到商和余数,可以用这个方法

divmod(10,3)    (3,1)

因为浮点数精度的问题,Python还存在一些计算方面的小问题

0.1+0.1+0.1-0.3
5.551115123125783e-17

要解决这个问题,可以导入decimal模块

from decimal import Decimal
Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.0')

比较运算符

1.下面三个选项哪个为True?

'abc' < 'xyz'   
# 为什么字符串可以进行大小比较,这是因为电脑存储字符时,是以ASCII码值存储的
也就是A是65,z是90.你输入的字符也是一个对应的数字

(3,2) < ('a','b')

2.请分别说出下面各项的值:

True == 1
False == 0
3>2>1
3>2>2
(3>2)>1
(3>2)>2

对于连续比较,Python是按这种机制解释的:

3>2>1 等于 (3>2) and (2>1) ,相当于两个比较,然后用与&再结合起来。

赋值运算符

注意对于 a /= b 之类的操作,等同于a = a / b, 而不是 = b /,方向一定不要搞反了。

a = 1
a++
print(a)  

在python中是没有++的这种写法

位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

逻辑运算符
Python语言支持逻辑运算符,但是没有其它语言中的&&和||语法,取而代之的是更加人性化的英文单词and or not(全部都是小写字母)。以下假设变量 a 为 10, b为 20:

x = False
y = True 

x and y     
False

a = 10
b = 20
a and b 
20

成员运算符
与 not是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。

list1 = [1, 2, 3, 4, 5]
a = 1

for i in list1:
    if i == a:
        print("a在list1中")
    else:
        print('a不在list1中')

flag = False
for i in list1:
    if i == a:
        flag = True
        break
if flag:
    print("a是list1的元素之一")
else:
    print("a不是list1的元素")
    
    
如果用in运算符来做的话,就不用这么麻烦了
list1 = [1, 2, 3, 4, 5]
a = 1
if a in list1:
    print("a是list1的元素之一")
else:
    print("a不是list1的元素")

身份运算符
这也是Python的特色语法(全部都是小写字母)。

注意is与比较运算符“==”的区别,两者有根本上的区别,切记不可混用:

is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等!

a = [1,2]
b = a
b is a
Ture
b == a
Ture
b = a[:]
b is a
False
b == a
Ture

a = 2
b = 2.0
b is a 
a == b

三目运算符
python中的三目运算符不像其他语言一般的表示方法:判定条件?为真时的结果:为假时的结果。

在python中的格式为:为真时的结果 if 判定条件 else 为假时的结果,例如:

a = 1
b = 2
h = ""
h = a-b if a>b else a+b

如果a>b执行a-b,如果a<b执行a+b

运算符优先级
下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)

标签:False,Python,list1,Decimal,基础,运算符,print
来源: https://www.cnblogs.com/sakura579/p/12243440.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有