Python通过len函数返回对象长度


Posted in Python onOctober 22, 2020

英文文档:

len(s)

Return the length (the number of items) of an object. The argument may be a sequence (such as a string, bytes, tuple, list, or range) or a collection (such as a dictionary, set, or frozen set).

返回对象的长度

说明:

1. 返回对象的长度,参数可以是序列(比如字符串、字节数组、元组、列表和range对象),或者是集合(比如字典、集合、不可变集合)

>>> len('abcd') # 字符串
4
>>> len(bytes('abcd','utf-8')) # 字节数组
4
>>> len((1,2,3,4)) # 元组
4
>>> len([1,2,3,4]) # 列表
4
>>> len(range(1,5)) # range对象
4
>>> len({'a':1,'b':2,'c':3,'d':4}) # 字典
4
>>> len({'a','b','c','d'}) # 集合
4
>>> len(frozenset('abcd')) #不可变集合
4

2. 如果参数为其它类型,则其必须实现__len__方法,并返回整数,否则报错。

>>> class A:
  def __init__(self,name):
    self.name = name
  def __len__(self):
    return len(self.name)

>>> a = A('')
>>> len(a)
0
>>> a = A('Aim')
>>> len(a)
3
>>> class B:
  pass

>>> b = B()
>>> len(b)
Traceback (most recent call last):
 File "<pyshell#65>", line 1, in <module>
  len(b)
TypeError: object of type 'B' has no len()
>>> class C:
  def __len__(self):
    return 'len'

>>> c = C()
>>> len(c)
Traceback (most recent call last):
 File "<pyshell#71>", line 1, in <module>
  len(c)
TypeError: 'str' object cannot be interpreted as an integer

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
python的dict,set,list,tuple应用详解
Jul 24 Python
初学Python实用技巧两则
Aug 29 Python
Django框架自定义模型管理器与元选项用法分析
Jul 22 Python
使用Python的networkx绘制精美网络图教程
Nov 21 Python
Flask之pipenv虚拟环境的实现
Nov 26 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
Python中Permission denied的解决方案
Apr 02 Python
Python字符串的转义字符
Apr 07 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 #Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 #Python
python处理写入数据代码讲解
Oct 22 #Python
基于Python爬取股票数据过程详解
Oct 21 #Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 #Python
Python实现手势识别
Oct 21 #Python
利用Python优雅的登录校园网
Oct 21 #Python
You might like
第九节 绑定 [9]
2006/10/09 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
深入理解Python中range和xrange的区别
2017/11/26 Python
深入理解Django-Signals信号量
2019/02/19 Python
django queryset相加和筛选教程
2020/05/18 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
德国帽子专家:Hutshopping
2019/11/03 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
物流管理毕业生自荐信
2013/10/24 职场文书
实习单位接收函
2014/01/11 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
党员承诺践诺书
2014/05/20 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
js实现自动锁屏功能
2021/06/02 Javascript
redis复制有可能碰到的问题汇总
2022/04/03 Redis
centos7安装mysql5.7经验记录
2022/05/02 Servers