感谢邀请
楼主 是不是迷惑 quotation mark(引号) 存在的意义是什么? 它什么时候要,什么时候不要?
在正式回答 quotation mark(引号)是什么 什么时候用之前,我想多回答一些 你可能存在的疑问:
python里 单引号 和 双引号 的本质区别是什么?
其实在语言技术层面, 单引号 和 双引号 没区别。 但是在使用习惯上有一些倾向, 双引号一般用在 “可能被用来显示的字符串”上, 单引号用在功能表达式居多,例如 dict keys、regular expressions、 sql 等。
接下来正面回答楼主的问题:加上引号的作用是什么?
加上引号以后 表示引号 标注的内容 是字面值(literal value). 字面值就是 所看即所得, 'abc' 表示一个字符串 它由 三个字母a b c组成的字符串。如果不加 引号 abc代表什么呢? abc会被解析器认为是一个 名字叫 abcd 的一个变量。假设 abc 里面存的 是 'hello world!' , print abc 显示的就是 hello world!。但是 print 'abc' 显示的 就是 abc。这样我能解释清楚么?
不加引号的字面值
为什么 print 123 显示的是 123. print '123'也是显示 123? 其实这是一个有意思的现象。前者的意思是 打印数字 (一百二十三),这是一个字面值(所见即所得)。 后者打印一个由三个字符'1' '2' '3'组成的字符串。本质是不同的 虽然你看到的结果是一样。你可以做个实验 a = 123 b = '123', 然后type(a), type(b) 看一下:
a 是一个int 类型 b 是一个字符串类型。
关于 '2' 在总结一下, 123 和 '123' 分别是 int类型的字面值 和 字符串类型的 字面值
这里的涉及到 字面值 和 变量的关系,我可能说的不够全面,如果还有困惑可以私聊我。