类的专有方法(__len__)
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#http://www.imooc.com/code/6252 #类的专有方法(__len__)
#如果一个类表现得像一个list,要获得有多少个元素,就得用len();要让len()函数正常工作,类必须提供一个特殊的方法__len__(),才能返回元素的个数 #案例01
class Fib():
def __init__(self, num):
a, b, L = 0, 1, []
for i in range(num):
L.append(a)
a, b = b, a+b
self.numbers = L def __str__(self):
return str(self.numbers) def __len__(self):
return len(self.numbers) f = Fib(10)
print f
print len(f) #案例02
class Students():
def __init__(self, *args):
self.names = args
def __len__(self):
return len(self.names) ss = Students('Bob', 'Alice', 'Tim')
print len(ss)
类的专有方法(__len__)的更多相关文章
- 4 python 类的专有方法介绍
1.__init__ : 构造函数,在生成对象时调用 该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但不一定有返回值. 所谓初始化构造函数就是在构造对象的同时被对象自动 ...
- [py]类的专有方法
陆陆续续总结一些用到的类的特殊方法 看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式 https://coding.net/u/RuoYun/p/Python-design-pattern/git/ ...
- 类的专有方法(__getattr__和__setattr__、__delattr__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.360doc.com/content/15/0413/19/12067640_4629 ...
- 类的专有方法(__getitem__和__setitem__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__getitem__和__s ...
- 类的专有方法(__repr__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://blog.csdn.net/yyt8yyt8/article/details/7030416 ...
- 类的专有方法(__del__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.bubuko.com/infodetail-313791.html #类的专有方法(_ ...
- 类的专有方法(__init__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.cnblogs.com/zyxstar2003/archive/2011/03/21/ ...
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
- Python 类的魔术方法
Python中类的魔术方法 在Python中以两个下划线开头的方法,__init__.__str__.__doc__.__new__等,被称为"魔术方法"(Magic method ...
随机推荐
- .Net高级技术——结构体
结构体 结构体和类的区别:结构体是值类型,类是引用类型 结构体非常类似于类,但是值类型(拷贝传递),不能被继承 Int32.DateTime等都是结构体,从ValueType继承,值类型. 结构体测试 ...
- 去除ArcMap连接空间数据库中多余的属性表
这个操作目前可能不具有可行性,但是为了完整性还是在下面讲一下吧.如有兴趣的小伙伴,可以按照下面的操作方式去尝试. 一.需求 去除ArcMap连接空间数据库中多余的属性表. PL/SQL中查询得到的内容 ...
- maven切换到阿里云镜像
maven默认去中央仓库下载jar速度奇慢,切换成阿里的镜像源会快很多 maven settings.xml配置 <?xml version="1.0" encoding= ...
- 转 SQL语句的添加、删除、修改多种方法
SQL语句的添加.删除.修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加.删除.修改使用db.Execute(Sql)命令执行操作 ╔------ ...
- JSP 上传文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...
- Android Gradle Plugin指南(四)——測试
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing 5.Testing(測试) 构建一个測试 ...
- Installation of NVIDIA Drivers in RHEL/CentOS and Fedora
1.首先安装所需的软件: # yum groupinstall "Development Tools" # yum install kernel-devel kernel-head ...
- [Linux] 关于Unix哲学
reference : http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 先讲两个很老的小故事. 第一个故事. 有一家日本最大的化 ...
- kafak-python函数使用详解
Consumer是非线程安全的 Kafka只保证消息不漏,即at lease once,而不保证消息不重.关键点:假如consumer挂了重启,那它将从committed offset位置(告诉ser ...
- 3D屏保:排色榜
3D屏保:排色榜 排色榜,是一个针对图形学中的色彩进行排序的DEMO,这里的色是色彩的意思,看成别的点进来的同学请自觉面壁.该DEMO可以按RGB,GBR,BRG,灰度值四种方式进行排序.排序算法为冒 ...