我是一名新程序员,目前正在研究python的细微差别。我的问题是,python中的文字到底是什么?我在google和python文档中搜索了答案,但是google只是引用字符串文本,python文档并没有明确说明什么是文本。我看到这一页http://www.dalkescientific.com/writings/NBN/python_intro/literals.html提供了以下答案:
Objects are also called data structures. Python comes with some built-in objects. Some are used so often that Python has a quick way to make these objects, called literals. The literals include the string, unicode string, integer, float, long, list, tuple and dictionary types.
这是对的吗?我能假定文字只是python内置对象的另一个术语吗?是否还有其他文字未包含在描述中?在我的印象中,有一种东西是二进制文字,布尔也被认为是文字。
文字is a language-independent programming term。文字是一种简洁明了的写值方式。例如,可以用
int()
构造值0,但是0
更方便。在Python中,可以使用以下文字:
'Düsseldorf'
,u'Köln'
(第一个是Python 2.x中的字节字符串文字)b'\x89PNG'
-12
1.2e-19
1+2.3j
True
和False
(不是较旧(2.x)Python版本中的文本)None
(1, 2, 3)
[1, 2, 3]
{1: 'one', 2: 'two'}
{1, 2, 3}
接近。它们是编写Python内置对象的一种方式。如果你需要,比方说,一个特定的数字,而你不是从一个文件或从用户那里读取它,或者从数据库中获取它,或者计算它,或者从另一个模块中导入它,或者。。。您可以使用数字文字将其放在代码中。
number
这里是整数42,使用文本指定。Python的
True
和False
值(和None
)不是真正的文本,而是这些值的预定义名称。但是这个概念是相似的:Python提供了一种直接将这些值写入代码的方法。几乎所有编程语言的大多数常用类型都有文本。
文本是解析器识别为直接编写对象语法的东西。Python 2中的一些示例:
-3
,-2
,-1
,0
,1
,2
,3
(int
文字)2+3j
,0+5j
,2j
,-3-5j
(complex
文字)3.5
,-2.7
(float
文本)""
,"hello"
(str
文字)u""
,u"hello"
(unicode
文字)[]
,[1,2]
(list
文字)()
,(1,)
,(1,2)
(tuple
文字){}
,{'a': 2}
(dict
文本){1,2,3}
(set
在Python 2.7中引入的文字)None
(I认为这被视为一个文本,而不是一个关键字或简单的名称。)空集合没有文本,因为显而易见的符号
{}
已经是一个dict
文本。Python 2没有真正的布尔文本;True
和False
只是布尔对象的内置全局名称。元组在技术上是由逗号创建的,只有在需要消除表达式的歧义时,括号才是必需的;例外情况是空元组()
。关于Python 3中的一些差异,请参见phihag的答案。
相关问题 更多 >
编程相关推荐