python的表达式和语句
--------------------------------------------------------------------------------
控制流 if for while
表达式:
语句:有来实现的操作
一、常用表达式操作符:
算术运算:
x * y ,x / y , x // y , x % y
x + y , x - y
逻辑运算:
x in y , x not in y
对象实例测试:
x is y , x not is 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
s(....)
+x,-x,~x
x ** y
* / // %
+,-
<< >>
& --> ^ --> |
< <=, > >=, == !=
is,not is
in , not in
not and or
lambda
三 语句
1)概述
赋值语句
调用
if/elif/else
for /else: 序列迭代
while/else:普通循环
pass:占位符
break:
continue
def
return
yield
global:命名空间
raise:触发异常
import
from:模块属性访问
class:类
try/except/finally:捕捉异常
del:删除引用
assert:调试检查
with/as:环境管理器
2)详解
赋值语句: 变量名必须先赋值
import, from,def,class,for,函数参数 --> 隐赋值
元组和列表 分解赋值: 当赋值符号(=)左侧为元组或者列表时,自动配对,个数同会有异常,可通过切片处理。
Python随笔
--------------------------------------------------------------------------------
1) 一般复制是引用原对象,深度复制deepcopy()实习真正的复制。
2)所有对象都是第一类。
3)所有序列都支持迭代。
4)所有序列的操作和方法;
s[i]
s[i:j]
s[i;j;stride]
len(s)
min(s)
max(s)
sum(s)
all(s)
any(s)
s1 + s2: 连接
s1 * N :重复
obj in s1 :成员关系判断
obj not in s1
5) 可变序列的操作
s1[index] - value : 索引元素赋值
s1[i:j] = t :切片赋值
del s1[index]
del s1[i:j]
del s1[i:j:stride]