python笔记04: 运算符

表达式

  • 由一个或者几个数字或者变量和运算符组合成的一行代码
  • 通常会返回一个结果

运算符

  • 由一个以上的值经过变化得到新值的过程就叫运算
  • 用于运算的符号叫运算符
  • 运算符分类:
    • 算数运算符
    • 比较或者关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算
    • 成员运算
    • 身份运算符

算数运算符

  • 进行算数运算的符号
  • python没有自增自减运算符
# +,-跟正常算术运算符一模一样
a = 9+3-2
print(a)

# 乘号用星号(*)代替
a = 9 * 4
print(a)

# 除号用斜杠(/)代替
# 在Python2.x 和python3.x 中,除号(/)结果可能不一致,此处以3系列为准
a = 9/4
print(a)

# ** 表示幂运算
a = 9 ** 4
print(a)

a = 3 ** 3
print(a)
10
36
2.25
6561
27
# 两个数字相除应该有商数有余数
# % 取余运算只会得到余数
# // 表示取商运算,也叫地板除,向下取整
# a % b = a - (a//b)*b
a1 = 9 // 4
a2 = 9 % 4 
print(a1)
print(a2)

b1 = 9 // -4
b2 = 9 % -4
print(b1)
print(b2)

c1 = -9 // 4
c2 = -9 % 4 
print(c1)
print(c2)

d1 = -9 // -4
d2 = -9 % -4 
print(d1)
print(d2)
2
1
-3
-3
-3
3
2
-1
# a % b = a - (a//b)*b

print(-340 // 60)
print(-340 % 60)

print(340 // -60)
print(340 % -60)

-6
20
-6
-20

比较运算符

  • 对两个变量或者值进行比较的运算符
  • 比较的结果是布尔值,即True/False
# == , 等于号
a = 3 ** 4
# 下面语句执行书序是
# 1, 计算 a == 80
# 2. 把结果放入b中
b = a == 80
print(b)


# != 不等于
print( 9 != 8 )

# > 大于
# < 小于
# >= 大于等于
# <= 小于等于
False
True

赋值运算符

# = , 赋值
a = 0
c = a = 4
print(c)

# 所有数学运算符都有缩写形式
# +=, -=, ×=, /=, //=, %=, **=,都是缩写形式
#python里面没有++,--

a = 0

a += 7 # a = a+ 7 的缩写
print(a)

a -= 1
print(a)

a *= 5
print(a)

a /= 2
print(a)

a //= 4
print(a)

a %= 2 
print(a)

a **= 10000
print(a)
4
7
6
30
15.0
3.0
1.0
1.0

逻辑运算符

  • 对布尔值进行计算的符号
  • and 逻辑与
  • or 逻辑或
  • not 逻辑非
  • python中逻辑运算没有异或运算
  • 运算规则:
    • and看做乘法, or看做加法,
    • True看做1, False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则为False, 否则为True
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 逻辑运算符案例
a = True
b = False
c = True

# 以下式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d)


d = a or b and a
print(d)
True
True
# 逻辑运算 短路案例1

# 下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算
a = True or xxxxxxxxxxx
print(a)
True
# 下面表达式,如果xxx中包含赋值表达式,则结果很难预期
# 代码示例(伪代码)
b = 0
aa = True or  (b=9) and 6
# 假定上面表达式如果没有语法错误
# 则b最终的值应该是0而不是9
print(b)
print(aa)
  File "<ipython-input-4-cff77f5a84cf>", line 4
    aa = True or  (b=9) and 6
                    ^
SyntaxError: invalid syntax
#逻辑问题 短路案例2
def a():
        print('a')
        return True

def b():
        print('b')
        return True

if a() and b():
    print("AAAAAAAA")
else:
    print("NNNNNNNN")
print("*" * 20)

if a() or b():
    print("BBBBBBBB")
a
b
AAAAAAAA
********************
a
BBBBBBBB

成员运算符号

  • 用来检测某一个变量是否是另一个变量的成员
  • in
  • not in
# 案例
list = [1,2,3,4,5]
a = 7
if (a in list):
    print("7 in list")
else:
    print("7 not in list;")

a = 4
if (a not in l):
    print("4 not in list")

else:
    print("4 in list")
#print(a not in list)
7 not in list;
4 in list

身份运算

  • is: 用来检测两个变量是否是同一个变量
    • 语法就是 var1 is var2
  • is not: 两个变量不是同一个变量
  • python对小整数[-5, 256],解释器做了单独的处理,放进了固定的内存
a = 4909
b = 2525
print(a is b)

a = 49
b = 49
print(a is b)

a = 257
b = 257
print(a is b)

a = 490925256
b = 490925256
print(a is b)

str1 = "I love maluyuan"
str2 = "I love maluyuan"
print(str1 is str2)
False
True
False
False
False

运算符的优先级问题

  • 括号具有最高优先级

  • 优先级表格

      **  指数 (最高优先级)
      ~ + -   按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
      * / % //    乘,除,取模和取整除
      + - 加法减法
      >> <<   右移,左移运算符
      &   位 'AND'
      ^ | 位运算符
      <= < > >=   比较运算符
      <> == !=    等于运算符
      = %= /= //= -= += *= **=    赋值运算符
      is is not   身份运算符
      in not in   成员运算符
      not or and  逻辑运算符
    
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值