我是一名正在研究python细微差别的新程序员.我的问题是,python中的文字究竟是什么?我在谷歌和python文档中搜索答案,但谷歌只是引用字符串文字,而python文档没有明确说明文字是什么.我遇到了这个页面http://www.dalkescientific.com/writingings/NBN/python_intro/literals.html,提供了以下答案:
对象也称为数据结构.Python附带了一些内置对象.有些经常被使用,Python可以快速制作这些对象,称为文字.文字包括字符串,unicode字符串,整数,浮点数,长列表,列表,元组和字典类型.
它是否正确?我可以假设文字只是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
(我认为这被认为是文字,而不是关键字或简单名称.)
空集没有文字,因为明显的符号{}
已经是dict
文字.Python 2没有真正的布尔文字; True
并且False
只是布尔对象的内置全局名称.元组在技术上由逗号创建,只有在需要消除表达式歧义时才需要括号; 例外是空元组()
.
有关Python 3中的一些差异,请参阅phihag的答案.
literal 是一个独立于语言的编程术语.文字是一种简洁易懂的写作方式.例如,您可以使用构造值零int()
,但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]
http://stardict.sourceforge.net/Dictionaries.php下载: {1: 'one', 2: 'two'}
集: {1, 2, 3}