Python零基础入门
Posted Geek_bao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python零基础入门相关的知识,希望对你有一定的参考价值。
三、运算符
3.1 算数运算符
算术运算符符号是处理四则运算的符号,在数字的处理中应用的最多。常见算术运算符如下图:
(1)算术运算符可以直接对数字进行运算,如下所示:
输入如下图:
(2)算术运算符也可以对变量进行计算,下面是对变量a、b和c进行计算的实例,如下:
a = 17
b = 15
c = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)
print(b % c)
print(a // c)
print(b // c)
print(b ** c)
运行结果如下:
(3)在Python中进行数学计算时,与我们学过的数学中运算符优先级是一致的。
- 先乘除后加减
- 同级运算符从左至右运算
- 可以使用“()”调整计算的优先级
算数运算符优先级由高到低顺序排列如下:
第一级:**
第二级:*,/,%,//
第三级:+,-
(4)在Python中,* 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果。如下代码:
print("M" * 10) # 输出10个M
print("@" * 10) # 输出10个@
print(" "*10, "M"*5) # 先输出10个空格,在输出5个M
运行结果如下:
3.2 赋值运算符
(1)赋值运算符主要用来为变量等赋值。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后在赋值给左边的变量。Python中常用的赋值运算符如下表,
下面看看几个实例:
a = 17
b = 15
c = 3
a = a + b # a+b的值复制给 a ,此时a的值为32
print(a)
a += b # a=a+b,此时a的值为47
print(a)
a -= b # a=a-b,此时a的值为32
print(a)
a *= b # a=a*b,此时a的值为480
print(a)
a /= b # a=a/b,此时a的值为32
print(a)
a %= b # a=a%b,此时a的值为2
print(a)
a **= c # a=a**b,此时a的值为8
print(a)
a //= c # a=a//b,此时a的值为2
print(a)
运行结果如下:
3.3 比较(关系)运算符
(1)比较运算符也称关系运算符。用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果为假,则返回False。比较运算符通常用在条件语句中作为判断的一句。Python常用比较运算符如下:
注意:Python中,当需要判断一个变量是否介于两个值之间,可以采用“值1<变量<值2”的形式,如“0<a<99”.。
下面看实例代码:
python = 95 # 定义变量,存储python的分数
english = 92 # 定义变量,存储english的分数
c = 89 # 定义变量,存储C语言的分数
# 输出3个变量的值
print("python = " + str(python) + " english = " + str(english) + " c = " + str(c) + "\\n")
print("python < english的结果:" + str(python < english)) # 小于操作
print("python > english的结果:" + str(python > english)) # 大于操作
print("python == english的结果:" + str(python == english)) # 等于操作
print("python != english的结果:" + str(python != english)) # 不等于操作
print("python <= english的结果:" + str(python <= english)) # 小于等于操作
print("english >= c的结果:" + str(python >= c)) # 大于等于操作
运行结果如下:
3.4 逻辑运算符
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。
下图给出了逻辑运算符的说明和用法:
下图给出了使用逻辑运算符进行逻辑运算时的运算结果:
3.5 位运算符
位运算符是把数字看作二进制数来进行计算的,因此,需要先将要执行运算的数据转换为二进制,然后才能执行运算。Python中的位运算有位与(&)、位或(|)、异或(^)、去反(~)、左移位(<<)和右移位(>>)运算符。
说明:整型数据在内存中以二进制的形式表示,如整型变量1的32位二进制形式如下:
00000000 00000000 00000000 00000111
其中,左边最高位是符号位,最高位是0表示正数,如果为1则表示负数。负数采用补码表示,因为计算机中的负数是以其补码形式存在的 ,如-7的32位二进制形式如下:
11111111 11111111 11111111 11111001
注意:补码=原码取反+1
(1)位与运算
位与运算的运算符为“&”,位与运算的运算法则是:两个操作数的二进制表示,只有对应位都是1时,结果才为1,否则为0。如果两个操作数精度不同,则结果的精度与精度高的操作数相同,如下图,是12&8的运算过程:
(2)位或运算
位或运算的运算符为“|”,位或运算的运算法则是:两个操作数的二进制表示,只有对应位都是0时,结果才为0,否则为1。如果两个操作数精度不同,则结果的精度与精度高的操作数相同,如下图,是4|8的运算过程:
(3)位异或运算
位异或运算的运算符为“^”,位异或运算的运算法则是:两个操作数的二进制表示对应位相同(同时为0或同时为1)时,结果才为0,否则为1。如果两个操作数精度不同,则结果的精度与精度高的操作数相同,如下图,是31 ^ 32的运算过程:
(4)位取反运算
位取反运算也称位非运算,运算符为“~”。位取反运算就是将操作数对应位的二进制数1改为0,0改为1,如下图,对123取反的运算过程:
在Python中的代码实现如下:
print("12&8 = "+ str(12&8)) # 位与计算整数的结果
print("4|8 = "+ str(4|8)) # 位与计算整数的结果
print("31^22 = "+ str(31^22)) # 位异或计算整数的结果
print("~123 = "+ str(~123)) # 位取反计算整数的结果
运行结果如下:
(5)左移位运算符<<就是将一个二进制操作数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。左移位运算相当于乘以2的n次幂。如下图,48左移一位和两位的运算过程,
(6)右移位运算符>>就是将一个二进制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,而在填充左边(高位端)的空位时,如果最高位是0(正数),则左侧空位填入0;如果最高位是1(负数),左侧空位填入1。右移位运算相当于除以2的n次幂。
如下图,48右移一位的运算过程,
下图为-80右移两位的运算过程,
3.6 运算符的优先级
(1)所谓运算符的优先级,是指在应用中哪个一个运算符先计算,哪一个后计算,与数学的四则运算应遵守“先乘除,再加减”是一个道理。
(2)Python运算符的运算规则是:优先级高的运算先执行,优先级低的运算后执行,同一优先级的操作按照从左到右的顺序进行。也可以使用小括号,括号内的运算最先执行。下表按照从高到低的顺序列出了运算符的优先级。同一行中的运算符具有相同的优先级,此时它们的结合方向决定求值顺序。
以上是关于Python零基础入门的主要内容,如果未能解决你的问题,请参考以下文章