Hướng dẫn how many bytes is a long python? - Một con trăn dài bao nhiêu byte?

Dù sao tôi cũng có thể biết bao nhiêu byte được thực hiện bởi biến cụ thể trong Python. Ví dụ; Giả sử tôi có

int = 12
print [type[int]]

Nó sẽ in

 

Nhưng tôi muốn biết nó đã lấy bao nhiêu byte trên bộ nhớ? Có thể không?

S.Lott

378K79 Huy hiệu vàng503 Huy hiệu bạc773 Huy hiệu Đồng79 gold badges503 silver badges773 bronze badges

Đã hỏi ngày 24 tháng 11 năm 2009 lúc 11:41Nov 24, 2009 at 11:41

ITSaboutCodeItSaboutCodeitsaboutcode

24K44 Huy hiệu vàng109 Huy hiệu bạc156 Huy hiệu đồng44 gold badges109 silver badges156 bronze badges

Bạn có thể tìm thấy chức năng mà bạn đang tìm kiếm ở đây [trong sys.getsizeof - Python 2.6 trở lên].

Ngoài ra: Đừng theo dõi int tích hợp!

import sys
myint = 12
print[sys.getsizeof[myint]]

Augustin

2.36421 Huy hiệu bạc23 Huy hiệu đồng21 silver badges23 bronze badges

Đã trả lời ngày 24 tháng 11 năm 2009 lúc 11:47Nov 24, 2009 at 11:47

ChristophedchristophedChristopheD

109K27 Huy hiệu vàng160 Huy hiệu bạc177 Huy hiệu đồng27 gold badges160 silver badges177 bronze badges

7

Nếu bạn muốn biết kích thước của int, bạn có thể sử dụng struct

>>> import struct
>>> struct.calcsize["i"]
4

Mặt khác, như những người khác đã chỉ ra, sử dụng getSizeof [2.6]. Ngoài ra còn có một công thức bạn có thể thử.

Đã trả lời ngày 24 tháng 11 năm 2009 lúc 12:51Nov 24, 2009 at 12:51

ghostdog74ghostdog74ghostdog74

316K56 Huy hiệu vàng254 Huy hiệu bạc341 Huy hiệu Đồng56 gold badges254 silver badges341 bronze badges

Trong Python> = 2.6 Bạn có thể sử dụng sys.getsizeOf.

Đã trả lời ngày 24 tháng 11 năm 2009 lúc 11:48Nov 24, 2009 at 11:48

Alex Barrettalex BarrettAlex Barrett

15.7K3 Huy hiệu vàng 50 Huy hiệu bạc51 Huy hiệu Đồng3 gold badges50 silver badges51 bronze badges

Numpy cung cấp cơ sở hạ tầng để kiểm soát kích thước dữ liệu. Dưới đây là các ví dụ [PY3]:

import numpy as np
x = np.float32[0]
print[x.nbytes] # 4
a = np.zeros[[15, 15], np.int64]
print[a.nbytes] # 15 * 15 * 8 = 1800

Điều này rất hữu ích khi cố gắng gửi dữ liệu vào card đồ họa với PyopEngl, chẳng hạn.

Đã trả lời ngày 13 tháng 11 năm 2016 lúc 16:15Nov 13, 2016 at 16:15

1

Bạn cũng có thể xem pympler, đặc biệt là mô -đun ASIZEOF của nó, không giống như sys.getsizeof hoạt động với Python> = 2.2.

Đã trả lời ngày 24 tháng 11 năm 2009 lúc 12:19Nov 24, 2009 at 12:19

Cat Plus Plus Plus PlusCat Plus Plus

122K26 Huy hiệu vàng196 Huy hiệu bạc222 Huy hiệu đồng26 gold badges196 silver badges222 bronze badges

Trong Python 3, bạn có thể sử dụng sys.getsizeOf [].

import sys
myint = 12
print[sys.getsizeof[myint]]

Đã trả lời ngày 23 tháng 10 năm 2017 lúc 21:27Oct 23, 2017 at 21:27

HisihisiHISI

4.3673 Huy hiệu vàng32 Huy hiệu bạc47 Huy hiệu đồng3 gold badges32 silver badges47 bronze badges

Thư viện tốt nhất cho điều đó là Guppy:

import guppy
import inspect 

def get_object_size[obj]:
    h = guppy.hpy[]
    callers_local_vars = inspect.currentframe[].f_back.f_locals.items[]

    vname = "Constant"

    for var_name, var_val in callers_local_vars:
        if var_val == obj:
            vname = str[var_name]

    size = str["{0:.2f} GB".format[float[h.iso[obj].domisize] / [1024 * 1024]]]

   return str["{}: {}".format[vname, size]]

Đã trả lời ngày 15 tháng 10 năm 2018 lúc 8:46Oct 15, 2018 at 8:46

cemcemcem

1.41719 Huy hiệu bạc22 Huy hiệu đồng19 silver badges22 bronze badges

Câu trả lời được chấp nhận sys.getsizeof là chính xác.

Nhưng nhìn vào nhận xét của bạn về câu trả lời được chấp nhận mà bạn có thể muốn số lượng bit mà một số đang chiếm trong nhị phân. Bạn có thể sử dụng

 
2

[16].bit_length[] # '10000' in binary
>> 5

[4].bit_length[] # '100' in binary
>> 3

Đã trả lời ngày 7 tháng 12 năm 2021 lúc 20:51Dec 7, 2021 at 20:51

Python dài là gì?

Dài là một giá trị loại số nguyên có độ dài không giới hạn.Bằng cách chuyển đổi một chuỗi thành dài, chúng tôi đang dịch giá trị của loại chuỗi thành loại dài.Trong python3 int được nâng cấp thành dài theo mặc định, điều đó có nghĩa là tất cả các số nguyên đều dài trong python3.Vì vậy, chúng ta có thể sử dụng int [] để chuyển đổi một chuỗi thành dài trong Python.an integer type value that has unlimited length. By converting a string into long we are translating the value of string type to long type. In Python3 int is upgraded to long by default which means that all the integers are long in Python3. So we can use int[] to convert a string to long in Python.

Có bao nhiêu byte là một thời gian dài?

Ứng dụng UNIX 64 bit.

Tại sao Python ints 28 byte?

Nhận được kích thước của một số nguyên kể từ khi lưu trữ số 0, Python chỉ cần sử dụng 1 bit.Lưu ý rằng 1 byte bằng 8 bit.Do đó, bạn có thể nghĩ rằng Python sử dụng 24 byte như một chi phí để lưu trữ một đối tượng số nguyên.Nó trả về 28 byte.Python uses 24 bytes as an overhead for storing an integer object. It returns 28 bytes.

Có bao nhiêu byte là một python chuỗi?

Lưu ý rằng mỗi chuỗi trong Python có thêm 49-80 byte bộ nhớ, trong đó nó lưu trữ thông tin bổ sung, chẳng hạn như băm, độ dài, độ dài trong byte, loại mã hóa và cờ chuỗi.Đó là lý do tại sao một chuỗi trống mất 49 byte bộ nhớ.49-80 bytes of memory, where it stores supplementary information, such as hash, length, length in bytes, encoding type and string flags. That's why an empty string takes 49 bytes of memory.

Bài Viết Liên Quan

Chủ Đề