*字面量是和变量相对的一组概念*,一个是**具体的值**,另一个是**值的命名容器/引用**。 想象一下你在写代码,就像在写一篇文章或一张购物清单。 **字面量,简单来说,就是你在代码里“直接写出来的值”本身。** 它代表的就是它字面上的意思,所见即所得。 看几个例子: 1. **数字字面量:** - 当你写 `age = 30`,这里的 `30` 就是一个**整数**字面量。它不是一个变量名,也不是一个计算结果,它就是数字 30 本身。 - 当你写 `price = 9.99`,这里的 `9.99` 就是一个**浮点数**(小数)字面量。它直接代表 9.99 这个值。 2. **字符串字面量:** - 当你写 `name = "张三"` 或者 `message = '你好'`,这里的 `"张三"` 和 `'你好'` 就是**字符串**字面量。它们是用引号(双引号或单引号)括起来的一段文本,直接代表这段文字内容。 3. **布尔字面量:** - 当你写 `is_student = True` 或者 `has_error = false` (在 Java/Go 等语言中),这里的 `True` 或 `true` 以及 `False` 或 `false` 就是**布尔**字面量。它们直接代表“真”和“假”这两个逻辑值。 4. **空字面量:** - 在 Python 中写 `user = None`,这里的 `None` 就是一个**空**字面量,代表“什么都没有”或“空值”。 - 在 Java 中写 `String name = null;`,这里的 `null` 也是一个**空**字面量。 **为什么要叫“字面量”?** 因为它 “literally” (字面上地,确实地)就是那个值。你写的是 `30`,它就是 30;你写的是 `"hello"`,它就是 "hello"。 **和变量有什么区别?** - **字面量** 是 **值本身**,比如 `30`, `"你好"`, `True`。 - **变量** 是 **存储值的容器(或名字)**,比如上面例子中的 `age`, `price`, `name`, `is_student`, `user`。变量可以指向不同的字面量或由表达式计算出来的值。 你可以把变量想象成一个贴了标签的盒子(比如标签是 `age`),而字面量 `30` 就是你放进这个盒子的东西。 **总结一下:** 在编程时,你直接写在代码里的、表示固定值的那些东西(如数字 `123`、文本 `"abc"`、逻辑值 `true`/`false` 等),就是字面量。它们是构成程序数据的基础元素。