【发布时间】:2014-05-03 13:47:08
【问题描述】:
Python 3.x 中是否有创建新类型的方法?我只能找到在 C++ 中做到这一点的方法。 (我不是说顺便添加/编辑语法)
基本上我想要做的是创建一个词法分析器,我在其中扫描输入,python 已经可以做 int 和 string,但是如果我想要另一个数据类型,比如 name,我该如何分配它以便我可以做......
例子:
# This can be done
a = "string"
type(a)
> <class, 'str'>
# How can I do this?
b = myName
type(myName)
> <class, 'name'>
【问题讨论】:
-
class declaration。或者您的意思是,您希望能够使用文字值创建名称对象,就像整数使用数字、字符串使用引号、字典使用大括号和冒号一样?我不认为你可以修改语言的语法来添加新的东西。
-
查看 PyParsing 库。它可能会帮助您进行词法分析和解析。
-
请参阅eli.thegreenplace.net/2012/03/30/… 了解类型和类的区别。您可能希望使用类而不是实现新类型。
-
如果你想创建一个没有任何关联方法或属性的唯一类型,你可以使用
type()的3参数版本
标签: python python-3.x types