Python作為一種高級(jí)編程語(yǔ)言,具備強(qiáng)大的變量功能。在使用Python編程時(shí),我們常常需要查看不同變量的尺寸以及其在內(nèi)存中的占用情況。Python提供了一種方便的方法來(lái)查看變量的大小,即使用sys庫(kù)的getsizeof()函數(shù)。
import sys a = 10 print(sys.getsizeof(a)) # 輸出結(jié)果:28
在上面的代碼示例中,我們先導(dǎo)入了sys庫(kù),然后定義了一個(gè)整數(shù)變量a,并使用getsizeof()函數(shù)查看了變量a的大小。在Python中,整數(shù)類型占用28字節(jié)的內(nèi)存空間。需要注意的是,這僅僅是指該變量本身占用的內(nèi)存空間,而不包括該變量所引用的其他對(duì)象占用的空間。
我們可以使用同樣的方法查看其他類型的數(shù)據(jù)在內(nèi)存中的大小:
import sys a = 'Hello World!' b = [1, 2, 3, 4, 5] c = {'name': 'Tom', 'age': 18} print(sys.getsizeof(a)) # 輸出結(jié)果:58 print(sys.getsizeof(b)) # 輸出結(jié)果:104 print(sys.getsizeof(c)) # 輸出結(jié)果:240
在上面的代碼示例中,我們分別定義了一個(gè)字符串變量、一個(gè)列表變量和一個(gè)字典變量,并使用getsizeof()函數(shù)查看它們?cè)趦?nèi)存中占用的空間。需要注意的是,由于字符串、列表和字典都是引用型數(shù)據(jù)類型,因此它們?cè)趦?nèi)存中占用的空間不僅僅包括它們本身所占用的空間,還包括它們所引用的其他對(duì)象所占用的空間。
在Python中,我們還可以使用sys庫(kù)中的getsizeof()函數(shù)來(lái)查看各種復(fù)雜對(duì)象在內(nèi)存中所占用的空間大小。例如,我們可以使用它來(lái)查看一個(gè)類對(duì)象在內(nèi)存中所占用的空間大?。?/p>
import sys class Person: def __init__(self, name, age): self.name = name self.age = age p = Person('Tom', 18) print(sys.getsizeof(p)) # 輸出結(jié)果:56
在上面的代碼示例中,我們定義了一個(gè)Person類,并創(chuàng)建了一個(gè)Person對(duì)象p。我們使用getsizeof()函數(shù)來(lái)查看Person對(duì)象在內(nèi)存中所占用的空間大小,結(jié)果顯示為56字節(jié)。需要注意的是,這僅僅是指該對(duì)象本身占用的內(nèi)存空間,而不包括該對(duì)象所引用的其他對(duì)象占用的空間。