![]() |
1
3
不要迷恋面向对象——毕竟Python支持多种范式!把用户定义的类型(AKA类)看作是构建块,它逐渐为您提供一种更接近您的域的“语言”,而不是通用语言/库原语。 表演 一些东西(在您将提供的任何接口的命令下——命令行、RPC、web、GUI等等)——这些可能是模块级函数以及包含在某个类中的方法。如果您需要多个实例,并且最有可能的情况是操作涉及到更新“state”(类的实例变量比全局变量好得多)或者继承和/或极射开始起作用,那么您肯定需要一个类;但是,没有一个先验的理由去选择类而不是函数。 如果你发现自己在写静态方法,渴望一个单例(或Borg)设计模式,写一个没有状态的类(仅仅是方法)——这些都是“代码气味”,应该提示你检查你是否真的需要一个类来处理你的代码子集,或者更确切地说,您是否可能过于复杂的事情,应该使用一个模块的功能,为您的代码的一部分(有时经过适当的考虑,你会发现一些不同的原因,喜欢一个类,这也没关系,但关键是,不要只是选择一个类而不是一个模块w/函数“反射”,没有批判性的思考它!)。 |
![]() |
2
1
您可以创建一个扑克类,将这些绑定在一起,并初始化
|
![]() |
Schadre · C-plus编码错误 2 年前 |
![]() |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 3 年前 |
![]() |
A_K · 使用cat或打印方法打印部分内容的子集闭包 3 年前 |
![]() |
Mo Fatah · 如何使用Python类打印数独板? 3 年前 |