python - 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_code
number.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
两种不同的方式使用,而我在前一部分没有抓住它!
解决方案
推荐阅读
- python - 将无人机 (UAV) 入侵检测数据集下载并导入 Jupiter Notebook
- node.js - Express 多路由匹配引发错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头
- javascript - 减少():类型“数字”不可分配给类型“项目”
- r - 无论数据框如何,都在 ggplot 上放置一个点
- testing - 使用 Testcafe 时无法在调试模式下编辑付款 iframe
- google-apps-script - 在其他 Google 表格标签中搜索数据并报告它出现在哪个标签中?
- c# - if 语句模式
- javascript - 如何使用 Express 在 javascript 中进行一般补丁?
- c# - 如何将用户输入表单的文本框动态添加到 C# GUI?
- javascript - 如何在 react-static 中为每个页面生成单独的 css 文件