这篇 python 文章,是过去你错过的 python 细节知识点,滚雪球第 4 季第 15 篇
本文继续查漏补缺,python 语言涉及运算符以及其优先级
python 运算表达式清单
以下运算表达式按照从上到下,优先级依次降低。
{}
,[]
,()
:其中大括号{}
用在字典与集合相关知识中,中括号[]
用在列表以及列表生成器,小括号()
用在元组以及生成器表达式中;类.属性
:点号.
运算符;函数(参数)
,方法(参数)
,类(参数)
:三者优先级基本一致;列表[i:j:k]
:切片运算;列表[i]
:索引运算;num**x
:幂运算符;~num
:位反运算符;-num
,+num
:一元运算符;num1/num2
,num1//num2
:除与整除运算符;num1*num2
,num1%num2
:乘法/重复运算符,求余数/格式化运算符;num1+num2
,num1-num2
:加法/连接运算符,减法/差集运算符;num<<1
,num>>2
:左移,右移运算符;num1&num2
:按位与运算符,交集运算符;num1^num2
:按位异或运算符,对称差集运算符;num1|num2
:按位或运算符,集合并集运算符;num1==num2
,num1!=num2
:相等与不相等;<
,>
,<=
,>=
:比较运算符;obj is object
,obj is not object
:同一性运算符;a in my_list
,a not in my_list
:成员测试运算符;not
,or
,and
:逻辑非,逻辑或,逻辑与;num1 if num2 else num3
:条件表达式;lambda
:匿名函数表达式;yield
:生成器表达式。
python 内置数据类型
在 python 中,已经内置好一些常用的数据类型,这些在滚雪球第一季已经系统学习,此处在进行一些遗漏知识点的补充,重点在数值类型与字符串类型。数值类型数值就是数字,这里仅补充一点作为学习,为了让数字在 python 代码中阅读方便,整数和浮点数都可以添加多个 0 或者下划线,例如下述代码。
一般每隔 3 位添加一个下划线。
整型和浮点型对象有一些专属的类型方法和属性
as_integer_ratio:返回一个整型比率
is_integer:如果浮点为整数,则返回 True
整型也存在一些属性或者方法
整型或者浮点型存在属性与方法,也间接证明了它们就是对象。
小数和分数在 python 中有专属模块
可以给 Decimal
对象整型或者字符串类型的参数,但不能是浮点数据,因为浮点数据在计算机中不准确。如果希望转换浮点数,使用下述代码:
使用 getcontext()
函数也可以固定精度
可以对浮点数四舍五入:
分数模块 fractions,演示代码如下:
字符串类型
邻接的字符串常量,自动连接
如果邻接的字符串在一个括号中,可以用于实现 python 限制每行代码不超过 79 个字符的约定。
在 python 中存在字节(bytes
)和字节组(bytearray
),你可以使用计算集合差集的代码,查看字节与字节组之间方法和属性的差异。
使用同样的办法,也可以计算其它类型之间的差异。
python 中的语法细节
python 序列赋值
序列赋值要求左侧的变量数量与右侧序列长度一致。
扩展序列赋值
使用 *
可以收集序列中未被匹配的元素。
python 中的语法
控制流
:默认 python 代码自上至下运行,当出现分支代码时改变运行顺序;块
:相同的代码块具有相同的缩进;语句
:python 中的一行代码就是一条语句,有的一条语句存在折行;
语句和表达式是 python 编码中,经常提及的两个概念,比较难区分。一般任何一个表达式都能以语句形式出现,但是语句不能出现在任何表达式中,由此可以知道语句的范围要大。
一般会把语句看成是由表达式组成一行代码,而表达式只由运算符和操作对象组成。
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/782cc0cbb566245a29d8ea7e6】。文章转载请联系作者。
评论