python3 語句及運算子
關鍵字
一 if語句
if conditoin_1 :
statement_block_1
elif
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 | 邏輯與 邏輯或 邏輯非 |