找到 10786 篇文章 相关 Python

如何在继承中扩展多个 Python 类?

Rajendra Dharmkar
更新于 2019-07-30 22:30:21

391 次浏览

根据 Python 文档,'super' 可以帮助在继承中扩展多个 Python 类。它返回一个代理对象,该对象将方法调用委托给类型的一个父类或同级类。这对于访问在类中已被覆盖的继承方法很有用。搜索顺序与  getattr() 使用的顺序相同,除了类型本身会被跳过。换句话说,对 super 的调用会返回一个伪对象,该对象将属性查找委托给继承链中位于您上方的类。需要注意的几点:这对于旧式类不起作用。您需要传递您自己的类和 ... 阅读更多

Python 类和类属性何时被垃圾回收?

Rajendra Dharmkar
更新于 2019-07-30 22:30:21

335 次浏览

类属性在最后一个引用消失之前一直存在。全局变量在最后一个引用消失之前也一直存在。这两者都不保证在程序的整个持续时间内存在。此外,在模块范围内定义的类是全局变量。因此,类(以及隐含的属性)在那种情况下具有与全局变量相同的生命周期。如果当前没有类的实例处于活动状态,则如果其引用计数变为零,则类及其类属性可能会被垃圾回收。

如何序列化 Python 类?

Rajendra Dharmkar
更新于 2020-06-16 08:35:42

300 次浏览

对象序列化和反序列化是任何非平凡 Python 程序的常规方面。保存到文件、读取配置文件、响应 HTTP 请求,都涉及对象序列化和反序列化。序列化和反序列化涉及各种方案、格式和协议来流式传输 Python 对象并在以后完整地获取它们。您选择的序列化方案、格式或协议决定了程序运行的速度以及程序的安全性。让我们使用 Python 对象的字典进行序列化。类也是 Python 对象。我们使用名为 pickle 的 Python 模块及其方法 pickle.dumps(object)。foo = dict(int_list=[3, 4, 5],  text='Hello World', ... 阅读更多

您是否建议在一个文件中定义多个 Python 类?

Rajendra Dharmkar
更新于 2023-09-09 23:21:58

3K+ 次浏览

Python 不仅限于基于类 - Python 中代码分解的基本单位是模块。模块是一个独立的事物,可能包含一两个与之密切相关的类。模块也可能包含函数以及类。在 Python 中,有一个规则  一个模块=一个文件。在 Python 中,如果您将自己限制为每个文件一个类(在 Python 中这并不禁止),您最终可能会得到大量的小文件 - 不容易跟踪。因此,根据场景和方便性,Python 中每个文件可以有一个或多个类。阅读更多

是否有任何工具可以像 JAXB 对 Java 所做的那样将 XSD 文件转换为 Python 类?

Rajendra Dharmkar
更新于 2019-07-30 22:30:21

870 次浏览

我建议使用 generateDS 将 XSD 文件转换为 Python 类。在我看来,这是一个很好的工具,可以满足上述目的。它(generatS)使用所有方法(setter 和 getter、导出到 XML、从 XML 导入)生成 Python 类。它做得很好,并且运行良好!。

类变量在多重继承 Python 类中是如何工作的?

Rajendra Dharmkar
更新于 2020-06-16 09:04:20

368 次浏览

在 Python 中,一个类可以从多个基类派生。这称为多重继承。在多重继承中,所有基类的特性都被继承到派生类中。多重继承的语法类似于单一继承。class Super1:     pass class Super2:     pass class MultiDerived(Super1, Super2):    pass在多重继承场景中,任何指定的属性首先在当前类中搜索。如果未找到,则搜索将以深度优先、从左到右的方式继续进入父类,并且不会重复搜索相同的类。因此,在上面 MultiDerived 类的示例中,搜索顺序为 ... 阅读更多

Python 类中是否有“私有”变量?

Rajendra Dharmkar
更新于 2019-07-30 22:30:21

2K+ 次浏览

Python 类中本身没有“私有变量”。默认情况下,Python 中的所有变量和方法都是公共的。有时通过使用双下划线 __ 前缀来模拟私有变量,以变量的名称为前缀。这使得这些变量在包含它们的类的外部不可见或不容易可见。这是通过名称混淆实现的。这些“私有变量”实际上并不安全或私密,因为可以通过使用某些变通方法代码来访问它们。因此,使用单下划线 _(半私有)和双下划线 __(完全私有)作为变量名称的前缀,使它们难以 ... 阅读更多

如何在 Python 中获取实例的类名?

Sarika Singh
更新于 2022-11-23 07:17:55

6K+ 次浏览

面向对象的程序设计,包括类和对象的概念,得到了 Python 的良好支持。它提供了一个清晰的程序结构和简单的代码修改。由于类的可共享性,代码可以重用,并提供抽象、封装和多态性的许多好处。Python 类是用于在 Python 中创建对象的“蓝图”。在 Python 中获取实例的类名要确定 Python 实例的类名,有两种方法 - 使用 type() 函数和 __name__ 函数。使用 __class__ 和 __name__ 的组合。一个唯一的内置变量 ... 阅读更多

解释 Python 类方法链

Sarika Singh
更新于 2022-11-23 08:10:56

14K+ 次浏览

在 OOP 语言中,方法是可以执行特定任务以产生所需输出的代码片段。方法是在类内部创建的,并由类的对象调用或调用。方法在编程中非常有用,因为它们通过将复杂代码分解成可管理的块来为代码提供模块化。方法可以独立于其他方法运行,从而可以轻松检查程序中的各个功能。Python 中的方法链方法链是一种编程风格,其中依次调用多个方法调用。它消除了在 ... 阅读更多

我们如何引用 Python 类属性?

Rajendra Dharmkar
更新于 2020-06-16 06:17:38

631 次浏览

来自 Python 文档 - 类对象支持两种操作:属性引用和实例化。属性引用使用 Python 中所有属性引用的标准语法:obj.name。有效的属性名称是在创建类对象时类命名空间中存在的所有名称。因此,如果类定义如下:class MyClass: """一个简单的示例类""" i = 12345 def f(self): return 'hello world'那么 MyClass.i 和 MyClass.f 是有效的属性引用,分别返回一个整数和一个函数对象。类属性也可以被赋值,因此您可以通过... 阅读更多

广告