Python全栈 第二天 2·运算符

加减乘除

小学都上过吧,那应该不用解释了。

  1. 基本运算符
运算符 描述 示范
+ 加法 1 + 1 输出2
- 减法 8 - 6 输出2 6 - 8 输出-2
* 乘法 3 * 4 输出12
/ 除法 6 / 3 输出2.0
// 取整 9 //2 输出4 9.0//2.0 输出4.0
& 取余 6%4 输出2
** 2 ** 3 输出8
  1. 向上、向下取整
    需要导入math模块,输入math.ceil(值),可以向上取整数部分(小数进一)。输入math.floor(值),可以向下取整数部分(小数舍去)。
>>> import math         #  向上取整或向下取整用math模块。
>>> math.ceil(6.4)
7
>>> math.floor(7.9999)
7
  1. 开方
    需要导入math模块,输入math.sqrt(值),可以对指定数字计算开方。
IN:
import math
print(math.sqrt(16))

OUT:
4.0
  1. 浮点数精确运算
    Python小数运算不精确,需要导入decimal模块。输入import decimal,导入模块。
>>> 2.2 - 2
0.20000000000000018
>>> # 以上为未导入 decimal 模块的运算结果。

>>> import decimal #导入模块后运算结果。
>>> a = decimal.Decimal("2.2")
>>> b = decimal.Decimal("2")
>>> a - b
Decimal('0.2')

按位运算符

按位运算是把数字当做二进制数字进行计算的。

  1. & 按位与运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 & 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数都为1时,则该位的结果是1,否则为零。
>>> 5 % 7 # 5的二进制为101,7的二进制为111,计算结果为101
5
  1. | 按位或运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 | 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要有一个位为1时,则结果为1。
>>> 5 | 7 # 5的二进制为101,7的二进制为111,计算结果为111
7
  1. ^ 按位异或运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 ^ 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:相应的位数只要不相同时为1时,否则为零。
>>> 5 ^ 7 # # 5的二进制为101,7的二进制为111,计算结果为010
2
  1. ~ 按位取反运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 ~ 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:每个二进制位取相反数。
>>> ~5
-6
  1. << 左移动运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 << 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由<<右边数值决定移动多少位,高位丢弃,低位补0。
>>> 2 << 2
8
  1. >> 右移动运算符
    按位运算符是把数值按照二进制数进行运算,输入数值 >> 数值,可以输出二进制计算后对应的十进制结果。按位运算原理:各二进制数全部左移动若干位,由>>右边数值决定移动多少位,低位丢弃,高位补0。
>>> 13 >> 2
3

关系运算符

如果运算符两边的关系成立,整个关系运算符表达式的值为真,否则为假。

运算符 描述 表达式
== 等于 输入1 == 1 输出True
!= 不等于 输入1 != 2 输出True
> 大于 输入2 > 1 输出True
>= 大于等于 输入2 >= 1 输出True
< 小于 输入1 < 2 输出True
<= 小于等于 输入1 <= 2 输出True

赋值运算符

  1. 赋值运算表达式
    格式:变量 = 表达式;先计算右侧表达式的值,然后赋值给左侧变量。

  2. = 赋值
    输入 变量名 = 值,表示对变量进行赋值。

>>> a = 1
>>> a
1
  1. += 加法赋值
    输入 变量名 += 数值或变量,表示将运算的结果对变量赋值。其余的赋值运算符方法一样。
>>> a = 100
>>> b = 50
>>> a += b
>>> a
150

逻辑运算符

  1. and 逻辑与运算符
    输入 变量名 = 变量名 and 变量名 !=变量名and两边都为真时,输出True,如果有一边为假时,输出False。 and表示并且。
>>> a = 1
>>> b = 2
>>> c = 1

>>> a != b and a ==c
True
>>> a == b and a ==c
False

>>> if a and b:
    print("ok")

    
ok
  1. or 逻辑或运算符
    输入 变量名 = 变量名 or 变量名 !=变量名,只要 or的一边为真时,输出True,如果两边都为假,输出False。 or表示或者。
>>> a = 1
>>> b = 2
>>> c = 1

>>> a == c or a == b
True
>>> a == b or b == c
False
  1. not 逻辑非运算符
    输入 not 变量名 == 变量名,如果结果为真,输出False,如果结果为假,输出True。 not表示非。
>>> a = 1
>>> b = 2

>>> not a == b
True
>>> not a != b
False

成员运算符

  1. in
    如果在指定的序列中找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 in li
True
>>> 5 in li
False
  1. not in
    如果在指定的序列中没有找到值返回True,否则返回False。
>>> li = [1, 2, 3]
>>> 3 not in li
False
>>> 5 not in li
True

身份运算符

  1. is
    判断两个标识符是否引用同一个对象。
  2. is not
    判断两个标识符是否引用不同的对象。

运算符优先级

  1. **幂
  2. ~按位取反,+正号,-负号
  3. *乘,/除,//取整,%取余
  4. +加号,-减号
  5. <<左移动,>>右移动
  6. &按位与
  7. ^按位异或,|按位或
  8. <小于,<=小于等于,>大于,>= 大于等于
  9. ==等于,!=不等于
  10. =赋值,+=加法赋值,-=减法赋值,%=取余赋值,//=取整赋值
  11. is,is not
  12. in,not in
  13. and,or,not

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • 高级运算符 文档地址 作为 基本运算符 的补充,Swift 提供了几个高级运算符执行对数传值进行更加复杂的操作。这...
    hrscy阅读 826评论 0 2
  • 高级运算符(Advanced Operators) 本文参考自苹果官方文档Advanced Operators本页...
    果啤阅读 1,583评论 1 5
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 648评论 0 0
  • 在互联网产品的生命周期中,用户研究已经成为不可或缺的一环。在大型互联网公司中,可能会配有专门的用研部门,例如笔者就...
    学无智境阅读 2,098评论 6 5
  • 我为什么喜欢绿植?这个问题远点可以追溯到小时候,看母亲大老远从别人家东平西凑地要来各种知名、不知名花花草草种满我...
    胡兰特帅气阅读 358评论 0 1