找到 34423 篇文章,关于编程

Python 类中的 Getter/Setter 方法是什么?

Niharika Aitam
更新于 2023年5月15日 13:30:49

705 次浏览

在 Python 中,我们有许多可用的方法来使我们的工作变得非常轻松和简单。在 Python 中可用的方法中,我们有两种方法,即 getter 和 setter。这些方法在 Python 的面向对象编程语言中发挥着至关重要的作用,用于隐藏私有变量。这些 Python 方法与其他面向对象编程语言中的 getter/setter 方法并不完全相同。它们在面向对象编程语言中用于数据封装。它们在以下条件下使用:Python 中的 getter/setter 用于验证获取和... 阅读更多

我们如何动态实例化不同的 Python 类?

Rajendra Dharmkar
更新于 2020年6月16日 08:29:21

820 次浏览

要实例化 Python 类,我们首先需要获取类名。这是通过以下代码实现的def get_class( kls ):     parts = kls.split('.')     module = ".".join(parts[:-1])     m = __import__( module )     for comp in parts[1:]:         m = getattr(m, comp)                     return mm 是类我们可以如下实例化此类a = m() b = m(arg1, arg2) # 将参数传递给构造函数

解释 Python 类中的继承与实例化。

Rajendra Dharmkar
更新于 2023年9月9日 23:14:33

10K+ 次浏览

继承作为一门面向对象语言,Python 支持继承,甚至支持多重继承。类可以从其他类继承。一个类可以从另一个类(称为超类)继承属性和行为方法。从超类继承的类称为子类,也称为继承类或子类。换句话说,继承是指在对现有类进行少量或没有修改的情况下定义新类。class A:        # 定义您的类 A pass class B:         # 定义您的类 B pass class C(A, B):   # A 的子类... 阅读更多

如何枚举 Python 类的函数?

Rajendra Dharmkar
更新于 2020年6月15日 11:58:49

178 次浏览

以下代码按如下方式打印给定类的函数列表示例class foo:     def __init__(self):         self.x = x     def bar(self):         pass     def baz(self):         pass print (type(foo)) import inspect print(inspect.getmembers(foo, predicate=inspect.ismethod))输出输出为  [('__init__', ), ('bar', ), ('baz', )]   

如何将字符串转换为 Python 类对象?

Rajendra Dharmkar
更新于 2023年9月9日 23:15:42

12K+ 次浏览

给定一个作为用户输入到 Python 函数的字符串,如果当前定义的命名空间中存在具有该名称的类,我想从中获取一个类对象。示例class Foobar:     pass print eval("Foobar") print type(Foobar)输出 __main__.Foobar 另一种将字符串转换为类对象的方法如下所示示例import sys class Foobar:     pass def str_to_class(str):     return getattr(sys.modules[__name__], str) print str_to_class("Foobar") print type(Foobar)输出__main__.Foobar

如何从 JSON 对象创建 Python 类?

Rajendra Dharmkar
更新于 2020年6月16日 08:38:28

1K+ 次浏览

我们可以使用 python-jsonschema-objects,它构建在 jsonschema 之上。python-jsonschema-objects 为 JSON 模式提供基于类的自动绑定,以便在 Python 中使用。我们有一个示例 json 模式如下所示schema = '''{     "title": "示例模式",     "type": "object",     "properties": {         "firstName": {             "type": "string"         },         "lastName": {             "type": "string"         },         "age": {             "description": "以年为单位的年龄", ... 阅读更多

如何在 Python 类中声明全局变量?

Rajendra Dharmkar
更新于 2023年9月9日 23:21:14

11K+ 次浏览

全局变量是一个具有全局作用域的变量,这意味着它在整个程序中都是可见且可访问的,除非被遮蔽。所有全局变量的集合称为程序的全局环境或全局作用域。我们通过在变量之前使用关键字 global 来声明一个变量为全局变量。所有变量的作用域都是声明和定义它们的块。它们只能在其声明点之后使用。示例全局变量声明示例def f():             global s             print(s)       ... 阅读更多

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

Rajendra Dharmkar
更新于 2019年7月30日 22:30:21

391 次浏览

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

何时对 Python 类和类属性进行垃圾回收?

Rajendra Dharmkar
更新于 2019年7月30日 22:30:21

335 次浏览

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

如何序列化 Python 类?

Rajendra Dharmkar
更新于 2020年6月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', ... 阅读更多

广告