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
相关产品推荐
相关产品推荐

