关键字
一 if语句
if conditoin_1 :
statement_block_1
elif condition_2 :
statement_block_2
else :
statement_block_3
conditoin可以使用 if(表达式) 或 空格分隔(如 if b>0 )
二 无switch语句
三 循环
1. 关键字while
while 判断条件:
语句
[else :
语句]
2、关键字for
for <variable> in <sequence> :
<statements>
[else :
语句]
3.range()函数 指定区间
语法:range(start, stop[, step])
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
-
>>> type(range(10)) #range返回类型为range对象 但是可以利用 list 函数返回列表 <class 'range'>
setp > 0 | setp < 0 | setp = 0 | |
start > stop | |||
start < stop | |||
start = stop |
结论
- 1. range()函数中 step 不能等于0 , 为0报错
- 2.range()函数中 若step > 0 时 当且仅当 start > stop有意义,否则为空
- 3.range()函数中 若step < 0 时 当且仅当 start < stop有意义,否则为空
- 4.range()函数中 start = stop 为空
四 函数
0.返回值 return
- 相当于退出函数并 向调用放返回一个表达式
- 不带return语句 返回None
1.关键字def
def 函数名(参数列表) :
函数体
- 所有参数都是按 引用传递
- 允许默认参数
- 不定长参数 语法格式: *参数 参数前加星号(*) 在函数调用是未指定其参数则为空元组
def fun( a1, *a) :
print(a)
print( typr(a) )
a=fun(1)
fun(1,2,3)
print(a)
#结果
()
<class 'tuple'>
(2, 3)
<class 'tuple'>
None
2.匿名函数 lambda (lambda 参数:返回值)
- 定义: lambda [arg1 [,arg2,...argn]] : expression
- 使用 :
-
匿名函数跟普通函数一样也是函数对象,并且同以匿名函数的实例地址不同a = lambda x:x**2 print(a) print( a(10)) #结果 <function <lambda> at 0x7f5d4e4c62f0> 100 def op(c): if c =='+': return lambda x,y: x+y a=op('+') b=op('+') print(a) print(b) print(a(1,2)) print(b(2,3)) #结果 <function op.<locals>.<lambda> at 0x7feabd07e598> <function op.<locals>.<lambda> at 0x7feabd07e620> 3 5
- 匿名函数的定义过程 相当于 一个表达式
五 运算符
优先级由高到低 颜色部分为 插入(不包含在运算符种类里) 同一行的运算符优先级相同 |
特殊说明 | |
算术运算符 | ** (+ - ~ 一元加减号 取反) / * % // + - |
2**3=8 ** 幂运算 / 相除得要浮点数 //返回商的整数部分 |
位运算符 (按位运算) | ~ << >> & | ^ |
取反 左移(高位丢弃,低位补0) 右移 与 或 异或 |
比较(关系)运算符 | >= > < <= == != <> |
!= 和 <> 都表示 不等于 优先级 >= <= > < 更高一些 |
赋值运算符 | += *= **= -= /= //= %= |
|
身份运算符 | is not is | i身份运算符用于比较两个对象的存储单元 返回值规律同下 |
成员运算符 | in not in | in 在 返回True not in 不在返回 True |
逻辑运算符(布尔运算) | and or not | 逻辑与 逻辑或 逻辑非 |