2.3.2运算符优先级
2016-01-28 19:36
141 查看
1、什么是Python的优先级
2、Python优先级使用实战
2、Python优先级使用实战
优先级的作用
Python中的程序或运算符的执行是有先后顺序的,比如A跟B同时出现,如果A可以优先于B执行,那么就说明A的优先级比B的优先级高,B的优先级比A的优先级低。其中,A跟B可以是运算符,也可以是程序。就是说,Python中的优先级分为两种,一种是程序之间的优先级,还有一种是运算符之间的优先级。
#-*-coding:utf-8-*- __author__ = 'allen' 优先级使用实战 优先级排行榜第1名——函数调用、寻址、下标 优先级排行榜第2名——幂运算 ** a=4*2**3 print a 优先级排行榜第3名——翻转运算 ~#其实翻转和+、-平级,但是翻转必须写在数据前,只好想运算翻转 print ~18**2 #等于-325,幂运算优先~(18**2) 优先级排行榜第4名——正负号 print 2+4*-2 print 4*-2**2 #幂运算优先>负号>乘法 优先级排行榜第5名——'*'、'/'、'%'(取商的余数)、'//'(取商的整数)print 2+4*2/4 优先级排行榜第6名——'+'、'-' print 3<<2+1 优先级排行榜第7名——'<<'、'>>' print 18<<1 #18*2**n,n=1 优先级排行榜第8名——按位与‘&’ > 按位异‘^’ > 按位或‘|’ 例子:3|9^7&18 print(3|9^7&18) #11 (3|(9^(7&18))) 优先运算7&18=2 > 9^2=11 > 3|11=11 print(((3|9)^7)&18) #0 3|9=11 > 11^7=12 > 12&18=0 优先级排行榜第9名——比较运算符'<=','<','>','>=' a=2*3+5<=5+1*2 print a 优先级排行榜第10名——逻辑的'not'、'and'、'or'
此处还应有赋值标识符(= %= /= //= -= += *= **=); 标志标识符(is is not); 成员标识符(in not in); 详细查看《Python基本运算符》文档http://www.yiibai.com/python/python_basic_operators.html优先级排行榜第11名——lambda表达式 Lambda表达式的例子: #!/usr/bin/envpython li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}] li=sorted(li,key=lambda x:x["age"]) print(li) 如果不用Lambda表达式,而要写成常规的函数,那么需要这么写: #!/usr/bin/envpython def comp(x): return x["age"] li=[{"age":20,"name":"def"},{"age":25,"name":"abc"},{"age":10,"name":"ghi"}] li=sorted(li,key=comp) print(li)
相关文章推荐
- dede递增函数autoindex的使用
- ReactNative使用require引用模块的技巧
- so_reuseaddr & so_reuseport
- 2.2.6 行与缩进
- 2.3.1Python运算符
- 静态库framework(一)
- POJ 1364 King(差分约束)
- PHPCMS V9 注射利用
- 软键盘切换以及隐藏
- Android 三种方式实现圆角ImageView
- 2.2.5 对象
- DateTool的简单使用(我是如何将绝对时间转换成相对时间的)
- 算法之美_源代码发布(5)
- codeforces Fox and Box Accumulation
- XML方法二:使用XmlSerializer构建XML文档
- 动态加载切换Atlas资源
- STL_算法_重排和分区(random_shuffle、partition、stable_partition)
- SAP系统更改小数点显示问题
- Pipe
- 从静态库中提取文件