gpt4 book ai didi

python - 如何告诉类在 Python 中创建一个球体?

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:15 24 4
gpt4 key购买 nike

我尝试将我的项目(太阳系)转移到 OOP。我不知道如何告诉类(class)它应该为每个项目创建一个球体?我怎样才能给它分配“形状”?

原代码:

...

planets = []

#Sonne
sun = sphere(pos = vec(0,0,0), radius = 5, make_trail = True )
sun.mass = 2e30
sun.velocity = vec(0,0,0)
...
planets.extend((mercury,venus,earth,mars,jupiter,saturn,uranus,neptun,pluto))

面向对象:

...
planets = []


class Planet(object):
def __init__(pos,radius,mass,velocity,make_trail)

sun = Planet((0,0,0),5,2e30,(0,0,0)True)
...
planets.extend((mercury,venus,earth,mars,jupiter,saturn,uranus,neptun,pluto))

最佳答案

我假设您将 Sphere 类定义如下:

class Sphere(object):
def __init__(self, pos, radius, make_trail):
self.pos = pos
self.radius = radius
self.make_trail = make_trail

要定义Planet类,可以继承Sphere类,如下所示:

class Planet(Sphere):
def __init__(self, pos, radius, make_trail, mass, velocity):
super().__init__(pos, radius, make_trail)
self.mass = mass
self.velocity = velocity

你可以像这样使用这个类:

# Erde
earth = Planet(
pos=Vec(0, 0, 0),
radius=5 * 6371 / 695508,
make_trail=True,
mass=5.972e24,
velocity=Vec(0, 0, 0))

注意最好遵循 PEP8 的编码风格:类名应该采用 CamelCase。

关于python - 如何告诉类在 Python 中创建一个球体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com