python公升級的好處 python總結(更新中)

2021-10-13 01:19:03 字數 1272 閱讀 9892

1 python函式中的引數傳遞(注意可變和不可變傳遞)

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

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

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

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

python 函式的引數傳遞:

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

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

2 變數作用域:

變數作用域

python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4中,分別是:

l (local) 區域性作用域

e (enclosing) 閉包函式外的函式中

g (global) 全域性作用域

b (built-in) 內建作用域

以 l –> e –> g –>b 的規則查詢,即:在區域性找不到,便會去區域性外的區域性找(例如閉包),再找不到就會去全域性找,再者去內建中找。

x =int(2.9)# 內建作用域g_count =0# 全域性作用域defouter():o_count =1# 閉包函式外的函式中definner():i_count =2# 區域性作用域

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

>>>iftrue:...msg ='i am from runoob'...>>>msg

'i am from runoob'>>>

例項中 msg 變數定義在 if 語句塊中,但外部還是可以訪問的。

如果將 msg 定義在函式中,則它就是區域性變數,外部不能訪問:

Linux下Python2公升級到Python3

在工作中使用aws服務,而總是會需要用到aws cli,本來aws ec2上會自帶cli,但是也有例外,而這個例外就讓我碰到了。慚愧啊!要安裝aws cli 需要依賴於python2.7以上的版本,並且使用pip進行安裝。而本機的python版本確實2.6的,因此進行公升級,看 很多情況下系統自帶的...

學習python的好處和python案例工程

2017,最受歡迎的 15 大 python 庫有哪些?git clone sudo python setup.py install sudo pip install keras 32個python爬蟲專案讓你一次吃到撐 3.scrapy工程示例 安裝執行例子 git clone cd scrapy...

python之命名元組的好處

collections.namedtuple 命名元組的乙個主要用途是將你的 從下標操作中解脫出來 舉例使用 使用from collections import namedtuple subscriber namedtuple subscriber addr joined 需要傳遞乙個型別名和你需要...