运算符

运算符:以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

运算符优先级

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

Python基础-4 运算符的更多相关文章

  1. Python 基础 常用运算符

    Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...

  2. python基础之运算符

    算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复 ...

  3. Python基础 基本运算符

    什么是操作符 形如 1+1 = 2 这样的 1 就是操作数 + 就是操作符 python语言支持的操作符: 算数运算符 比较运算符(关系) 赋值运算符 逻辑运算符 位运算符 会员操作符 标志操作符 算 ...

  4. python基础-变量运算符(3)

    一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...

  5. python基础02—运算符与流程控制

    运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...

  6. python基础2 - 运算符

    3. 运算符 3.1 算数运算符 算数运算符是 运算符的一种 是完成基本的算术运算使用的符号,用来处理四则运算 运算符 描述 实例 + 加 10 + 20 = 30 - 减 10 - 20 = -10 ...

  7. python 基础之运算符

    运算符 a=10 ,b=20 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘 ...

  8. Python基础知识-运算符

    今日学习内容 用户交互 用户交互就是人向机器发出指令,机器分析处理后,给人们返回操作结果(装13的说法).直白地讲,就是人往计算机中输入(input)数据,计算机输出(output)结果.交互的本质就 ...

  9. python基础(2)-运算符&while循环

    算术运算符 a=5; b=2; print(a+b);#result:7 desc:加 print(a-b);#result:3 desc:减 print(a*b);#result:10 desc:乘 ...

随机推荐

  1. layui+ajax+select

    1.看效果 2.前端代码 <div class="layui-form-item"> <label class="layui-form-label&qu ...

  2. Springboot 中AOP的使用

    面向切面编程(Aspect Oriented Programming) 是软件编程思想发展到一定阶段的产物,是面向对象编程的有益补充.AOP一般适用于具有横切逻辑的场合,如访问控制.事务管理.性能检测 ...

  3. 排序算法之快速排序的python实现

    通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序. 快速排序算法的工作原理如下: 1. 从数列中挑出一个元 ...

  4. kindeditor文件上传设置文件说明为上传文件名(JSP版)

    编辑器换成kindeditor时发现文件上传后,直接点确定,<a>便签中的内容显示的是文件路径,不是我想要的文件名,我试了百度上的一些设置方法都不行的,百度上大部分都是修改pugins/i ...

  5. 一周搞定模拟电路P2_二极管介绍_记录

    1 稳压二极管 1.1 稳压二极管伏安特性曲线 ΔIz 这一段为能够达到比较好的稳压效果的稳压电流. 1.2 两种连接方法的比较 2 整流二极管 2.1 特点 用于把交流电变成脉动直流电 3 开关二极 ...

  6. 以C语言为例完成简单的网络聊天程序以及关于socket在Linux下系统调用的分析

    套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程. 端 ...

  7. BZOJ-1563-郁闷的出纳员(权值线段树)

    偏移量要考虑清楚. #include <bits/stdc++.h> using namespace std; const int N=4e5+10; const int BASE=1e5 ...

  8. python csv 读写操作

    import csv def read_csvList(path="./datasets/test.csv")->list: """return ...

  9. 批量离线安装jar 包到maven本地仓库

    //installer.bat@echo offset localdir=%~dp0call mvn install:install-file -DgroupId=org.zhixun -Dartif ...

  10. 批量给文件加一个后缀 .bak , 一条命令去掉文件的后缀 linux

    给当前文件夹下面的所有文件加上一个后缀 == 一条命令解决 ll | awk '{print $9}' | grep -v '^[ ]*$' |sed -r 's#(.*)#mv \1 \1.bak# ...