第四章:运算符与表达式——参考手册笔记

表达式:用于返回值

表达式由运算符与运算对象构成

其中运算对象可以是字面量,对象,或表达式(递归的定义)

运算规则决定了语法分析的规则、语法树的结构

具体的常用操作如下

python强类型

无声明

无编译器

运行时如何:

动态检查类型?

维护类型?

4.1数值操作:数值类型

移位与按位逻辑运算符只用于整数

比较逻辑可连接在一起

要求操作数属于同一类,对内部类型进行强制类型转换:提升至复数,提升至浮点数

用户对应的类型,不尝试隐式类型转换

4.2序列操作:序列类型

制作副本:浅复制

变量解包:个数严格匹配

成员关系:不支持模式匹配

迭代

序列逻辑运算

切片

字符串与元组创建后不可修改

4.3字符串格式化

"%索引/(变量名)插值功能"   % 元组与字典,元组加括号,避免歧义

4.4高级字符串格式化

字符串方法

s.format(*args,**kargs)

s中占位符{num}与{name},用位置参数*args与关键字参数**kargs解包后插入

占位符中可进行索引属性查找,只支持使用名字(字符串字面量),不支持表达式,方法调用

可通过特殊方法__format__自定义格式化行为

4.5字典

增?

删,改,查(key存在)

字典长度

4.6集合操作

集合的数学定义操作

4.7增量赋值

+= -=

不违反可变性,不会原地修改

4.8属性访问

.

访问对象属性

自定义行为

4.9函数调用()

调用时,每个参数对应于一个表达式,从左至右表达式求值(应用序求值)

partical()函数科里化,指定部分参数的值,接受的参数变少

4.10 转换函数,类型转换

类型名作为函数名,显式类型转换

复合类型:浅复制

 repr:表达式字符串

eval:字符串求值

4.11布尔表达式

短路计算,改变了表达式的语义

4.12对象等同性与标识

==值相等

is 引用同一对象

 name——  addr——value

4.13运算优先级

括号

索引

属性

一元

二元

比较

逻辑

匿名函数

4.14条件表达式

value1 if conditon else value2

 返回值:有条件的赋值

原文地址:https://www.cnblogs.com/qmcj/p/9100037.html