3.1.4 用户自定义数据类型
作为自定义数据类型的运行示例,我们将讨论一个用于带电粒子的数据类型Charge。具体来说,我们感兴趣的是采用库仑定律(Coulomb's law)的二维模型,即带电粒子在给定位置点的电势可表示为:V = kq / r,其中,q为电荷量,r表示给定位置点与电荷之间的距离,k = 8.99×109 N m2/C2(k是一个常量,称之为静电常数或库仑常数)。平面中带电粒子的库仑定律如图3-1-2所示。
为了保持一致性,我们采用SI(Système International d'Unités,国际单位制):在公式中,N表示牛顿(力),m表示米(距离),C表示库仑(电荷)。当存在多个带电粒子时,在给定位置点的电势等于各个带电粒子产生的电势之和。我们的目标是给定一系列带电粒子,计算一个平面中不同位置点的电势。为了实现目标,我们编写程序创建和操作Charge对象。
程序3.1.1 识别潜在基因(potentialgene.py)
Get 程序设计导论:Python语言实践 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.