python运算符优先级
‘壹’ python语法小记忆
Python 中的字符串还支持转义字符。所谓转义字符是指使用反斜杠“\”对一些特殊字符进行转义。
转义字符说明
\ 续行符
\n 换行符
\0 空
\t 水平制困塌表符,用于横向跳到下一制表位
\'' 双引号
\' 单引号
\\ 一个反斜杠
\f 换页
\0dd 八进制数,dd 代表字符,如\012 代表换行
\xhh 十六进制数,hh 代表字符,如\x0a 代表换行
在Python 中,提供了如下表所示的函数进行数据类型的转换。
函数作用
int(x) 将x 转换成整数类型
float(x) 将x 转换成浮点数类型
complex(real [,imag]) 创建一个复数
str(x) 将x 转换为字符串
repr(x) 将x 转换为表达式字符串
eval(str) 计算在字符串中的有效Python 表达式,并返回一个对象
chr(x) 将整数x 转换为一个字符
ord(x) 将一个字符x 转换为它对应的整数值
hex(x) 将一个整数x 转换为一个十六进制字符串
oct(x) 将一个整数x 转换为一个八进制的字符串
赋值运算符主要用来为变量等赋值。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量。在Python 中常用的赋值。
运算符如下表所示。
运算符说明举例展开形式
= 简单的赋值运算x=y x=y
+= 加赋值x+=y x=x+y
-= 减赋值x-=y x=x-y
*= 乘赋值x*=y x=x*y
/= 除赋值x/=y x=x/y
%= 取余数赋值x%=y x=x%y
**= 幂赋值x**=y x=x**y
//= 取整除赋值x//=y x=x//y
比较运算符,也称关系运算符槐谈,用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果为假,则返回False。比较运算符通常用在条件语句中作为判断的依据。Python 中的比较运算符如下表所示。
运算符作用举例结果
> 大于'a' > 'b' False
< 小于156 < 456 True
== 等于'c' == 'c' True
!= 不等汪明圆于'y' != 't' True
>= 大于或等于479 >= 426 True
<= 小于或等于62.45 <= 45.5 False
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。
运算符含义用法结合方向
and 逻辑与op1 and op2 从左到右
or 逻辑或op1 or op2 从左到右
not 逻辑非not op 从右到左
所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学的四则运算应遵循的“先乘除,后加减”是一个道理。
下表按从高到低的顺序列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
运算符说明
** 幂
~、+、- 取反、正号和负号
*、/、%、// 算术运算符
+、- 算术运算符
<<、>> 位运算符中的左移和右移
& 位运算符中的位与
^ 位运算符中的位异或
| 位运算符中的位或
<、<=、>、>=、!=、== 比较运算符
在Python 中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本用法如下:
variable = input("提示文字")
其中,variable 为保存输入结果的变量,双引号内的文字用于提示要输入的内容。
默认的情况下,在Python中,使用内置的print()函数可以将结果输出到IDLE或者标准控制台上。其基本语法格式如下:
Print(输出内容)
其中,输出内容可以是数字和字符串(字符串需要使用引号括起来),此类内容将直接
输出,也可以是包含运算符的表达式,此类内容将计算结果输出。
‘贰’ python表达式
表达式是什么?所有人都知道。“1+1=2”,这个“1+1”就是最典型的表达式。
用来指定数据做哪种运算的符号是“运算符”,进行运算的数据称为“操作数”。例如:“2+3"中的“+”是运算符,“漏裂2”和“3”是操作数。
运算符根据操作数的个数分为单目运算符和双目运算符:
单目运算符,只有一个操作数,例如“-100”中 的“-”,单目运算符位于操作数的前面;
双目运算符,具有二哥操作数的运算符,例如“100-30”中的“-”,双目运算符位于二个操作数之间。
1、input命令
print命令用于输出数据,而input命令与print命令尺迹相反,它是让用户由“标准输入”设备输入数据,如果没有特别设置,标准输入设备是指键盘。input命令是非常常用的命令,比如,教师若要用电脑计算成绩,则首先要从键盘输入学生成绩。语法如下:
变量 = input([提示字符串])
用户输入的数据存储在指定的变量中。
“提示字符串”表示输出一段提示信息,用来告诉用户如何输入。输入数据时,当用户按下Enter键后被认为是输入结束,input命令会把用户输入的数据存入变量中。
例如,让用陵搜并户输入数学成绩并输出程序:
2、运算符
python支持以下几种运算符(常用):
算术运算符:用于执行普通数学运算的运算符
例如:假设变量a = 10,变量b = 20
关系运算符:用于二个表达式之间的比较,若比较结果为真,返回True;否则为False
例如:假设变量a=10,变量b=20
赋值运算符:先给变量赋值,在运算的运算符
例如:假设变量a=10,变量b=20
逻辑运算符:用于逻辑运算的运算符
例如:假设变量a=10,变量b=20
按位运算符:把数字看成二进制来计算的
例如:假设变量a = 60(换成二进制为111100), 变量b = 13(换成二进制为1101)
运算符优先级:自上而下,依次升高
‘叁’ python运算符
空串、None、0还有一些表示空性值的会转换凳戚为False,其余全部都是True.
逻辑与都为True时为True,如果有一个False 就是False
a=True and True 得True
b=True and False 得False
c=False and False 得True
逻辑或
a=True or True 得True
b=True or False 得True
c=False or False 得False
与运算规则是找False,如果第一个值是False 那么不瞅和搜第二个值,唤粗历直接输出第一个值,如果第一个值是True,那么直接输出第二个值。
a=1 and 2 得2
a=0 and 2 得0
a=None and 0 得None
a=25 and 254 得254
a=0 and 34 得0
或运算规则是找True,如果第一个值是True 那么不瞧第二个值,直接输出第一个值,如果第一个是值是False,那么直接输出第二个值
a=1 or 2 得 1
a= False or 1 得 1
a= 0 or None 得None
根椐查表判断运算符优先级,and 优先级高于or
r=34 and 89 or 63 得 89
r=0 and 89 or 63 得63
r=None and 89 or 63 得63
r=78 and False or 63 得63
语法:语句1 if 条件表达式 else 语句2
a=25
b=14
c=a if a>b else b
print(c)
25
name='521 {}嫁给我好吗?'.format('王奕菲')
name1='521 %s嫁给我好吗?'%'王奕菲'
a='王奕菲'
name2=f'521 {a}嫁给我好吗?'
b='521'
c='嫁给我好吗?'
name3=b+' '+a+c
print(name)
print(name1)
print(name2)
print(name3)
a=54
b=23
c=87
d = a if a>b else b
e = c if c>d else d
print(e)
‘肆’ Python教程:第19篇 逻辑运算符
我们在高一时学习过命题的逻辑运算:与、或、非,在计算机科学中,其运算规则也是类似的(基本原理相同,但操作数与返回结果有所不同),Python也不例外。
在Python中,与用and、或用or、非用not表示。逻辑运算符一般用于操作返回值为bool类型的表达式,以表达式的值True(真)和False(假)为例。其运算规则总览如下:
需要特别注意的是,在Python中,虽然逻辑运算符的操作数一般是运算结果为逻辑值的表达式,但也可以是运算结果为数值、字符串、元组、列表、集合、字典等类型的表达式。返回值也不一定是逻辑(bool)类型。而有些教程错误地称只能操作bool类型的表达式以及始终返回bool类型。
我们可以用两个not查看某种数据等价的逻辑值,下面是一些常见数据类型的等价规则:
一、数值除了0视为False,其余数值(包括小数、负数、复数)均视为True:
二、字符串除了空字符串视为False外,其余均视为True(包括空格、制表、换行、回车等空白符,也包括字符串'False'):
三、对于元组、列表、集合、字典也是如此,空的视为False,非空的均视为True,即使其中只有一个值为False或0的数据:
有一种情况容易产生误解,就是使用小括号将False包围起来,这其实也是表示bool值,而不是元组,元组是使用小括号包围的数据列表,但是如果只有一个成员,数据后面要加一个逗号,正如上述示例中所示那样,下面的示例显示了小括号包围的False的数据类型:
四、对于一个类也是如此,非空类视为True(注:无法创建什么都不包含的空类):
五、None视为False:
总结一下就是: 数值0、空字符串、空元组、空列表、空集合、空字典以及None,均视为逻辑值False,其余均视为True。
需要注意的是,逻辑运算符的返回值不一定是bool类型。
了解了非bool类型的操作数等价的逻辑值之后,还需要了解逻辑运算符的完全运算规则,才能得知具体会返回什么值。
and为逻辑与(也称逻辑且),其使用语法如下:
表达式A and 表达式B
其中操作数表达式A和表达式B一般均为逻辑值。但也可以是数值、字符串、元组、列表、集合、字典、对象等类型。
其运算通用规则为: 如果 表达式A 的运算结果等价于False,返回其运算结果,不再计算表达式B。否则返回 表达式B 的运算结果。
对于最常用的两个操作数均为逻辑值的情况,只有当两个操作数均为True的情况下为True,其余情况均为False,以下是所有四种可能情况的运行示例:
其中两个操作数也都可以是非逻辑值。
当第1个操作数结果等价于False时,比如False、0、None、空字符串、空元组、空列表、空集合、空字典等,整个逻辑表达式返回第1个操作数,注意,返回的是操作数的原始值,而不是等价值False,下面是运行示例(None表示什么也没有,所以没有输出。set()返回空集合):
当第1个操作数等价于True时(非数值0、非空字符串等都等价于True),则不管第2个表达式的返回值是什么,都将返回第2个值,当然这时第2个表达式不能有语法错误:
or为逻辑或,其使用格式如下:
表达式A or 表达式B
其中操作数表达式A和表达式B与and中的操作数含义相同。
其运算通用规则为: 如果 表达式A 的运算结果等价于True,返回其运算结果,不再计算表达式B。否则返回 表达式B 的运算结果。 其与and的区别在于,or当表达式A为True则返回表达式A,and当其为False时返回表达式A。
以上面and的示例为模板,可以看到,or与and的返回值正好相反。
与and类似,当表达式A相当于True时,表达式B也不会计算:
下面是常见的两个操作数均为逻辑值的情况,or运算符的四种可能情况的运行示例(除非两个值都是False时返回False,其余情况返回True):
not为逻辑非,其使用格式如下:
not 表达式
其运算规则为: 当 表达式 的运算结果为False、0、None、空字符串、空元组、空列表、空集合、空字典时,返回True。其余情况均返回False。
下面是一些不同数据类型的运算示例:
与and和or不同的是,not的返回值始终是bool类型,即只有True和False两种可能的取值。
所以,可以使用not not 表达式来查看一个非逻辑值是等价True还是False,正如上文非逻辑操作数等价的逻辑值中所示的那样。
当然,not最常用的用法还是逆转逻辑值,下面是两种可能情况的运行示例:
逻辑运算符优先级not>and>or。
下面的示例证明and先于or运算:
下面的示例证明not先于or运算:
下面的示例证明not先于and运算:
另外,所有的逻辑运算符都比元组逗号分隔符的优先级要高,以and为例,比如下面是一个元组:
下面的例子中:
先计算了3 and 4,然后再组合成了元组,相当于:
而不是:
not与or的优先级也比其要高,下面是示例:
所以虽然元组有时可以省略小括号,但在与逻辑运算符运算时,元组请始终使用小括号。
这篇文章的整理与编写花费了我近十小时时间,从上午写到晚上。是我目前最具匠心的文章,如果说以前我的文章只适合初学者,偶尔超水平发挥才适合中级学者,那么这篇文章我感觉对高水平人员也有重要的参考意义。
就我目前所知,我所写的教程,在全网找不到第二个比它更优秀的了,当然,每个人心中都有一杆称,不同读者可能也有不同的际遇,我能做的只是做好自己。
所以,如果你觉得此文不错,可以分享给你身边的朋友、同学、同事、同乡,世界很大也很小,很多东西,初见只能依靠缘分。而再见就需要你的主动了,缘分天注定,努力亦可改变命运。
Python教程:第11篇 变量赋值
Python教程:第17篇 比较运算符
Python教程:第18篇 算术运算符
‘伍’ python运算符
1.*,两个数相乘或返回一个被重复多次的字符串
2.**,幂,如a**b,表示返回a的b次方的数
3.//,取相除的整数部分
== 是否相等
!= 是否不相等
> 是否大于
< 是否小于
>= 是否大于等于
<= 是否小于等于
注意:比较返回的真(True),假(False),首字母是大写的
(变量1 if(变量1>变量2) else 变量2)
如果if里为真,返回变量1,否则返回变量2
= 赋值
+= a+=b -->a=a+b,从右往左
-= a-=b --> a=a-b,
*= a*=b --> a=a*b
/= a/=b --> a=a/b
%= a%=b --> a=a%b #取余
**= a**=b --> a=a**b#幂数
//=a//=b --> a=a//b #取整
& 位与 都为1,结果1
| 位或 有1为1
^ 异或 不同为1
~ 非 1为0,0为1,(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移 高丢低补0 左边为高位,右边为低位
>> 右移 低丢高补0
#案例:计算20往左移2位,得做皮岁到结果a,20往右移动2位,得到结果b,然后打印出a,b结果
#然后a&b,得到结果c,打印c的结握携果.要写出计算过程
#0001 0100
#0101 0000
a=20<<2
#0001 0100
#0000 0101
b=20>>2
print(a)
print(b)
#0101 0000
#0000 0101
#0000 0000
c=a&b
print(c)
and 逻辑与 有假为假
or 逻辑或 有真为真
not 逻辑非 真变假,假变真
例如:
a=True
b=False
print(a and b)返回false
print(a or b)返回true
print(not a)返回false
in 如果在指定的序列中找到了值,那么返回True
not in 如果在指定的序列中没有找到了值,那么返回True
#案例:判断'dfsafaqianfengdfasfafd,该字符串中有没有huawei
mystr='dfsafahuaweidfasfaf'
print('huawei' in mystr)
is 判断两个标识符是否引用同一个对象
is not 判断两个标识符是否引用不同的对象
#案例:a1=10,b1=2.经过运算,b1+=8,判断a1和b1是否引用自一个对象
a1=10
b1=2
b1+=8
print(a1,b1)结果为:10 10
print(a1is b1)打印True
运算符优先级
运算符的优先级在长表达式的计算纯睁中有指导运算步骤作用
‘陆’ Python运算符优先级规则有哪些
以下运算符优先级顺序依次递增:
Lambda#运算优先级最低
逻辑运算符:or
逻辑运算符:and
逻辑运算符:not
成员测试:in,notin
同一性测试:is,isnot
比较:<,<=,>,>=,!=,==
按位或:|
按位异或:^
按位与:&
移位:<<,>>
加法与减法:+,-
乘法、除法与取余:*,/,%
正负号:+x,-x
‘柒’ python表达式3**2//2的结果是多少
尊敬的您,表达式3**2//2的结果是4。
该表达式包含了三个运算符:乘方运算符(**)、整除运算符(//)和乘法运算符(*)。在Python中,乘方运算符的优先级最高,其次是整除运算符和乘法运算符,因穗悉此表达正族春式的计算顺序是先计算3的平方举耐,再将结果整除2。
3的平方等于9,9整除2的结果是4。因此,表达式3**2//2的结果是4。
需要注意的是,整除运算符//返回的是整数结果,即使除数和被除数都是浮点数,也会返回整数结果。如果希望得到浮点数结果,可以使用除法运算符/。
总之,表达式3**2//2的结果是4,这是因为先计算3的平方,再将结果整除2得到的。
‘捌’ python中常见的运算符有哪些分类
Python中的运算符主要分为六大类,其中包含算术运算符、赋值运算符、比较/关系运算符、逻辑运算符、位运算符以及三目运算符。
1、Python算术运算符
是对数值类型的变量进行运算的,比如说:加、减、乘、除、取模和乘方运算等;
2、Python赋值运算符
是对已存在的变量进行重新设置新值的运算符;
3、Python关系运算符(也被称为比较运算符)
关系运算符结果一般包含bool、True、False等,而关系表达式经常用在if结构的条件中或循环结构的条件中;
4、Python逻辑运算符
是用于连接多个条件,一般来讲就是关系表达式;
5、Python位运算符
主要是用于数值类型的二进制的运算;
6、Python三目运算符
在Python中,没有其他语言的三目运算符,可以借助if语言实现类似的三目运算符。
‘玖’ python运算符优先级
python运皮蠢算符优先级如下:
1、幂运算符:幂运算,a**b得到的结果是a的b次方。
2、算数运算符:
/:除法运算符得出的时除法运算的结果,不含正会对结果取整。例如50/8得到的结果是6.25。燃老陪
//:取整运算符,得到的时运算结果的整数部分。
%:取余运算符,得到的是运算结果的小数部分。
*:乘法运算符,a*b得到的是a乘以b的结果。
+、-:加减法运算符,得出的就是两个数相加或相减的结果。
‘拾’ Python中的逻辑运算符:not,and,or的优先级
1、and为且,and两边的变量都是true的时候结果是true
如:1)5>3 and 4>2 True
2)5>3 and 4<2 False
2、or为或,有一个旦卜哪是true的时候结果即为true
如模码:1)5>3 or 4>2 True
2) 5>3 or 4<2 True
3、not取反.
如:1)弊饥not 5>3 False
2)not 5<3 True
4、当not和and及or在一起运算时,优先级为是 not > and > or.
如果有括号,括号的优先级最高,先运算括号中的结果。