python基礎筆記

2021-09-13 14:35:37 字數 2448 閱讀 2388

可更改(mutable)與不可更改(immutable)物件:

1.1 不可變型別:變數賦值 a=5 後再賦值 a=10,這裡實際是新生成乙個 int 值物件 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。

1.2 可變型別:變數賦值 la=[1,2,3,4] 後再賦值 la[2]=5 則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。

python函式的引數傳遞

2.1 不可變型別:類似 c++ 的值傳遞,如 整數、字串、元組。如fun(a),傳遞的只是a的值,沒有影響a物件本身。比如在 fun(a)內部修改 a 的值,只是修改另乙個複製的物件,不會影響 a 本身。

2.2 可變型別:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響

引數 3.1 關鍵字引數:使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

def

test_args

(name

,age):

print('name:'

,name)

print('age:'

,age)

return

test_args

(age=50

,name

="zhangsan "

)

3.2 不定長引數:加了星號(*)的變數名會存放所有未命名的變數引數。如果在函式呼叫時沒有指定引數,它就是乙個空元組。我們也可以不向函式傳遞未命名的變數。

def

test_args

(arg1

,*args):

"列印任何傳入的引數"

print(arg1)

for arg in args:

print(arg)

return

test_args(10

,20,30

,40)

匿名函式

4.1 python 使用 lambda 來建立匿名函式。

sum =

lambda

arg1

,arg2

: arg1 + arg2;

# 呼叫sum函式 

print ("相加後的值為 : "

, sum(10

,20))

print ("相加後的值為 : "

, sum(20

,20))

變數作用域

5.1 變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱python的作用域一共有4種,分別是: l (local) 區域性作用域 e (enclosing) 閉包函式外的函式中 g (global) 全域性作用域 b (built-in) 內建作用域

5.2 python 中只有模組(module),類(class)以及函式(def、lambda)才會引入新的作用域,其它的**塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變數,外部也可以訪問

global 和 nonlocal關鍵字

當內部作用域想修改外部作用域的變數時,就要用到global和nonlocal關鍵字了

6.1 修改全域性變數用global

num =

1

deffun1()

: global num  # 需要使用 global 關鍵字宣告 

print(num)

num =

123

print(num)

fun1()

6.2 修改巢狀作用域(enclosing 作用域,外層非全域性作用域)中的變數則需要 nonlocal 關鍵字

def

outer()

: num =

10

definner()

: nonlocal num   # nonlocal關鍵字宣告 

num =

100

print(num)

inner()

print(num)

outer()

posted @

2018-04-17 13:36

酸奶加綠茶 閱讀(

...)

編輯收藏

python基礎筆記 python基礎筆記

一 變數 定義變數的規則 1 變數名只能是字母 數字 下劃線的組合 2 變數名不能以數字開頭 3 python中使用的關鍵字不能作為變數 注意 行業預設規則 1 變數命令見名知意 2 駝峰 3 字母全大寫代表是常量 例子 name mr liao name1 name print name,name...

免費python基礎筆記 python基礎學習筆記

1.python中的編碼格式 a.ascii碼 ascii碼共有127個字元,包括數字,大小寫字母,和一些符號,比如常見的字元的ascii碼表示有 a 65,z 132,ascii碼是用乙個位元組表示的,其主要的缺點就是因為在記憶體中只佔乙個位元組,所以無法被用來表示中文,只能表示一些單字元元素。針...

python基礎筆記

python的資料型別 1 基本資料型別 none,boolean,integer,float,long,complex 匯入python精確除法 from future import division 2 序列型別 list,tuple,string,xrange 只在python 2.中有 py...