共找到 34423 篇关于编程的文章

Python 类中 Getters/Setters 方法的用途是什么?

Niharika Aitam
更新于 2023-05-15 13:30:49

705 次浏览

在 Python 中,我们有不同的方法来让我们的工作变得非常轻松简单。在 Python 中提供的众多方法中,我们有两种方法,即 getter 和 setter。这些方法在 Python 面向对象编程语言中扮演着重要的角色,用于隐藏私有变量。Python 的这些方法与其他面向对象编程语言中的 getters/setters 方法不同。我们在面向对象编程语言中使用它们来封送数据。这些方法与以下条件一起使用Python 中的 getters/setters 用于验证获取和 ... 阅读更多

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

Rajendra Dharmkar
更新于 2020-06-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 m m 是类我们可按如下方式实例化此类a = m() b = m(arg1, arg2) # 将参数传递给构造器

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

Rajendra Dharmkar
更新于 2023-09-09 23:14:33

10000+ 次浏览

继承性Python 作为面向对象的语言,支持继承,甚至支持多重继承。类可以从其他类继承。类可以从另一个称为超类的类中继承属性和行为方法。从超类继承而来类被称为子类,也称为继承类或子类。换句话说,继承是指在几乎或不修改已有类的情况下定义一个新类。class A:        # 定义类 A pass class B:         # 定义类 B pass class C(A, B):   # A 的子类 ... Read More

如何枚举 Python 类的函数?

Rajendra Dharmkar
更新时间:2020-06-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-09-09 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-06-16 08:38:28

1K+ 次浏览

我们可以使用构建在 jsonschema 之上的 python-jsonschema-objects。 python-jsonschema-objects 为使用于 Python 的 JSON 模式提供自动的基于类的绑定。我们有以下示例 json 模式:schema = '''{     "title": "Example Schema",     "type": "object",     "properties": {         "firstName": {             "type": "string"         }, ... Read More

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

Rajendra Dharmkar
更新时间:2023-09-09 23:21:14

11K+ 次浏览

全局变量是指具有全局作用域的变量,这意味着变量在整个程序内(不存在遮盖的情况下)可见且可访问。所有全局变量的集合称为全局环境或全局作用域。我们通过在变量前使用关键字 global 来声明全局变量。所有变量的作用域为声明和定义它们所在的代码块。它们只能在声明点后使用。示例全局变量声明示例def f():             global s             print(s)       ... 阅读更多

我们如何继承 Python 中的多个类?

Rajendra Dharmkar
更新时间 30-Jul-2019 22:30:21

391 次浏览

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

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

Rajendra Dharmkar
更新时间 30-Jul-2019 22:30:21

335 次浏览

类属性保留到最后一个引用消失为止。全局变量也保留到最后一个引用消失为止。这些属性都不会保证存在于整个程序期间。此外,在模块作用域处定义的类是全局变量。因此,(隐含地)类及其属性在该示例中的生存期与全局变量相同。如果当前没有该类的实例处于活动状态,则当其引用计数变为零时,该类及其类属性可能会被垃圾回收。

如何序列化 Python 类?

Rajendra Dharmkar
更新时间 16-Jun-2020 08:35:42

300 次浏览

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

广告