表达式操作符
- 算术运算
- 逻辑运算:
x or y
,x and y
,not x
- 成员关系运算:
x in y
,x not in y
- 对象实例测试:
x is y
,x is not y
- 比较运算:
x < y
,x > y
,x >= y
,x <= y
- 等于比较 :
x == y
,x != y
- 位运算:
x | y
、x & y
,x ^ y
,x << y
,x >> y
- 一元运算:
-x
、+x
、~x
- 幂运算:
x ** y
- 索引和分片:
x[i]
、x[i:j]
、x[i:j:stride]
- 调用运算:
x(...)
- 取属性:
x.attribute
- 特殊运算:元组
(...)
、列表[...]
、字典{...}
- 三元选择表达式:
x if y else z
- 匿名函数相关表达式:
lambda args:expression
- 生成器函数发送协议:
yield x
运算优先级
(...)
-
s[i]
、s[i:j]
s.attribute
fn()
+x
x ** y
-
*
,/
,//
,%
-
+
,-
-
<<
,>>
&
^
|
-
<
,<=
,>
,>=
,==
,!=
- is, not is
- in , not in
- not
- and
- or
- lambda
语句
- 赋值语句
=
- 函数调用
fn()
- 打印对象
print
- 条件判断
if/elif/else
- 序列迭代
for/else
- 普通循环
while/else
- 占位符
pass
- 循环控制:
break
、continue
- 函数定义
def
- 函数返回
return
yield
- 命名空间
global
- 触发异常
raise
- 导入模块
import
- 模块属性访问
from
- 类
class
- 异常捕获
try/except/finanlly
- 删除引用
del
- 调试检查
assert
- 环境管理
with/as
赋值语句
print test
NameError: name 'test' is not defined
隐式赋值:import
,from
,def
,class
,for
,函数参数
元组和列表支持分解赋值:当赋值符号左侧为元组或列表时,python会按位置逐一对应,把右边的对象和左边的目标自左向右逐一进行匹配,当个数不同时会触发异常,此时可以切以切片的方式进行操作。
tuple = ("sun", "sat", "mon")
x,y,z = tuple
print(x, y, z)
多重目标赋值
import sys
n1 = n2 = n3 = 100
print(n1, n2, n3)
n1 = 101
print(n1, n2, n3)
sys.getrefcount(n1)
增强赋值 +=
、-=
、*=
、/=
、//=
、%=
流程控制 if测试
条件测试:if
条件测试表达式
python中比较操作
- 所有python对象都支持比较操作
- 可用于测试相等性、相对大小等
- 复合对象中python会检查所有部分,包括自动便利各级嵌套对象,直到可以得出最终结果。
- 测试操作符
-
==
操作符测试值的相等性 -
is
表达式测试对象的一致性
-
python中不同类型的比较方法
- 数字:通过相对大小进行比较
- 字符串:按照字典次序逐个字符进行比较
- 列表和元组:自左向右比较各部分内容
- 字典:对排序后的键、值列表进行比较
a = 1
b = 2
c = 3
print(a==b)
str = "string"
print(a == str)
lst = ["x","y","z"]
print(a == lst)
lst2 = ["x", "y"]
print(lst == lst2)
lst3 = ["x", "y", "z"]
print(id(lst), id(lst3), lst==lst3)
print("x" in lst3)
python中真和假的含义7
- 非零数字为真否则为假
- 非空对象为真否则为假
- None始终为假
- 数字0、空对象、特殊对象
Null
均为假 - 比较和相等测试会递归地应用于数据结构中
组合条件测试
- 逻辑与
x and y
- 逻辑或
x or y
- 逻辑异或
x ^ y
if 测试的语法结构
-
elif
语句是可选的 - 仅用于占位符,而后再填充相关语句时,可使用pass。
if boolean_expression1:
suite1
elif boolean_expresssion2:
suite2
...
else
else_suite
例如
x = 100
y = 200
if x>y :
print "the max number is %d" % x
else:
print "the max num is %d" % y
三元表达式
A = X if Y else Z
# 等价于
if Y
A = X
else
A = Z
# 等价于
expression1 if boolean_express else expression2
最大值最小值
a = 7
b = 9
max = a if a>b else b
网友评论