python新手求解答

defgetdirsize(dir):size=0Lforroot,dirs,filesinos.walk(dir):size+=sum([getsize(join(ro... def getdirsize(dir):
size=0L
for root,dirs,files in os.walk(dir):
size+=sum([getsize(join(root,name)) for name in files])
return size
这个方法具体是什么意思?size=0L为什么有个L是单位?
展开
 我来答
wenjie1024
2016-11-02 · TA获得超过2381个赞
知道大有可为答主
回答量:1737
采纳率:72%
帮助的人:859万
展开全部
1、sum()是累加,把列表里的所有数值加起来
getsize(filename)是获取filename的大小(单位B,除以1024就是KB,再除1024就是MB)

join(root,name)是把root和name组合成filename,例如:
join('/root/home','jie.jpeg')的结果是‘/root/home/jie.jpeg'
os.walk(dir):这个是遍历dir文件夹里的所有文件,具体用法限于篇幅请自己百度

2、标准整型 Int
之所以称之为标准整型,是因为除此之外Python还具有长整型。
标准整型占用的位数:
1. 在32为OS平台上使用32位编译器的话,Int占用32位,取值范围是-2**31 ~ 2**31-1
2. 在64位OS平台上使用64位编译器的话,Int占用64位,取值范围是-2**63 ~ 2**63-1
标准整型Int是一种不可变类型:
In [9]: num = 1

In [10]: num = 2

注意:num = 1; num = 2 两个语句中并不是指的同一个数据对象。第一条语句中的num指向数据对象的Value为 1 ,此时num的引用为数据对象在内存中存储位置的索引地址;第二条句子中的num则表示Value为 2 的数据对象在内存中存储位置的索引地址。
在上面的两次赋值过程中,1、2 两个Vlaue对应的数据对象在内存中并没有任何的改变。本质上只是改变了变量 num 的引用(所指向的内存地址)。所以说Int类型是一种不可变类型(因为数据对象没有改变)。Int类型数据对象的值在内存中并不会发生改变,但可以改变变量的引用。
长整型
Python的长整型与C/C++等编译型语言的长整型有本质的区别,因为Python长整型的取值范围不是固定的,它仅仅与你的PC支持的(虚拟)内存大小有关。这样的话,Python能够轻松的表达一个很大的整型。但是就目前的情况来看,标准整型和长整型有了合并的趋势。
在Python 2.2之前,标准整型数据对象超出了取值范围时会出现溢出ERROR,现在如果还出现溢出的话会被Python解析器自动的被捕获并隐式的将标准整型转换为长整型对象。
在一个整型数字后面加L|l标识一个长整型的数值类型对象。In [3]: aLong = -999999999999999999999L

In [4]: type(aLong)
Out[4]: long
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式