日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python进阶09 动态类型

發布時間:2025/4/16 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python进阶09 动态类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

謝謝TeaEra,?貓咪cat

?

動態類型(dynamic typing)是Python另一個重要的核心概念。我們之前說過,Python的變量(variable)不需要聲明,而在賦值時,變量可以重新賦值為任意值。這些都與動態類型的概念相關。

?

動態類型

在我們接觸的對象中,有一類特殊的對象,是用于存儲數據的。常見的該類對象包括各種數字,字符串,表,詞典。在C語言中,我們稱這樣一些數據結構為變量。而在Python中,這些是對象。

對象是儲存在內存中的實體。但我們并不能直接接觸到該對象。我們在程序中寫的對象名,只是指向這一對象的引用(reference)

?

引用和對象分離,是動態類型的核心。引用可以隨時指向一個新的對象:

a = 3 a = 'at'

第一個語句中,3是儲存在內存中的一個整數對象。通過賦值,引用a指向對象3

第二個語句中,內存中建立對象‘at’,是一個字符串(string)。引用a指向了'at'。此時,對象3不再有引用指向它。Python會自動將沒有引用指向的對象銷毀(destruct),釋放相應內存。

(對于小的整數和短字符串,Python會緩存這些對象,而不是頻繁的建立和銷毀。)

?

a = 5 b = a a = a + 2

再看這個例子。通過前兩個句子,我們讓a,b指向同一個整數對象5(b = a的含義是讓引用b指向引用a所指的那一個對象)。但第三個句子實際上對引用a重新賦值,讓a指向一個新的對象7。此時a,b分別指向不同的對象。我們看到,即使是多個引用指向同一個對象,如果一個引用值發生變化,那么實際上是讓這個引用指向一個新的引用,并不影響其他的引用的指向。從效果上看,就是各個引用各自獨立,互不影響。

?

其它數據對象也是如此:

L1 = [1,2,3] L2 = L1 L1 = 1

?

但注意以下情況

L1 = [1,2,3] L2 = L1 L1[0] = 10 print L2

在該情況下,我們不再對L1這一引用賦值,而是對L1所指向的表的元素賦值。結果是,L2也同時發生變化。

原因何在呢?因為L1,L2的指向沒有發生變化,依然指向那個表。表實際上是包含了多個引用的對象(每個引用是一個元素,比如L1[0],L1[1]..., 每個引用指向一個對象,比如1,2,3), 。而L1[0] = 10這一賦值操作,并不是改變L1的指向,而是對L1[0], 也就是表對象的一部份(一個元素),進行操作,所以所有指向該對象的引用都受到影響。

(與之形成對比的是,我們之前的賦值操作都沒有對對象自身發生作用,只是改變引用指向。)

?

列表可以通過引用其元素,改變對象自身(in-place change)。這種對象類型,稱為可變數據對象(mutable object),詞典也是這樣的數據類型。

而像之前的數字和字符串,不能改變對象本身,只能改變引用的指向,稱為不可變數據對象(immutable object)

我們之前學的元組(tuple),盡管可以調用引用元素,但不可以賦值,因此不能改變對象自身,所以也算是immutable object.

?

從動態類型看函數的參數傳遞

函數的參數傳遞,本質上傳遞的是引用。比如說:

def f(x):x = 100print xa = 1 f(a) print a

參數x是一個新的引用,指向a所指的對象。如果參數是不可變(immutable)的對象,a和x引用之間相互獨立。對參數x的操作不會影響引用a。這樣的傳遞類似于C語言中的值傳遞。

?

如果傳遞的是可變(mutable)的對象,那么改變函數參數,有可能改變原對象。所有指向原對象的引用都會受影響,編程的時候要對此問題留心。比如說:

def f(x):x[0] = 100print xa = [1,2,3] f(a) print a

?

動態類型是Python的核心機制之一。可以在應用中慢慢熟悉。

?

總結

引用和對象的分離,對象是內存中儲存數據的實體,引用指向對象。

可變對象,不可變對象

函數值傳遞


總結

以上是生活随笔為你收集整理的Python进阶09 动态类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 秋葵视频在线 | 国产乱女淫av麻豆国产 | 青青草青娱乐 | 欧美大肥婆大肥bbbbb | 亚洲а∨天堂久久精品2021 | 国产尻逼| 成人午夜影院在线观看 | 欧美狠狠爱 | 七七久久| 秋霞影院午夜丰满少妇在线视频 | 国产欧美一区二区三区白浆喷水 | 国产在线观看免费播放 | 懂色av中文一区二区三区天美 | 日本黄视频网站 | 成人一二三四区 | 欧美人体一区二区 | 黄色成人在线 | 欧美一区二区三区视频 | 亚洲精品粉嫩小泬 | 国产伦精品一区二区三区四区视频 | 第一av | 亚洲色图清纯唯美 | av色噜噜 | 日韩视频一区二区三区在线播放免费观看 | 亚洲观看黄色网 | 国产无遮挡aaa片爽爽 | 免费日本黄色片 | 国产成人精品免高潮在线观看 | 国产av不卡一区二区 | 成人爱爱免费视频 | 在线视频这里只有精品 | 亚洲av无码不卡 | 日韩电影观看 | 朝桐光av一区二区三区 | 国产欧美日韩91 | 国产精品jizz在线观看无码 | 日本高清免费视频 | 一区二区三区在线 | 久久久久亚洲国产 | 日韩一级免费 | 91av久久 | 亚洲女同女同女同女同女同69 | 黄色激情网址 | 久久精品99 | 国产又爽又黄的视频 | 日韩成人在线视频观看 | 四虎影视免费观看 | 波多野结衣不卡 | 午夜影院污 | 国产精品扒开腿做爽爽爽男男 | 成人免费无码av | 久久久久久久久久久国产 | 黄色美女视频网站 | 超碰97人人干 | 欧美成人一区二区视频 | 射久久久 | 欧洲成人综合 | 亚洲精品成人片在线观看精品字幕 | 人人草网 | 色久视频| 九九精品网 | 黄色成人在线网站 | 国产精品久久久久久久妇 | 激情国产视频 | 欧美mv日韩mv国产 | 国产伦精品一区二区三区高清版禁 | 无码无遮挡又大又爽又黄的视频 | 成人黄色在线观看视频 | 欧美大片xxx | 韩国午夜影院 | 天天艹 | 日韩精品极品视频在线观看免费 | 无限国产资源 | 色图视频 | 91高清在线视频 | 国产一区二区视频在线播放 | 色综合色综合色综合 | 激情婷婷丁香 | 亚洲成人播放 | 国产日产久久高清欧美一区 | 亚洲精品一区久久久久久 | 男生操女生免费网站 | 中国女人内精69xxxxxx | 欧美比基尼 | 免费看成人啪啪 | 亚洲综合图区 | 天天综合网久久 | 91精品综合久久久久久 | xxxxxx国产 | 国产高清视频一区二区 | 各种含道具高h调教1v1男男 | 男人与雌宠物交h | 香蕉网久久 | 久久爱影视i | 神马久久久久久久久久 | 国模视频一区二区 | 日本精品一区二区三区在线观看 | 禁果av一区二区三区 | 国产91清纯白嫩初高中在线观看 |