在 python 中,類型屬于對象,變量是沒有類型的:
成都創新互聯公司專業為企業提供阜新網站建設、阜新做網站、阜新網站設計、阜新網站制作等企業網站建設、網頁設計與制作、阜新企業網站模板建站服務,10余年阜新做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。以上代碼中,[1,2,3] 是 List 類型,Runoob 是 String 類型,而變量 a 是沒有類型,她僅僅是一個對象的引用(一個指針),可以是指向 List 類型對象,也可以是指向 String 類型對象。
可更改(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也會受影響
python 中一切都是對象,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變對象和傳可變對象。
python 傳不可變對象實例
實例中有 int 對象 2,指向它的變量是 b,在傳遞給 ChangeInt 函數時,按傳值的方式復制了變量 b,a 和 b 都指向了同一個 Int 對象,在 a=10 時,則新生成一個 int 值對象 10,并讓 a 指向它。
傳可變對象實例
可變對象在函數里修改了參數,那么在調用這個函數的函數里,原始的參數也被改變了。例如:
傳入函數的和在末尾添加新內容的對象用的是同一個引用。故輸出結果如下:
分享文章:云計算開發學習筆記:Python3參數傳遞
網站地址:http://vcdvsql.cn/article22/chocjc.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、外貿網站建設、企業建站、建站公司、手機網站建設、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯