python入门(三)-- 基本运算符

python支持一下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符

1、算术运算符

算术运算符在上个博客中已经介绍过。

需要特别注意的地方是:

a = -3**2
# 这里会返回-9
print(a)

负号的优先级比幂运算低

2、比较运算符

比较运算符的使用和Java中相同,需要注意的是:

  • 和java中不同,python中的False = 0,True =1
  • 和java中不同,python中的False、True首字母大写,java中小写
  • 和java中不同,python中的比较运算发支持“连写”,即:
//在Java中,比较运算符一次只能两两比较,不能连写
public class Test {
    public static void main(String[] args) {
        int num = 5;
        if (num>4 && num<10){
            System.out.println(true);
        }
    }
}
num = input("请输入一个数字")
# python支持比较符连写
if 5 < int(num) <= 10:
    print(True)

3、赋值运算符

赋值运算符有:=、+=、-=、*=、/=、%=、**=、//=

使用规则和Java中类似,不再赘述。

4、逻辑运算符

python中的逻辑运算符不使用符号(&&、||、!),而直接英文单词and、or、not

5、位运算符

位运算符有:

  • &:与,同为1则为1,否则为0
  • | :或,只要有一个为1则为1,都为0则为0
  • ^:异或,相异时(一个为1一个为0),则为1,否则为0
  • ~ :取反
  • <<:左移,高位丢弃,低位补0
  • >>:右移,高位补0

6、成员运算符

python中提供成员运算符in、not in,用于判断元素是否在序列(列表、元组、字符串)中。

还可以用del 删除从序列中删除某个元素,比如:

aList = ['a', 1, 2, 3]
if 'a' in aList:
    del aList[aList.index('a')]
print(aList)

7、身份运算符

python中的身份运算符有is、is not。

  • is用于判断两个标识符是否引用自同一个对象a is b相当于id(a) == id(b)id()用于获取对象的内存地址
  • is not相反

需要注意的是is和is not是用于判断“对象的引用地址是否相等”,而不是类型,类型判断使用type()和isinstance:

type和isinstance的差别:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型(和java中的instanceof效果相同)。

另外一点需要注意的是,is 和 == 不同

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。这与java中不同,java中的==比较引用对象是否同一个,和python中的is相同。

最后需要注意,==、>、<比较值的时候,只要有”合适的“比较方法就可以进行比较,比如1和1.0进行比较,1 ==1.0会返回true。

例如:

>>> a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True
>>> 1 == 1.0
True
>>> 1 is 1.0
False

8、 运算符的优先级排序

**指数 (最高优先级)
~ + –按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整除
+ –加法减法
>> <<右移,左移运算符
&位与
^ |位或
<= < > >=比较运算符
<>  ==  !=等于、不等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not or and逻辑运算符

9、python中的三元操作符

python3 中的三元操作符有点特别,是通过if else实现的。格式为:

a = x if x<y else y

比如说:

a = 4 if 1>2 else 5
# 返回5
print(a)

Java中的写法:

a = 1>2?5:4;

10、断言

python3 中提供assert操作符,当assert后面的表达式为False时,会抛出一个AssertionError异常。

可用于程序调试、中断程序运行等等。

比如:

assert 3 > 4

 

    原文作者:python入门
    原文地址: https://my.oschina.net/pierrecai/blog/894191
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞