python实现计算倒数的方法

yipeiwu_com7年前Python基础

本文实例讲述了python实现计算倒数的方法。分享给大家供大家参考。具体如下:

class Expr: 
 def __add__(self, other): 
  return Plus(self, other) 
 def __mul__(self, other): 
  return Times(self, other) 
class Int(Expr): 
 def __init__(self, n): 
  self.n = n 
 def d(self, v): 
  return Int(0) 
 def __str__(self): 
  return `self.n` 
class Var(Expr): 
 def __init__(self, var): 
  self.var = var 
 def d(self, v): 
  return Int(self.var == v and 1 or 0) 
 def __str__(self): 
  return self.var 
class Plus(Expr): 
 def __init__(self, a, b): 
  self.e1 = a 
  self.e2 = b 
 def d(self, v): 
  return Plus(self.e1.d(v), self.e2.d(v)) 
 def __str__(self): 
  return "(%s + %s)" % (self.e1, self.e2) 
class Times(Expr): 
 def __init__(self, a, b): 
  self.e1 = a 
  self.e2 = b 
 def d(self, v): 
  return Plus(Times(self.e1, self.e2.d(v)), Times(self.e1.d(v), self.e2))
 def __str__(self): 
  return "(%s * %s)" % (self.e1, self.e2) 
if __name__ == "__main__": 
 x = Var("x") 
 a = Var("a") 
 b = Var("b") 
 c = Var("c") 
 e = a * x * x + b * x + c 
 print "d(%s, x) = %s" % (e, e.d("x")) 

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python语言线程标准库threading.local解读总结

本段源码可以学习的地方: 1. 考虑到效率问题,可以通过上下文的机制,在属性被访问的时候临时构建; 2. 可以重写一些魔术方法,比如 __new__ 方法,在调用 object.__ne...

解读Python编程中的命名空间与作用域

解读Python编程中的命名空间与作用域

变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变量名称们(键)和它们各自相应的对象们(值)的字典。 一个Python表达式可以访问局部命名空间和全局命名空间里的变量。如果一个局...

matplotlib.pyplot画图 图片的二进制流的获取方法

有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法 import matplotlib.pyplot as plt...

python ipset管理 增删白名单的方法

为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理 #!/usr/bin/env python # coding: utf-8 import MySQLdb...

python切片(获取一个子列表(数组))详解

切片: 切片指从现有列表中,获取一个子列表 返回一个新列表,不影响原列表。 下标以 0 开始: list = ['红','绿','蓝','白','黑','黄','青'] # 下标...