Python中有趣在__call__函数
Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。
换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。
class g_dpm(object): def __init__(self, g): self.g = g def __call__(self, t): return (self.g*t**2)/2
计算地球场景的时候,我们就可以令e_dpm = g_dpm(9.8),s = e_dpm(t)。
class Animal(object): def __init__(self, name, legs): self.name = name self.legs = legs self.stomach = [] def __call__(self,food): self.stomach.append(food) def poop(self): if len(self.stomach) > 0: return self.stomach.pop(0) def __str__(self): return 'A animal named %s' % (self.name) cow = Animal('king', 4) #We make a cow dog = Animal('flopp', 4) #We can make many animals print 'We have 2 animales a cow name %s and dog named %s,both have %s legs' % (cow.name, dog.name, cow.legs) print cow #here __str__ metod work #We give food to cow cow('gras') print cow.stomach #We give food to dog dog('bone') dog('beef') print dog.stomach #What comes inn most come out print cow.poop() print cow.stomach #Empty stomach '''-->output We have 2 animales a cow name king and dog named flopp,both have 4 legs A animal named king ['gras'] ['bone', 'beef'] gras [] '''
相关推荐
-
js当前页面登录注册框,固定div,底层阴影的实例代码
这是一个实例,保存代码为html文件运行试试吧.兼容火狐.ie6.ie7.ie8.Chrome等. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&
-
通过遮罩层实现浮层DIV登录的js代码
这个就没什么好说的了..直接上代码啊!! 首先是HTML的代码.其中包含了登录点击按钮以及一个简陋的登录框. 复制代码 代码如下: <body> <div id="shade"></div> <div> <a onclick="login()" style="cursor:pointer">登录</a> </div> <br/> 什么都没有用...&l
-
Java后台开发之表单提交之前验证
废话不多说了,具体代码如下所示: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <%@ page import="java.sql.*" %> <!DOCTYPE html
-
Python中有趣在__call__函数
Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的. 换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符. class g_dpm(object): def __init__(self, g): self.g = g def __call__(self, t): return (self.g*t**2)/2 计算地球场景的时候,我们就可以令e_dpm = g_dpm(9.8),s = e_dpm(t). class Ani
-
python中的内置函数max()和min()及mas()函数的高级用法
max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) 函数功能为取传入的多个参数中的最大值,或者传入的可迭代对象元素中的最大值.默认数值型参数,取值大者:字符型参数,取字母表排序靠后者.还可以传入命名参数key,其为一个函数,用来指定取最大值的方法.default命名参数用来指定最大值不存在时返回的默认值. eg a.传入的多个参数的最大值 print(max(1,2,3,4)) 输出 b.1 传入可迭代对象时,取其元素最大
-
简单了解Python中的几种函数
几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >>> g = lambda x,y:x+y #x+y,并返回结果 >>> g(3,4) 7 >>> (lambda x:x**2)(4) #返回4的平方 16 lambda函数的使用方法: 在lambda后面直接跟变量 变量后面是冒号 冒号后面是表达式,表达式计算
-
python中根据字符串调用函数的实现方法
在python中可以根据字符串来调用函数: 1.使用getattr从字符串来调用函数 在多进程中,可能传递过来的是一个字符串,那么我怎么来调用一个已经存在的函数呢,主要就是使用到getattr函数的作用,这个函数就是在使用字符串得到这个字符串对应的函数的对象,然后就可以进行执行,如下所示: 在模块中,存在两个函数: [root@python 530]# cat attr.py #!/usr/bin/env python def kel(): print 'this is a kel functi
-
Python中threading模块join函数用法实例分析
本文实例讲述了Python中threading模块join函数用法.分享给大家供大家参考.具体分析如下: join的作用是众所周知的,阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后join这些线程结束,例如: for i in range(10): t = ThreadTest(i) thread_arr.append(t) for i in range(10): thread_arr[i].start() for i in range(10): thread_arr[i].joi
-
浅谈python中scipy.misc.logsumexp函数的运用场景
scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见这里,返回的值是np.log(np.sum(np.exp(a))). 这里需要强调的是使用该函数的场景: 一般来说,该函数主要用于非常小的数值的运算(比如蒙特卡洛取样样本).在这种情况下,将数据保持log处理是必须的.所以这时你如果想将数组中的数据累加求和就需要这样计算log(sum(exp(a))),但这样做就
-
Python中dictionary items()系列函数的用法实例
本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # available only in Python 3.x def make_elements(name, value, **attrs): keyvals = [' %s="%s"' % item for item in attrs.items()] attr_str = ''.join(keyvals
-
python中 chr unichr ord函数的实例详解
python中 chr unichr ord函数的实例详解 chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或0x
-
Python中sort和sorted函数代码解析
本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sort(cmp=None, key=None, reverse=False) 函数作用: 它是把L原地排序,也就是使用后并不是返回一个有序的序列副本,而是把当前序列变得有序 参数说明: (1) cmp参数 cmp接受一个函数,拿整形举例,形式为: def f(a,b): return a-b 如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数:
-
python中enumerate() 与zip()函数的使用比较实例分析
本文实例讲述了python中enumerate() 与zip()函数的使用比较.分享给大家供大家参考,具体如下: enumerate() 与zip()是两个常用的内置函数,这两个函数功能类似,同时又存在差异.介绍如下: 一.enumerate() 函数 该函数中文解释:枚举.列举的意思. 用于将一个可遍历的数据对象(如:列表.元组.字符串等)组合为一个索引序列,同时列出:数据和数据下标 一般在for循坏中使用,可同时得到数据对象的值及对应的索引值 a = ['one','two','three'
随机推荐
- Redis List列表的详细介绍
- javascript下高性能字符串连接StringBuffer类
- IIS设置404页面图文教程(选择URL还是文件 )
- 开源软件包和环境管理系统Anaconda的安装使用
- Django中实现点击图片链接强制直接下载的方法
- 可以拖动的div 实现代码第1/2页
- ThinkPHP中html:list标签用法分析
- Python运算符重载用法实例分析
- ASP中通过该日历算法实现的具体代码
- SQL Server 2012 开窗函数
- Maven安装及MyEclipse中使用Maven
- javascript Range对象跨浏览器常用操作第1/2页
- C语言变量类型与输出控制用法实例教程
- ASP制作在线人数统计实例
- 路由器基础精析
- Python IDLE入门简介
- django使用xlwt导出excel文件实例代码
- Android短信验证码监听解决onChange多次调用的方法
- Python聊天室程序(基础版)
- SpringBoot整合Kotlin构建Web服务的方法示例