1. 程式人生 > >python3第五天(條件,循環,函數)

python3第五天(條件,循環,函數)

python3條件 函數 循環

if語句:

if 條件1:

..

elif 條件2:

..

else:

..

每個條件後面用冒號來表示當滿足條件之後要執行的語句.

while循環:

while 條件:

...


while 條件:

...

else:

...


for循環:

for var in seq:

...

else:

...

叠代器有兩個基本的方法:iter() 和 next()

字符串,列表,元組,都可以用於創建叠代對象

創建叠代對象:iter(列表/字符串/元組)

可以對叠代對象進行for循環,也可以用next來訪問叠代對象中的下一個元素.

函數

函數的定義:

由def定義,後面跟函數名稱,圓括號(),參數定義在圓括號裏,以冒號開心函數體.如下

def 函數名稱(參數列表):

函數內容

[return var] #當沒有return語句時,函數則返回None

函數必須在調用之前先定義

可變類型與不可變類型

string,tuples,numbers是不可修改的對象,list,dict,set是可修改的對象,針對不可修改對象的變量,在函數參數傳遞時,修改的是對象的值,而不是對象本身。

參數:

必需參數,關鍵字參數,默認參數,不定長參數

必需參數:參數必須正確的傳入順序,且數量要一樣。

關鍵字參數:通過參數名來匹配參數值,如:func(age=12,name=‘2222‘)

默認參數:def func(name,age=12),調用時,可值age參數,也可不傳。

不定長參數:def func([arg,] *var_args_tuple),加了星號(*)的變量名,會存放所有未命名的變量參數。

匿名函數:

用lambda來定義匿名函數

lambda擁有自己的命名空間,且不能訪問表達式之外的參數和全局命名空間裏的變量

語法:

lambda arg[,arg[,arg....]]:express

如 lambda arg1,arg2:arg1*arg2. 返回兩個參數的乘積

變量作用域:

作用域有四種:

L(local)局部

E(enclosing)閉包函數外的函數中

G(global)全局

B(built-in)內建

變量查找規則L->E->G->B,範圍是從小到大的查找

只有module,class,def lambda才會引入新的作用域。

global與nonlocal:

當內部作用域要修改外部作用域變量時,要用到global,用global var;來重新聲明變量

修改嵌套作用域的變量時(enclosing作用的範圍),要用nonlocal var;來重新聲明變量




python3第五天(條件,循環,函數)