前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过案例学Python之定义函数类

通过案例学Python之定义函数类

作者头像
fem178
发布2020-08-10 10:24:58
8380
发布2020-08-10 10:24:58
举报
文章被收录于专栏:数值分析与有限元编程

二次抛物线

y = ax^2+bx+c

有3个参数

a,b,c

,这样就可以将所有的二次抛物线表示出来。3个参数可以确定二次抛物线的一些基本属性,比如开口朝上还是朝下,对称轴以及与x轴的交点等等 。方法包括求函数值,求导数,求极值等等。求导数可以这样来实现:

f^{'}(x_0) \approx \frac{f(x_0+h)-f(x_0)}{h}

这里h是一个很小的数,比如

10^{-5}

.

定义一个二次抛物线类:

代码语言:javascript
复制
class FX:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
    
    # 求函数值的方法   
    def value(self, x):
        return self.a * x ** 2 + self.b * x + self.c                                        
    
    # 求导数的方法   
    def diff(self, x, h=1e-5):
        return ( self.value(x+h) - self.value(x) )/h                                                      
        
y = FX(2,1,0) #创建对象y=2x^2+x

print( y.value(1) ) 
print( y.diff(1) )

输出结果为:

通过自定义类创建一个新的数据类型,这里的名称为FX,因此当我们使用该类来创建对象,这些对象的类型为FX。实际上,所有标准的Python对象,例如作为列表,元组,字符串,浮点数,整数等,是内置的Python具有名称列表,元组,字符串,浮点数,整数等的类。用户定义类的对象(如y)通常称为实例。我们需要这样的实例使用类中的数据并调用value和diff函数。以下声明构造绑定到变量名称FX的实例:

代码语言:javascript
复制
y = FX(2,1,0)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档