python 类型大小

sys.getsizeof()

import sys>>> sys.getsizeof(‘3‘)
38
>>> sys.getsizeof(‘32‘)
39
>>> sys.getsizeof(‘325‘)
40
>>> sys.getsizeof(325)
24
>>> sys.getsizeof(1)
24
>>> sys.getsizeof(10000003250)
24
>>> sys.getsizeof(1000000000000000)
24
>>> sys.getsizeof(1000000000000000090)
24
>>> sys.getsizeof(10000000000000000900)
36

可以看出字符串是比整形占用空间小的,且整形在一定范围内占用空间是一样的

对比

import timeit
import sys
def f():
    a, b, c = 3,2,1
    return sys.getsizeof(a * 100 + b * 10 + c)

def g():
    a, b, c = 3,2,1
    return sys.getsizeof(str(a) + str(b) + str(c))

def f2():
    a, b, c = 3,2,1
    return a * 100 + b * 10 + c

def g2():
    a, b, c = 3,2,1
    return str(a) + str(b) + str(c)

print min(timeit.repeat(f2))
print min(timeit.repeat(g2))
print f()
print g()

结果

0.296730041504
0.70504784584
24
40

可以看出f()无论是从速度还是从内存占用都完胜g()

时间: 2024-12-21 09:16:02

python 类型大小的相关文章

C Python类型互换

从Python到C的转换用PyArg_Parse*系列函数,int PyArg_ParseTuple():把Python传过来的参数转为C:int PyArg_ParseTupleAndKeywords()与PyArg_ParseTuple()作用相同,但是同时解析关键字参数:它们的用法跟C的sscanf函数很像,都接受一个字符串流,并根据一个指定的格式字符串进行解析,把结果放入到相应的指针所指的变量中去,它们的返回值为1表示解析成功,返回值为0表示失败. 从C到Python的转换函数是PyOb

C#各类型大小

C#各类型大小,布布扣,bubuko.com

Python 类型和对象(转)

译文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 原文:http://www.cafepy.com/article/python_attributes_and_methods/ 解释新式的Python对象(new-style): <type 'type'> and <type 'object'>是什么东西 用户定义的类及实例是如何相互关联的,和内置类型有啥关系how user defined classes and in

Python 类型

文章出处:http://www.cnblogs.com/winstic/,请保留此连接 python是动态类型语言,不需要预先声明变量的类型,变量类型和值在赋值的那一刻被初始化 python使用对象模型来存储数据,构造任何类型的值都是一个对象 数字(Number) 有符号整型 长整型 布尔值 浮点数 负数 decimal(2.4版新增)用于十进制浮点型,但需要引入包decimal >>> import decimal >>> print decimal.Decimal(

python 类型判断-- isinstance函数

判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str.list.dict,也可以用在我们自定义的类,它们本质上都是数据类型. 假设有如下的 Person.Student 和 Teacher 的定义及继承关系如下: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person):

python类型比较的方式

通过types模块的类成员来判断,其实所有python中的类型都是这个types模块中类型的实例. import types type(x) is types.IntType # 判断是否int 类型 type(x) is types.StringType #是否string类型 type(x) is types.InstanceType  #是否是自定义的实例对象, isinstance函数不支持比较这个 通过已知类型比较,因为python中所有相同类型的对象他们所引用的类型都是同一个,所以可

js判断文件类型大小并给出提示

上传文件是工作中常用的功能,不同的场景对不同的文件类型和文件大小都有不同的要求: <form id="uploadForm" method="post" class="layui-form"> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div cla

[python]类型与对象

1. 术语 程序中所存储的所有数据都是对象.每个对象都有一个身份.一个类型和一个值.对象的身份可以看作是指向它在内存中所处位置的指针,变量名就是引用这个具体位置的名称.对象的类型也称作类别,用于描述对象的内部表示及它支持的方法与操作.创建特定类型的对象时,有时也将该对象称为该类型的实例.实例被创建之后,它的身份和类型就不可改变.如果对象的值是可以修改的,称为可变对象,反之称为不变对象.如果某个对象包含对其他对象的引用,则将其称为容器或集合.大多数对象拥有大量特有的数据属性和方法.属性就是与对象相

1. python 类型和运算

类型和运算 (Types and Operations) Introducing Python Object Types 在非正式的意义上, 在 Python 中, 我们用一些东西做事情. "事物" 采取像加法和串联的形式的操作. "东西" 是指我们执行这些操作的对象. 从更正式的角度来看,在 Python 中,数据以对象的形式出现. As we'll see, everything is an object in a Python script. Even sim