首页 / 知识
在Python中扩展基类
2023-04-13 13:38:00

Extending base classes in Python我正在尝试扩展Python中的一些"基础"类:
在列表情况下它可以正常工作,因为append方法修改了"就地"对象,而不返回它。但是在int情况下,add方法不会修改外部x变量的值。我认为从self是该类的add方法中的局部变量的意义上讲,这很好,但是这使我无法修改分配给该类实例的初始值。 是否可以通过这种方式扩展类,还是应该使用基本类型定义类属性并将所有需要的方法映射到该属性? 您的两个 第一个无效,因为
与 要使第二个方法起作用,您可以定义一个
int是一个值类型,因此每次执行赋值时(例如,=的两个实例),它都不会修改您在堆上拥有的对象,而是将引用替换为赋值的右侧(即int) list不是值类型,因此不受相同规则的约束。 此页面提供了有关差异的更多详细信息:http://docs.python.org/ref/objects.html IMO,是的,您应该定义一个将int保留为实例变量的新类 我稍微扩展了xlist类,使其成为一个整数,以便可以找到一个数字的所有索引点,从而可以一次扩展多个列表,从而对其进行初始化和迭代,从而可以遍历它
整数是不可变的,您不能就地对其进行修改,因此您应该使用选项#2(因为如果没有一些技巧,选项#1是不可能的)。 |
最新内容
相关内容
linux基础命令和作用?
linux基础命令和作用?,基础,系统,单位,电脑,权威,管理,网络,设备,命令,音乐,别不信!掌握好这20条Linux基础命令,让你的操作效率直接双倍1、系linux磁盘扩展命令?
linux磁盘扩展命令?,在线,信息,扩大,风险,磁盘,虚拟机,容量,分区,目录,链接,LINUX虚拟机磁盘在线扩容不重启虚拟机里添加磁盘 检查磁盘空间:运linux文件基础命令?
linux文件基础命令?,地址,基础,管理,命令,情况,系统,工作,标准,单位,网络,linux必学的60个命令文件和目录管理:ls:列出当前目录下的内容。cd:进入linux服务器基础命令?
linux服务器基础命令?,设备,标准,工作,地址,服务,系统,信息,情况,图片,基础,怎么使用linux命令重启服务器1、shutdown。poweroff。init。reboolinux数据库基础命令?
linux数据库基础命令?,地址,工作,基础,系统,命令,信息,情况,工具,设备,目录,linux下基本命令使用讲解对Linux操作系统进行维护操作的实用命令linux面试基础命令?
linux面试基础命令?,系统,工作,基础,实时,认证,地址,管理系统,工具,分析,命令,linux常用的20个命令面试有哪些?cp命令,作用复制,参数如下:-a:将文linux基础命令和操作?
linux基础命令和操作?,工作,地址,基础,命令,管理,标准,系统,目录,单位,信息,linux必学的60个命令1、安装和登录命令:login、shutdown、halt、relinux中扩展命令缩写?
linux中扩展命令缩写?,网络,命令,信息,工作,管理,暂停,基础,公司,半导体,时间,许多Linux命令后面会有ctl,例如journalctl,systemctl,apachectllinux基础命令整理?
linux基础命令整理?,工作,地址,信息,系统,设备,标准,网络,基础,命令,管理,linux常用的20个命令?1、linux系统常用操作命令linux系统常用操作命linux怎么改扩展命令?
linux怎么改扩展命令?,网络,密码,情况,软件,通用,地址,中心,环境,分区,根目录,linux下如何设置扩展网卡的优先级1、从桌面右下角,网络里面进入,linux基础命令20个?
linux基础命令20个?,系统,工作,基础,命令,设备,地址,信息,标准,工具,目录,Linux常用命令用法100个1、linux常用命令如下:查看内核版本:uname -alinux入门命令基础题?
linux入门命令基础题?,工作,系统,第一,基础,管理,命令,项目,软件,人员,网络,100道Linux试题,每题1分,你能答多少分?(附答案+教程)A.bash B.ksh