You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何访问自定义分数类的分子与分母?

访问自定义MyFraction类的分子和分母

嘿,这个问题其实超简单!因为你在MyFraction类里已经把分子(numerator)和分母(denominator)定义成了实例的公共属性,所以直接通过实例对象加上属性名就能轻松访问啦。

直接访问的示例代码

from fractions import Fraction
class MyFraction:
    def __init__(self, numerator=1, denominator=1):
        self.numerator = numerator
        self.denominator = denominator
    def get_fraction(self):
        return Fraction(numerator=self.numerator, denominator=self.denominator)
    def __repr__(self):
        return '{}/{}'.format(self.numerator, self.denominator)

# 创建一个自定义分数实例
my_frac = MyFraction(5, 10)  # 不会自动简化,保持5/10

# 直接访问分子和分母
print("分子:", my_frac.numerator)   # 输出:分子: 5
print("分母:", my_frac.denominator) # 输出:分母: 10

(可选)更规范的封装方式

如果你想避免外部代码直接修改这些属性(保证数据安全性),可以把属性改成私有属性(前面加双下划线__),然后添加对应的getter方法来获取值:

class MyFraction:
    def __init__(self, numerator=1, denominator=1):
        # 定义私有属性,外部无法直接访问
        self.__numerator = numerator
        self.__denominator = denominator

    def get_numerator(self):
        # 获取分子的方法
        return self.__numerator

    def get_denominator(self):
        # 获取分母的方法
        return self.__denominator

    # 其他原有方法保持不变...

# 使用getter方法访问
my_frac = MyFraction(5, 10)
print("分子:", my_frac.get_numerator())   # 输出:分子: 5
print("分母:", my_frac.get_denominator()) # 输出:分母: 10

这样既满足了你的需求,也能根据场景选择更合适的访问方式~

内容的提问来源于stack exchange,提问作者user9073040

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:14:56