找到关于 Python 的10786 篇文章

Python 类中数据隐藏是如何工作的?

Rajendra Dharmkar
更新于 2020年6月15日 10:56:42

3K+ 阅读量

数据隐藏在 Python 中,我们在属性名称前使用双下划线来使其不可访问/私有或隐藏它们。以下代码展示了变量 __hiddenVar 如何被隐藏。示例class MyClass:     __hiddenVar = 0     def add(self, increment):        self.__hiddenVar += increment        print (self.__hiddenVar) myObject = MyClass() myObject.add(3) myObject.add (8) print (myObject.__hiddenVar)输出 3 追踪 (最近一次调用最后): 11   文件 "C:/Users/TutorialsPoint1/~_1.py",第 12 行,在     print (myObject.__hiddenVar) AttributeError: MyClass 实例没有属性 '__hiddenVar'在上面的程序中,我们尝试使用对象在类外部访问隐藏变量,它抛出了一个... 阅读更多

cmp() 函数在 Python 面向对象编程中有什么作用?

Rajendra Dharmkar
更新于 2020年6月15日 09:11:48

372 阅读量

cmp() 函数cmp(x, y) 函数比较两个参数 x 和 y 的值 -cmp(x, y)返回值为 -如果 x 小于 y,则为负数。如果 x 等于 y,则为零。如果 x 大于 y,则为正数。内置的 cmp() 函数通常只返回 -1、0 或 1。但是,还有其他地方期望具有相同调用顺序的函数,并且这些函数可能会返回其他值。最好只观察结果的符号。>>> cmp(2, 8) -1 >>> cmp(6, 6) 0 >>> cmp(4, 1) 1 >>> cmp('stackexchange', ... 阅读更多

str() 函数在 Python 面向对象编程中有什么作用?

Rajendra Dharmkar
更新于 2020年6月15日 09:02:09

442 阅读量

__str__ 方法__str__ 是一种特殊方法,类似于 __init__,它返回对象的“非正式”字符串表示形式。它在调试中很有用。考虑以下使用 __str__ 方法的代码class Time:     def __str__(self):         return '%.2d:%.2d:%.2d' % (self.hour, self.minute, self.second)当我们打印一个对象时,Python 会调用 str 方法 ->>> time = Time(7, 36) >>> print time 07:36:00

repr() 函数在 Python 面向对象编程中有什么作用?

Rajendra Dharmkar
更新于 2020年6月15日 08:41:23

625 阅读量

官方 Python 文档称 __repr__() 用于计算对象的“官方”字符串表示形式。repr() 内置函数使用 __repr__() 来显示对象。__repr__() 返回对象的可打印表示形式,这是创建此对象的一种可能方式。__repr__() 对开发人员更有用,而 __str__() 则面向最终用户。示例以下代码展示了 __repr__() 的用法。class Point:    def __init__(self, x, y):      self.x, self.y = x, y    def __repr__(self):      return 'Point(x=%s, y=%s)' % (self.x, self.y) p = Point(3, 4) print p输出这将... 阅读更多

析构方法 __del__() 在 Python 中是如何工作的?

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

563 阅读量

__del__() 方法被称为析构方法。当对象被垃圾回收时,它会被调用,这发生在对该对象的所有引用都被删除之后。在一个简单的例子中,这可能是在你删除一个变量后立即发生,比如 del x,或者如果 x 是一个局部变量,则在函数结束之后。特别是,除非存在循环引用,否则 CPython(标准 Python 实现)会立即进行垃圾回收。Python 垃圾回收的唯一属性是它发生在所有引用都被删除之后,因此这可能不会立即发生,甚至... 阅读更多

构造方法 __init__ 在 Python 中是如何工作的?

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

1K+ 阅读量

__init__ "__init__" 是 Python 类中的一个保留方法。在 OOP 概念中,它被称为构造函数。当从类创建对象时,此方法会被调用,它允许类初始化类的属性。我们如何使用 "__init__"?让我们考虑一下我们正在创建一个名为 Car 的类。汽车可以有诸如“颜色”、“型号”、“速度”等属性,以及诸如“启动”、“加速”、“换挡”等方法。示例class Car(object):        def __init__(self, model, color, speed):              self.color = color              self.speed = ... 阅读更多

如何在 Python 中从超类创建子类?

Sarika Singh
更新于 2022年11月23日 08:14:02

4K+ 阅读量

在本文中,我们将讨论如何在 Python 中从超类创建子类。在继续之前,让我们先了解一下什么是类和超类。类是用户定义的模板或原型,从中创建对象。类提供了一种将功能和数据捆绑在一起的方式。通过生成一个新类,可以实现创建对象类型的新实例的能力。类的每个实例都可以与其关联的属性相关联以保留其状态。类实例还可以包含用于更改其状态的方法... 阅读更多

Python 中类和继承简介

Rajendra Dharmkar
更新于 2020年6月13日 14:01:31

416 阅读量

面向对象编程创建可重用的代码模式以防止项目中代码冗余。创建可回收代码的一种方法是通过继承,当一个子类利用另一个基类的代码时。继承是指一个类使用另一个类中编写的代码。称为子类或派生类的类继承父类或基类的方法和变量。因为子类继承自父基类,所以子类可以重用父类的代码,从而允许程序员使用更少的代码行并减少冗余。派生类的声明方式与其父类非常相似;但是,一个列表... 阅读更多

如何在 Python 中检查类属性是在给定类中定义还是派生?

Rajendra Dharmkar
更新于 2020年6月16日 07:54:05

268 阅读量

以下代码展示了属性“foo”是在类 A 和 B 中定义还是派生。示例class A:     foo = 1 class B(A):     pass print A.__dict__ #我们看到属性 foo 存在于类 A 的 __dict__ 中。所以 foo 在类 A 中定义。 print hasattr(A, 'foo') #我们看到类 A 具有该属性,但它是定义的。 print B.__dict__ #我们看到属性 foo 不存在于类 B 的 __dict__ 中。所以 foo 在类 B 中未定义 print hasattr(B, 'foo') #我们看到类 B 有... 阅读更多

如何在 Python 中检查 A 是否是 B 的超类?

Rajendra Dharmkar
更新于 2020年2月20日 12:48:09

291 阅读量

我们有如下定义的类 A 和 B -class A(object): pass class B(A): pass示例A 可以通过两种方式证明是 B 的超类,如下所示class A(object):pass class B(A):pass print issubclass(B, A) #在这里,我们使用 issubclass() 方法来检查 B 是否是 A 的子类 print B.__bases__ #在这里,我们检查 B 的基类或超类输出这将输出True (,)

广告

© . All rights reserved.