首页 > 编程语言 >Python | 魔法函数`__len__`的用法

Python | 魔法函数`__len__`的用法

时间:2023-06-27 19:55:46浏览次数:39  
标签:__ name Python self 魔法 len

在python的字符串、列表等元素的时候经常使用len()方法计算长度,之所以能够使用len()方法,就是因为它的类实现了__len__魔法函数

如:

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

s=Student("Jack")
print(len(s))

执行结果为:

4

标签:__,name,Python,self,魔法,len
From: https://www.cnblogs.com/zhangxuegold/p/17509789.html

相关文章

  • Python 选择排序
    思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾重复第二步,直到所有元素均排序完毕 Code:1defselectSort(arr):2foriinrange(0,len(arr)):#i表示多少......
  • 公平的糖果交换
    爱丽丝和鲍勃拥有不同总数量的糖果。给你两个数组aliceSizes和bobSizes,aliceSizes[i]是爱丽丝拥有的第i盒糖果中的糖果数量,bobSizes[j]是鲍勃拥有的第j盒糖果中的糖果数量。两人想要互相交换一盒糖果,这样在交换之后,他们就可以拥有相同总数量的糖果。一个人拥有的糖果总......
  • 高德地图动态Marker和自定义弹框、交互事件、中心点跳转
    高德地图vue3使用下载NPM:npmi@amap/amap-jsapi-loader--save根据官网提示,VUE3需要改变监听模式下载npmi@vue/reactivity组件内配置初始化<scriptsetup>//开发技术vue3piniatsimport{ref}from"vue";importAMapLoaderfrom"@amap/amap-jsapi-loa......
  • ubuntu设置终端代理
    修改bash的配置文件~/.bashrc增加两个函数#setproxyfunctionsetproxy(){ exporthttp_proxy=socks5://192.168.4.61:7890 exportHTTPS_PROXY=socks5://192.168.4.61:7890 exportFTP_PROXY=socks5://192.168.4.61:7890}#unsetproxyfunctionunsetproxy(){ unset......
  • es 常用命令
    1、查看es进程 ps-ef|grepes2.查看es索引curl-XGEThttp://xxx:port/_cat/indices?v3. 检查集群监控状态curl-XGEThttp://xxx:port/_cluster/health?pretty # 巡检结果及影响:status:集群状态:Green(正常);Yellow(备份数据不可用,不影响正常工作); Red(主备数据不可用,影......
  • CAP理论
    CAP理论:CAP理论:一个牺牲一致性来换取可用性的实例  a:初始状态:b:正常执行过程c:更新传播失败时的执行过程在面对CAP问题有以下几种选择:不同产品在CAP理论下的不同设计原则: ......
  • SpringCloud常用组件总结
    SpringCloud什么是SpringCloud?SpringCloud是基于SpringFramework的一套开源工具集,用于构建分布式系统和微服务架构的解决方案。它提供了一系列的开发工具和组件,简化了分布式系统中常见的开发、配置、服务注册和发现、负载均衡、断路器、路由、配置管理等任务。常用组件1、Eur......
  • TCP连接中CLOSE_WAIT状态的原因与解决方法?
        关闭socket分为主动关闭和被动关闭两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机检测到远程主机发起关闭之后,作出回应,从而关闭整个连接;将关闭部分的状态转移摘出来,就得到了下图: 产生原因?通过图上,我们来分析,什么情况下,连接处于CLOSE_WAIT状......
  • Golang空结构体struct{}的作用?
    介绍在平时做项目得时候,经常会看到很多包里面定义了结构体。e.g.在context包里面Context接口中的Done()方法,Done()返回一个是以空结构体定义数据的通道chanstruct{},那这里他是有什么特殊用意吗?我们接下来分析struct{}的作用。struct{}空结构是没有字段的结构类型。下面看示......
  • 深入类加载机制
    初识类加载过程使用某个类时,如果该类的class文件没有加载到内存时,则系统会通过以下三个步骤来对该类进行初始化1.类的加载(Load) → 2.类的连接(Link) → 3.类的初始化(Initialize)类的加载(Load):将类的class文件读入内存,并为之创建一个java.lang.Class的对象,此过程由类加载器(ClassLoader)......