python中的文字是什么?

时间:2015-12-09 21:13:23

标签: python

我是一名正在研究python细微差别的新程序员。我的问题是,python中的文字究竟是什么?我在谷歌和python文档中搜索答案,但谷歌只是引用字符串文字,而python文档没有明确说明文字是什么。我遇到了这个页面http://www.dalkescientific.com/writings/NBN/python_intro/literals.html,提供了以下答案:

  

对象也称为数据结构。 Python附带了一些内置对象。有些经常被使用,Python可以快速制作这些对象,称为文字。文字包括字符串,unicode字符串,整数,浮点数,长整数,列表,元组和字典类型。

这是对的吗?我可以假设文字只是python内置对象的另一个术语吗?还有更多的文字没有在描述中涵盖?我的印象是有二元文字这样的东西,而且布尔也被认为是文字。

4 个答案:

答案 0 :(得分:23)

文字是解析器识别为直接编写对象的语法。 Python 2中的一些示例:

  • -3-2-10123int文本)
  • 2+3j0+5j2j-3-5jcomplex文字)
  • 3.5-2.7float文字)
  • """hello"str文字)
  • u""u"hello"unicode文字)
  • [][1,2]list文字)
  • ()(1,)(1,2)tuple文字)
  • {}{'a': 2}dict文字)
  • {1,2,3}(在Python 2.7中引入的set文字)
  • None(我认为这被视为文字,而不是关键字或简单名称。)

空集合没有文字,因为明显的符号{}是 已经dict字面。 Python 2没有真正的布尔文字; TrueFalse只是布尔对象的内置全局名称。元组在技术上由逗号创建,只有在需要消除表达式歧义时才需要括号;例外是空元组()

请参阅phihag的答案,了解Python 3中的一些差异。

答案 1 :(得分:10)

文字is a language-independent programming term。文字是一种简洁易懂的写作方式。例如,您可以使用int()构造零值,但0更方便。

在Python中,可以使用以下文字:

  • 字符串文字,例如'Düsseldorf'u'Köln'(第一个是Python 2.x中的字节字符串文字)
  • 字节字符串文字,例如b'\x89PNG'
  • 整数文字,例如-12
  • 浮动文字,例如1.2e-19
  • Complex文字,例如1+2.3j
  • 布尔文字:TrueFalse(不是旧版(2.x)Python版本中的文字)
  • None
  • 元组:(1, 2, 3)
  • 列表:[1, 2, 3]
  • Dicts:{1: 'one', 2: 'two'}
  • 设置:{1, 2, 3}

答案 2 :(得分:2)

  

我可以假设文字只是python内置对象的另一个术语吗?

关闭。它们是编写(某些)Python内置对象的一种方式。如果你需要一个特定的数字,并且你没有从文件或用户那里读取它,或者从数据库中获取它或计算它或从另一个模块或或者......导入它你可以使用数字文字把它放在你的代码中。

[Bindable]
public class TestClass
{
    public TestClass(String name, int id)
    {
        Name = name
        Id = id;
    }
    public String Name { get; set; }
    public int Id { get; set; }
}

number = 42 这里是整数42,使用文字指定。

Python的numberTrue值(以及False)不是真正的文字,而是这些值的预定义名称。但这个概念是相似的:Python为您提供了一种将这些值直接写入代码的方法。

几乎所有编程语言都有大多数常用类型的文字。

答案 3 :(得分:1)

在这种情况下,我认为这只意味着Python解析器接受这些实体的内置语法。例如,"abc"str123int1.2float等。