在Python中使用文本创建对象

2024-06-25 05:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我们可以通过以下两种方式在Python中创建对象:

>>> foolist = []
>>> footuple = ()
>>> foostring = ''
>>> type(footuple)
<type 'tuple'>
>>> type(foolist)
<type 'list'>
>>> type(foostring)
<type 'str'>
>>> foolist1 = list

或者

>>> foolist1 = list()
>>> footuple1 = tuple()
>>> foostring1 = str()
>>> type(foolist1)
<type 'list'>
>>> type(footuple1)
<type 'tuple'>
>>> type(foostring1)
<type 'str'>

第二种方法很清楚,我们几乎总是用它来创建新对象。但我无法理解第一条路的工作原理。我还可以创建另一个行为类似的类(第一种方式)?你知道吗


Tags: 对象方法type方式list原理创建对象str
1条回答
网友
1楼 · 发布于 2024-06-25 05:23:21

Second way is pretty clear, we almost always use this to create new object.

一旦程序员习惯了列表、集合、字典、元组、字符串等的语法,那么前者通常会更干净,因为字符数是有限的,可以使用它立即向集合添加元素。你知道吗

Also can I create another class that behaves in similar manner(first way)?

你不能。这是专门设计用于内置Python类型的语法。你不能像其他语言一样,创造你自己的“迷你语言”。其他编程语言(例如Haskell)允许引入aribtrary操作符。像Prolog这样的其他语言根本不把语义附加到操作符上。在某些语言中,你甚至可以介绍整个子语法。你知道吗

在Python中,语言本身是非常固定的:{}创建一个(空)字典,()空元组,'foo'"foo""""foo""",等等。所有这些都创建字符串,等等。因此解释器有一些为此而构造的语法定义。你不能(轻易地)添加额外的构造。你知道吗

当然,您可以编写某种解释器(在Python中),将字符串作为输入,从而将其转换为您自己创建的对象。或者您可以更改Python解释器的源代码(例如CPython或IPython)并添加额外的语法。但从技术上讲,您已经定义了一种新语言(Python的超集)。你知道吗

相关问题 更多 >