RA expresado en grados

Usando el paquete Skyfield de Python , pensé que podría expresar el RA en grados simplemente haciendo ra.degrees, pero recibo el siguiente mensaje

este ángulo suele expresarse en horas, no en grados; si desea usar grados de todos modos, use el atributo_degrees

Intenté algunas cosas, pero no puedo encontrar una solución. ¿Alguien podría ayudarme?

Ejecuto v1.37, Python 3.27. Usé tu truco y funcionó. Gracias.
Ver el comentario de astrosnapper ; mejor no uses mi truco (lo he borrado) y usa uno de esos en su lugar.
O usar ra.hours * 15.0...? Parece una extraña flexibilidad por parte de Skyfieldno permitirle usar ciertas unidades perfectamente válidas: el uso de RA y Dec en grados decimales se está volviendo mucho más común

Respuestas (1)

El texto está tratando de sugerir que lo hagas ra._degrees. ¿Cómo podría redactarse mejor el mensaje para dejar en claro que la sugerencia es cambiar el nombre del atributo que está solicitando de .degreesa ._degrees? ¿ Ayudaría un interlineado .delante del nombre?

Por convención, los guiones bajos simples indican que el atributo está destinado a ser una variable interna/privada ( dbader.org/blog/meaning-of-underscores-in-python ). Por lo tanto, los usuarios finales no deberían usarlos en general. También con respecto a los comentarios originales de Q: para convertir radianes a grados, es mejor usar math.degrees()o numpy.degrees()en lugar de hacer la conversión a mano.
Nunca lo usaría ._degreesexactamente por la razón que señala astrosnapper. Como usuario, asumo que el guión bajo que indica "semi-privacidad" está ahí por una razón; tal vez no funcione como se esperaba ahora, o en el futuro, o puede desaparecer más tarde, o algo más...
@astrosnapper sí, de hecho, eliminé eso y señalé aquí.
@astrosnapper y @uhoh — ¡Gracias por explicar su renuencia a seguir la guía de Skyfield en este caso! Iré a diseñar un nombre de reemplazo. (Originalmente lo consideré, .degrees_dammitpero eso no me pareció profesional, así que probé el guión bajo inicial simple, como los propios namedtupleusos de Python para varios métodos a los que invita a los usuarios a llamar). Si bien también pude simplemente eliminar la restricción, mi experiencia con una biblioteca más antigua (PyEphem) sugiere que dejar que los usuarios digan ra.degreessin un mensaje de advertencia generaría muchos usuarios confusos y preguntas de los usuarios.
(¿Algún consejo sobre el nombre? Aparentemente fue .degrees_anywayhasta julio de 2014 cuando, mientras Skyfield aún era anterior a 1.0, cambié al guión bajo simple).
@BrandonRhodes Estoy confundido; hay .kmy .aupara posiciones, ¿por qué hay reticencias para .degreesy .radians? ¿Por qué estos, sin un mensaje de advertencia, pueden generar muchos usuarios confusos y preguntas de los usuarios? ¿Qué sería confuso para los ángulos que no sería para las distancias? ¿Pasó esto? ¿O es el arquetipo de todos los usuarios generado por un desarrollador benévolo que trabaja incansablemente para crear el paquete de python más genial, poderoso y al mismo tiempo fácil de usar en el universo que se imagina que se confunde y genera preguntas? :-)
@uhoh: lamentablemente, no fue un usuario "generado", sino usuarios reales de PyEphem (ver mi comentario anterior) que recuerdo haber estado confundidos repetidamente y elegir las unidades incorrectas para RA y luego necesitar pedir ayuda. Pero tal vez el diseño mucho mejor de Skyfield, que trata de hacer que los usuarios nombren las unidades que usan para establecer y obtener ángulos, por sí solo elimina la mayor parte del problema. Esa posibilidad me hace inclinarme en este punto hacia simplemente eliminar los cheques. Por desgracia, si la carga de soporte salta, habré causado un daño permanente que nunca podré deshacer. Pero si Skyfield funciona, será más sencillo.