首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python为什么要len(array),而不是像Java一样array.size()?

知乎上有个问题,关于Python和Java语法的对比,同样是计算数组长度,为什么Python使用len(array),属于内置函数,而Java则用array.size(),属于类方法。...Python中len()函数不仅可以计算array的长度,还可以计算元组、集合、字符串、字典等任何可迭代对象的长度。 这样的好处是不同的对象计算长度,你不需要每次调用不同的对象方法来实现。...此类的函数还有很多,比如排序函数sorted(),类型函数type(),位数函数round(),打印函数print()等,和len()一样,这些都是python的内置函数。...之所以没有像Java array对象将size设置为类方法,因为python语言特性就是要追求简洁性和一致性,能一种方法搞定的绝不多费功夫,哪怕牺牲一点安全性。...当然,python也是面向对象的编程语言,有类属性和方法,大部分的对象操作都是通过类属性和方法来实现,但对于一些常见的、通用的、普遍的操作会使用内置函数来解决。

10810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Js中Array对象

    Js中Array对象 JavaScript的Array对象是用于构造数组的全局对象,数组是类似于列表的高阶对象。 描述 在JavaScript中通常可以使用Array构造器与字面量的方式创建数组。...在Js中使用Array构造器创建出的存在空位的问题,默认并不会以undefined填充,而是以empty作为值,需要注意的是,空位并不是undefined,undefined表示的是没有定义,但是本身undefined...Array.of()方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型,Array.of()和Array构造函数之间的区别在于处理整数参数,例如Array.of(7)创建一个具有单个元素...7的数组,而Array(7)创建一个长度为7的空数组。...() entries()方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对,Array Iterator对象的原型__proto__:Array Iterator上有一个

    9.9K00

    len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    len(x) 击败 x.len(),从内置函数看 Python 的设计思想 ? 内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作。...举个例子,求字符串 x 的长度,Python 的写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应的参数即可。len() 函数是共用的。...这就引出本文最想讨论的一个问题来:为什么 Python 要设计成 len(x) 这种前缀表达,而不是 x.len() 这样的后缀表达呢?...这已经不仅是在说 len() 更可读易懂了,而完全是在拔高 len() 的地位。...所以,我们能说 len(x) 击败 x.len() ,支撑它的是一种化繁为简、纯粹却深邃的设计思想。 面向对象的编程语言自发明时起,就想模拟我们生活于其中的现实世界。

    52720

    js中for in碰到Array.prototype的问题

    最近一个js项目中使用了for(let i in arr) {} 循环,for in的好处就是被遍历的对象可以是数组,可以是对象,就算是null和undefined都没有问题,不会报错,所以被大量使用,...自定义方法,结果项目开始报错,最后发现问题出现在for in的时候会遍历枚举对象属性,包括prototype中的enumerable为true的对象属性,所以就出现问题了。...刚开始我找问题,发现给Array增加自定义方法可以用以下2种办法: Array.prototype.last = function () { console.log('do last'); }...是否可以呢 Object.defineProperty(Array.prototype,'last', { enumerable : false }); for (let idx in arr)...但是我们不可能把所有使用Array.prototype的都去设置一下,继续找找别的办法吧,继续发现了通过hasOwnProperty判断是是否为自有属性,2种写法如下: for (let idx in

    98740

    len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    举个例子,求字符串 x 的长度,Python 的写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应的参数即可。len() 函数是共用的。...这就引出本文最想讨论的一个问题来:为什么 Python 要设计成 len(x) 这种前缀表达,而不是 x.len() 这样的后缀表达呢?...但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法的类。...这已经不仅是在说 len() 更可读易懂了,而完全是在拔高 len() 的地位。...所以,我们能说 len(x) 击败 x.len() ,支撑它的是一种化繁为简、纯粹却深邃的设计思想。 面向对象的编程语言自发明时起,就想模拟我们生活于其中的现实世界。

    67230

    WPS JS宏——数组Array对象

    VBA中的数组只有很少的几个函数可以操作: Ubound 取数组的上标 Luound 取数组的下标 Filter 筛选一维数组 Join 将一维的String类型数组连接为1个字符串 Array...生成1个Variant类型的数组 IsArray 判断1个变量是否是数组 Erase 释放数组所占资源 VBA的数组功能比较的少,但是在JS中,数组也是一种对象,JS已经在这个对象上实现了很多的属性和方法...1个数组构成新的数组 slice 创建子数组 ………… 有这么多的方法仅仅是因为JS帮忙实现好了,可以简单理解为在VBA中,也可以自己去实现这些操作数组的函数,然后调用。...当然一般的使用者写的函数可能效率比较低,没有JS这种设计语言的人写的好。 在Excel中使用VBA或者JS,涉及数组这一块,单元格与数组之间的直接赋值,是非常的方便的。...在A1到B5单元格输入公式=ADDRESS(ROW(),COLUMN()),获取单元格地址,然后进行测试: function testRange2Array() { var arr = Range("

    4.2K30

    len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    举个例子,求字符串 x 的长度,Python 的写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应的参数即可。len() 函数是共用的。...这就引出本文最想讨论的一个问题来:为什么 Python 要设计成 len(x) 这种前缀表达,而不是 x.len() 这样的后缀表达呢?...但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法的类。...这已经不仅是在说 len() 更可读易懂了,而完全是在拔高 len() 的地位。...所以,我们能说 len(x) 击败 x.len() ,支撑它的是一种化繁为简、纯粹却深邃的设计思想。 面向对象的编程语言自发明时起,就想模拟我们生活于其中的现实世界。

    83920
    领券