python学习第三天——运算符和表达式

  本来不准备单独拉一篇博客记录,但是学完了发现python的运算符和表达式与java相比有不少区别,以下做关键记录

算术运算

  • + (加)       

意义:将两对象相加 

注意:数字和字符串是不允许相加的,这种情况在java中,数字会被转为字符串后相加,在python中报错

  • - (减)
  • * (乘)     

意义:两个数相乘,或者将一个字符串重复若干次

注意: 'la' * 3 得到 'lalala'.

  • ** (乘方)

意义:返回 x 的 y 次幂,这在java中是不存在的

实例:3 ** 4 得到 81 

  • / (除)

意义:x 除以 y

注意:整数相除并不像java一样得出整数

实例:13 / 3 =4.333333333333333,12/3=4.0

  • // (除且取整)

意义:x 除以 y 并返回小于商的最大整数,注意,如果操作数之一为浮点数,则返回值必为浮点数
实例:13 // 3 = 4 ;   -13 // 3 = -5 ;   9//1.81 = 4.0

  • % (取模)

意义:返回作除法之后的余数
13 % 3 得到 1. -25.5 % 2.25 得到 1.5

比较运算

  • < (小于)

注意:比较运动算符返回 True 或 False(True和False的首字母都是大写

比较还可以任意链接: 3 < 5 < 7 得到 True

  • > (大于)

注意:如果两个操作数都是数字,则首先要做的是将它们转换为相同的类型。否则总是返回 False

  • <= (小于或等于)  >= (大于或等于)
  • == (等于)

意义:比较两个对象是否相等

实例:数字等于 x = 2; y = 2; x == y 返回 True  ;字符串等于 x = 'str'; y = 'stR'; x == y 返回 False  ;x = 'str'; y = 'str'; x == y 返回 True

  • != (不等于)

bool运算***

这里首先要指明python中的True和False,和java的  大 ——不——相——同

1、python的True和False,现在是keyword,不可赋值,并注意大小写

2、True和False分别对应数字1和0,可以打印下True==1,True<0.1,False==0,False>0.1;True+False+20的结果

3、布尔表达式的值,按官方解释,以下会被认为是false

(1)None;False

(2)任何为0的数字类型,如:0,0.0,0j;

(3)任何空序列和空字典,如:'',(),[];

(4)用户定义的类实例,如果类定义了__bool__()或者__len__()方法,并且该方法返回0或者布尔值False。

  • not (非)
  • and (与)短路运算

  • or (或)短路运算

成员运算和身份运算***

这个是比较新鲜的东西

in 和 not in是成员运算符,返回"元素"是否在一个对象中,这个对象可以是字符串,列表或元组

实例:print('a' in 'aa')   结果为True

is 和 is not 是身份运算符,用于比较两个对象的存储单元

实例:x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False;x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False

划笔记:id()函数用于获取对象的内存地址is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

比较:这点和java的equals()和==相反,java中equals比较值内容,==比较对象地址


位运算比较复杂一点,我准备单独开一篇讲,请移步另外一篇:python学习特辑-二进制和位运算篇

猜你喜欢

转载自www.cnblogs.com/yb38156/p/12485538.html