首页 > 解决方案 > Python 对象属性可以有自己的属性吗?

问题描述

我在这个练习练习的 unittest 文件中看到的内容有点困惑。这些是为检查我的程序的有效性而运行的一些测试。(您在主程序中创建一个 PhoneNumber 对象。)

    def test_area_code(self):
        number = PhoneNumber("2234567890")
        self.assertEqual(number.area_code, "223")

    def test_pretty_print(self):
        number = PhoneNumber("2234567890")
        self.assertEqual(number.pretty(), "(223) 456-7890")

    def test_pretty_print_with_full_us_phone_number(self):
        number = PhoneNumber("12234567890")
        self.assertEqual(number.pretty(), "(223) 456-7890")

我知道如何为我的类对象创建属性,但它number是什么意思?是什么让这个有效的 Python 代码?我尝试只创建一个类似的值,但这没有用。这到底叫什么,我如何创建它?number.area_codenumber.pretty()self.number.area_code = <something here>

谢谢!

编辑:这是 unittest 文件的另一部分:

def test_cleans_the_number(self):
        number = PhoneNumber("(223) 456-7890").number
        self.assertEqual(number, "2234567890")

    def test_cleans_numbers_with_dots(self):
        number = PhoneNumber("223.456.7890").number
        self.assertEqual(number, "2234567890")

    def test_cleans_numbers_with_multiple_spaces(self):
        number = PhoneNumber("223 456   7890   ").number
        self.assertEqual(number, "2234567890")

这部分不是意味着这number是一个属性吗?这就是为什么我误解了前面引用的部分。unittest 文件似乎以number两种不同的方式使用,而我在前一部分没有抓住它!

标签: pythonobjectattributes

解决方案


推荐阅读