首页 > 解决方案 > 有人可以解释这个 Python(变量=类型,变量=列表=列表等)吗?

问题描述

我一直在查看 Python-chess 模块的一些代码,并且看到了我从未遇到过的语法。

Color = bool
COLORS = [WHITE, BLACK] = [True, False]
COLOR_NAMES = ["black", "white"]

PieceType = int
PIECE_TYPES = [PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING] = range(1, 7)
PIECE_SYMBOLS = [None, "p", "n", "b", "r", "q", "k"]
PIECE_NAMES = [None, "pawn", "knight", "bishop", "rook", "queen", "king"]

1)这条Color = bool线的重点是什么?

2)如何COLOURS分配给两个列表?(和同样的PIECE_TYPES?)

完整代码:https : //github.com/niklasf/python-chess/blob/master/chess/init .py 相关内容从第 41 行开始

标签: python

解决方案


它只是序列解包和链式分配的组合。相当于

WHITE = True
BLACK = False
COLORS = [WHITE, BLACK]

Color = bool只是使Color引用与名称相同的值bool(即内置类型bool)。也一样PieceType;大概两者都在以后使用。

一个不那么骇人听闻的实现将使用该enum模块。就像是

from enum import Enum, IntEnum

class Color(IntEnum):
    BLACK = 0
    WHITE = 1

class Piece(Enum):
    PAWN = ("p", "pawn")
    KNIGHT = ("n", "knight")
    BISHOP = ("b", "bishop")
    ROOK = ("r", "rook")
    QUEEN = ("q", "queen")
    KING = ("k", "king")

推荐阅读