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

歡迎訪問 生活随笔!

生活随笔

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

python

python底层原理讲解_python底层原理

發布時間:2023/12/31 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python底层原理讲解_python底层原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有同學問到了一個問題,python中存儲變量是通過內存地址來存儲,那么python又是如何去判斷內存中的地址是什么數據類型的呢。經過查找,找到這篇文章:

原博客地址:http://www.cnblogs.com/aashui/p/9871009.html

1.Python是如何進行內存管理的?

答:從三個方面來說,一對象的引用計數機制,二垃圾回收機制,三內存池機制

一、對象的引用計數機制

Python內部使用引用計數,來保持追蹤內存中的對象,所有對象都有引用計數。

引用計數增加的情況:

1,一個對象分配一個新名稱

2,將其放入一個容器中(如列表、元組或字典)

引用計數減少的情況:

1,使用del語句對對象別名顯示的銷毀

2,引用超出作用域或被重新賦值

sys.getrefcount( )函數可以獲得對象的當前引用計數

多數情況下,引用計數比你猜測得要大得多。對于不可變數據(如數字和字符串),解釋器會在程序的不同部分共享內存,以便節約內存。

二、垃圾回收

1,當一個對象的引用計數歸零時,它將被垃圾收集機制處理掉。

2,當兩個對象a和b相互引用時,del語句可以減少a和b的引用計數,并銷毀用于引用底層對象的名稱。然而由于每個對象都包含一個對其他對象的應用,因此引用計數不會歸零,對象也不會銷毀。(從而導致內存泄露)。為解決這一問題,解釋器會定期執行一個循環檢測器,搜索不可訪問對象的循環并刪除它們。

三、內存池機制

Python提供了對內存的垃圾收集機制,但是它將不用的內存放到內存池而不是返回給操作系統。

1,Pymalloc機制。為了加速Python的執行效率,Python引入了一個內存池機制,用于管理對小塊內存的申請和釋放。

2,Python中所有小于256個字節的對象都使用pymalloc實現的分配器,而大的對象則使用系統的malloc。

3,對于Python對象,如整數,浮點數和List,都有其獨立的私有內存池,對象間不共享他們的內存池。也就是說如果你分配又釋放了大量的整數,用于緩存這些整數的內存就不能再分配給浮點數。

由上述可以看出,當我們創建一個整數變量如,Num_int = 1?? 此時必定會有一個內存地址A(假設)指向1這個數據。此時Num_Int 指向的地址也是地址A。當我們創建這個整數對象時,實際上1這個數據已經存向了我們內存中指定存放整數的地方,如下圖:

也就是說,在我們創建整數變量或者其他變量時,python已經幫你找到了固定的位置,然后你將數據存進去就可以了。不管你怎么存,只是地址變了,并且你的地址如果是相同的數據類型,那么應該是有相似點的,比如? A (內存地址) = 10001? 那么可能你再創建一個變量 時 B(內存地址) = 10002 。本人理解是這樣,若有不對請指出,謝謝!

Python 底層原理知識

1.Python是如何進行內存管理的? 答:從三個方面來說,一對象的引用計數機制,二垃圾回收機制,三內存池機制 一.對象的引用計數機制 Python內部使用引用計數,來保持追蹤內存中的對象,所有對象都 ...

操作系統底層原理與Python中socket解讀

目錄 操作系統底層原理 網絡通信原理 網絡基礎架構 局域網與交換機/網絡常見術語 OSI七層協議 TCP/IP五層模型講解 Python中Socket模塊解讀 TCP協議和UDP協議 操作系統底層原理 ...

Python多線程原理與實現

Date: 2019-06-04 Author: Sun Python多線程原理與實戰 目的: (1)了解python線程執行原理 (2)掌握多線程編程與線程同步 (3)了解線程池的使用 1 線程基本 ...

Docker底層原理介紹

1.docker介紹 1.1什么是docker Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協議開源. Docker 可以讓開發者打包他們的應用以及依賴包到一個輕 ...

Android進程永生技術終極揭秘:進程被殺底層原理、APP應對技巧

1.引言 上個月在知乎上發表的由“袁輝輝”分享的關于TIM進程永生方面的文章(即時通訊網重新整理后的標題是:),短時間內 ...

Python底層socket庫

Python底層socket庫將Unix關于網絡通信的系統調用對象化處理,是底層函數的高級封裝,socket()函數返回一個套接字,它的方法實現了各種套接字系統調用.read與write與Python ...

Neo4j圖數據庫簡介和底層原理

現實中很多數據都是用圖來表達的,比如社交網絡中人與人的關系.地圖數據.或是基因信息等等.RDBMS并不適合表達這類數據,而且由于海量數據的存在,讓其顯得捉襟見肘.NoSQL數據庫的興起,很好地解決了海 ...

【T-SQL進階】02.理解SQL查詢的底層原理

本系列[T-SQL]主要是針對T-SQL的總結. [T-SQL基礎]01.單表查詢-幾道sql查詢題 [T-SQL基礎]02.聯接查詢 [T-SQL基礎]03.子查詢 [T-SQL基礎]04.表表達式 ...

spring框架的IOC的底層原理

1.IOC概念:spring容器創建對象并管理 2.IOC的底層原理的具體實現: 1)所使用的技術: (1).?dom4j解析xml配置文件 (2).工廠設計模式(解耦合) (3).反射 第一步:配置 ...

隨機推薦

實現了IEnumerable接口的GetEnumerator 即可使用 Foreach遍歷,返回一個IEnumerator對象

#region 程序集 mscorlib.dll, v4.0.0.0 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framewor ...

win7自帶windows media player 已停止工作

解決方法如下: 在計算機開始,菜單找到控制面板?,然后打開程序和功能,選擇打開或關閉window功能,媒體功能.再取消windows Media Center Windows MediaPlayer選 ...

R-Studio

R-Studio是一個功能強大.節省成本的反刪除和數據恢復軟件系列.它采用獨特的數據恢復新技術,為恢復FAT12/16/32.NTFS.NTFS5(由 Windows 2000/XP/2003/Vis ...

PuTTY 信息泄露漏洞

漏洞名稱: PuTTY 信息泄露漏洞 CNNVD編號: CNNVD-201308-380 發布時間: 2013-08-27 更新時間: 2013-08-27 危害等級: 低危?? 漏洞類型: 信息泄露 ...

IOS 推送原理

最近兩天在研究ios的消息推送機制.研究這個東西,還是充滿興趣的. Push的原理: Push 的工作機制可以簡單的概括為下圖 圖中,Provider是指某個iPhone軟件的Push服務器,這篇文章 ...

簡單購物車程序(Python)

#簡單購物車程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...

國內開源社區巨作AspectCore-Framework入門

前些天和張隊(善友),lemon(浩洋),斌哥(項斌)等MVP大咖一塊兒吃飯,大家聊到了lemon名下的AOP這個項目,我這小白聽得一臉懵逼,后面回來做了一下功課,查了下資料,在lemon的Githu ...

TensorFlow函數:tf.reduce_sum

tf.reduce_sum 函數 reduce_sum ( input_tensor , axis = None , keep_dims = False , name = None , reducti ...

LeetCode題解:Flatten Binary Tree to Linked List:別人的遞歸!

總是在看完別人的代碼之后,才發現自己的差距! 我的遞歸: 先把左側扁平化,再把右側扁平化. 然后找到左側最后一個節點,把右側移動過去. 然后把左側整體移到右側,左側置為空. 很復雜吧! 如果節點很長的 ...

DPDK實例程序:testpmd

用戶手冊:https://doc.dpdk.org/guides/testpmd_app_ug/index.html 還不錯的入門:http://syswift.com/188.html 我的運行情況 ...

總結

以上是生活随笔為你收集整理的python底层原理讲解_python底层原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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