python存储对象的数组_Python:在2d数组中存储对象并调用其方法
我正在尝试制作一个象棋应用程序。代码如下:#file containing pieces classes
class Piece(object):`
name = "piece"
value = 0
grid_name = "____"
class Pawn(Piece):
# Rules for pawns.
#If first move, then can move forward two spaces
name = "Pawn"
value = 1
grid_name = "_PN_"
first_move = True
#Main file
from Piece import *
class GameBoard:
pieces = []
grid = [][]
def __init__(self):
self.grid[1][0] = self.pieces.append(Pawn())
currentBoard = GameBoard()
我想为位于grid[1][0]的对象调用value变量
它看起来像:
^{pr2}$
这段代码不起作用,这说明我缺少一些关于对象和变量范围的信息。这在Python中是可能的吗?在
编辑-解决方案
我确实找到了一个解决方法,使用网格列表保存对工件列表中对象索引的引用。代码如下:class GameBoard:
# initialize empty board
grid = [["____" for i in range(8)] for j in range(8)]
pieces = []
def __init__(self):
self.grid[0][0] = 0
self.grid[0][1] = 1
self.grid[0][2] = 2
self.grid[0][3] = 3
self.grid[0][4] = 4
self.grid[0][5] = 5
self.grid[0][6] = 6
self.grid[0][7] = 7
self.grid[1][0] = 8
self.grid[1][1] = 9
self.grid[1][2] = 10
self.grid[1][3] = 11
self.grid[1][4] = 12
self.grid[1][5] = 13
self.grid[1][6] = 14
self.grid[1][7] = 15
pieces = []
pieces.append(Pawn())
#grid will return the integer which can be passed to the other list to pull an
#object for using the .value attribute
print pieces[currentBoard.grid[1][0]].value
python存储对象的数组_Python:在2d数组中存储对象并调用其方法相关推荐
- python列表去掉特定项_python实现删除列表中某个元素的3种方法
python中关于删除list中的某个元素,一般有三种方法:remove.pop.del: 1.remove: 删除单个元素,删除首个符合条件的元素,按值删除 举例说明: ? [1, 3, 4, 5, ...
- python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法
python输入一个正整数(位数不限),将其倒序输出def inversenum(num) numlist=liststr(nun) while numlist[-1]='0': numlist. p ...
- python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...
- python class函数报错_Python 的函数是第一类 First-Class 对象
Python的函数是第一类对象(first-class object).你可以把一个函数复制给变量,或者把函数存储在一个结构中.可以像参数一样把函数传递进另一个函数,还可以从一个函数中返回另一个函数. ...
- python遍历字符串数组_Python遍历numpy数组的实例
Python遍历numpy数组的实例 在用python进行图像处理时,有时需要遍历numpy数组,下面是遍历数组的方法: [rows, cols] = num.shape for i in range ...
- python中如何定义数组_python如何定义数组
展开全部 Python数组还有一个变态的使用2113方法,就是调用时可以不按参5261数顺序,对于我们掌握怎样正4102确创建1653Python数组是很有帮助的,而且也可从中学到不少编程技巧,例如委 ...
- python输入input数组_python怎么输入数组
python怎么输入数组? python输入数组 一维数组:arr = input("") //输入一个一维数组,每个数之间使空格隔开 num = [int(n) for n in ...
- python中input数组_python – 在NumPy数组中搜索序列
假设我有以下数组: array([2, 0, 0, 1, 0, 1, 0, 0]) 如何获得我出现值序列的索引:[0,0]?因此,这种情况的预期输出将是:[1,2,6,7]. 编辑: 1)请注意[0, ...
- python输入数组_python怎么输入数组
python怎么输入数组? python输入数组 一维数组:arr = input("") //输入一个一维数组,每个数之间使空格隔开 num = [int(n) for n in ...
- python 数组添加数组_Python添加到数组
python 数组添加数组 Python doesn't have any specific data type as an array. We can use List that has all t ...
最新文章
- springboot 访问httpclient接口
- 奥比中光Orbbec Astra Pro体感摄像头“标定全过程”
- php sf框架,GitHub - YanCastle/sf: php swoole framework
- 搭建认证服务器 - Spring Security Oauth2.0 集成 Jwt 之 【密码认证流程】 总结
- D3 updateenterexit
- Android 设置 横屏 竖屏 (转)
- C++课堂作业_02_PAT1025.反转链表
- 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXX'中的标识列指定显式值。...
- Win10安装pdf虚拟打印机的方法
- CTU Open Contest 2019 -A-Beer Barrels
- ODC V3.2.0 新版本发布 | 着重用户体验,挑战权限管控业务场景
- JAVA的stream流操作详细解析
- 流量矩阵常见的两种估计方法对比
- 压力引起焦虑竟是因为免疫细胞被“压垮”
- 知乎高赞:无人驾驶什么时候才会凉凉,估计还要多久?
- PyQt实现按钮控件的拖动效果,利用鼠标移动事件实现。
- JDK JRE JVM ===》JavaSE 标准版
- 病毒预报:Trojan_Generic.F
- 02604---打印机 toner灯亮
- BIOS知识枝桠—— Library
热门文章
- 2018acm-icpc宁夏邀请赛后记
- 怎样查看Jdk是32位还是64位
- IP地址的分类——a,b,c 类是如何划分的
- root 链接ftp
- 有原创保护能力的公众帐号可申请页面模版功能和图文消息正文插入历史群发链接...
- php中isset() , unnset(), empty()函数
- 计算机网络——链路层之流量控制和可靠传输机制
- linux的驱动开发——交叉编译器
- bat复制文件到指定目录同名_scp复制文件时排除指定文件
- oracle.01081 cannot,ORA-01081: cannot start already-running ORACLE - shut it down first