362 次浏览
假设您创建了一个 Vector 类来表示二维向量,当您使用加号运算符来添加它们时会发生什么?很可能 Python 会报错。但是,您可以在您的类中定义 __add__ 方法来执行向量加法,然后加号运算符将按预期工作 - 示例 实时演示#!/usr/bin/python class Vector: def __init__(self, a, b): self.a = a self.b = b def __str__(self): return 'Vector (%d, %d)' % (self.a, self.b) def __add__(self, other): return Vector(self.a + other.a, self.b + other.b) v1 = ... 阅读更多
382 次浏览
下表列出了一些您可以在自己的类中覆盖的通用功能 - 序号 方法,描述和示例调用 1 __init__ ( self [,args...] ) 构造函数(带任何可选参数) 示例调用:obj = className(args) 2 __del__( self ) 析构函数,删除一个对象 示例调用:del obj 3 __repr__( self ) 可计算的字符串表示形式 示例调用:repr(obj) 4 __str__( self ) 可打印的字符串表示形式 示例调用:str(obj) 5 __cmp__ ( self, x ) 对象比较 示例调用:cmp(obj, x)
839 次浏览
Python 自动删除不需要的对象(内置类型或类实例)以释放内存空间。Python 定期回收不再使用的内存块的过程称为垃圾回收。Python 的垃圾收集器在程序执行期间运行,并在对象的引用计数达到零时触发。对象的引用计数随着指向它的别名数量的变化而变化。当对象被分配一个新名称或放置在容器(列表、元组或字典)中时,对象的引用计数会增加。当对象使用 del 删除、其引用被重新分配或 ... 阅读更多
17K+ 次浏览
在本文中,我们将向您解释 Python 中的内置类属性。内置类属性为我们提供了有关类的信息。使用点 (.) 运算符,我们可以访问内置类属性。Python 中的内置类属性如下所示 - 属性 描述 __dict__ 包含类命名空间的字典 __doc__ 如果存在类文档类,则返回它。否则为 None __name__ 类名。 __module__ 定义类的模块名称。此属性在交互模式下为“__main__”。 __bases__ ... 阅读更多
36K+ 次浏览
要创建类的实例,您可以使用类名调用类,并传入其 __init__ 方法接受的任何参数。“这将创建 Employee 类的第一个对象” emp1 = Employee("Zara", 2000) “这将创建 Employee 类的第二个对象” emp2 = Employee("Manni", 5000)您可以使用点 (.) 运算符通过 object. 访问对象的属性。类变量将使用类名访问,如下所示 -emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount示例现在,将所有概念放在一起 - 实时演示#!/usr/bin/python class Employee: '所有员工的通用基类' empCount = 0 def __init__(self, name, salary): ... 阅读更多
2K+ 次浏览
class 语句创建一个新的类定义。类的名称紧跟在关键字 class 之后,然后是一个冒号,如下所示 -class ClassName: '可选的类文档字符串' class_suite该类具有一个文档字符串,可以通过 ClassName.__doc__ 访问。class_suite 由定义类成员、数据属性和函数的所有组件语句组成。示例以下是简单 Python 类的示例 -class Employee: '所有员工的通用基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): ... 阅读更多
类 - 用户定义的对象原型,定义一组描述该类任何对象的属性。属性是数据成员(类变量和实例变量)和方法,通过点表示法访问。类变量 - 类所有实例共享的变量。类变量在类中定义,但在类的任何方法之外。类变量不像实例变量那样经常使用。数据成员 - 类变量或实例变量,用于保存与类及其对象相关联的数据。函数重载 - 对一个函数名分配多个定义... 阅读更多
615 次浏览
假设我们必须设计一个模块,该模块首先丢弃尽可能多的空格字符,直到到达第一个非空格字符。之后,从这个字符开始,它接受一个可选的初始加号或减号,后跟尽可能多的数字,并将它们解释为数值。当 str 中第一个非空格字符序列不是有效的整数,或者由于 str 为空或仅包含空格而不存在这样的序列时,将不会执行任何转换。因此,如果输入类似于“-45”,则输出将为 -45。为了解决这个问题,... 阅读更多
1K+ 次浏览
假设字符串类似于“IWANTTOLEARNCODE”。此字符串以 Z 字形方式写入给定数量的行,例如 n。因此,模式如下所示ITAOWNOERCDALNE当我们像这样读取行时 -“ITAOWNOERCDALNE”因此,我们必须创建一个可以执行此类操作的模块,方法是获取字符串和行数。为了解决这个问题,我们将遵循以下步骤当 n = 1 时,则返回 s创建一个大小为 n 的字符串数组 arrrow := 0,down := true对于 i 的范围为 0 到字符串大小 – 1在末尾插入 s[i] ... 阅读更多
4K+ 次浏览
异常可以有一个参数,它是一个提供有关问题更多信息的数值。参数的内容因异常而异。您可以通过在 except 子句中提供一个变量来捕获异常的参数,如下所示 -try: 您在此处执行操作; ...................... except ExceptionType, Argument: 您可以在此处打印 Argument 的值...如果您编写代码来处理单个异常,则可以在 except 语句中使用变量跟随异常的名称。如果您正在捕获多个异常,则可以使用变量跟随异常的元组。这 ... 阅读更多