在使用Python的过程中,一直在记着input中使用单引号,print中使用双引号,还经常搞混,会出错,
name = input('请输入你的姓名:') print("你好,", name) you_age = input('请输入你的出生年份:') age = 2020-int(you_age) print("你好,", name, ",你今年", age, "岁了。")
结果正常,如下:

但是仅改变最后输出的双引号为单引号,就会报错

但今天在print中无意间搞混单引号和双引号后,发现结果竟然是一致的。

其中自定义的alpha,beta,gamma为三角形的三个角,运行后的输出结果显示一致,

然后又重新回去看了上一个题,尝试换了引号中的中英文逗号,句号,然后忽然发现了问题,源代码如下:

其中报错在第二个print语句中,不知大家是否看出来了区别。
对,没错,就是第二句print中的引号的中英输入法问题,导致标识符中的字符无效。
在网上搜索查看了单引号和双引号的解释,发现不仅基本通用,而且还有很多人性化、方便的地方。
下面的解释不错,在此分享给大家。
原文链接地址:https://blog.csdn.net/kevindree/article/details/
在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗?
简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串。但是这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少转义字符的使用,是程序看起来更简洁,更清晰。
举个两个例子:
1、包含单引号的字符串
假如你想定义一个字符串my_str,其值为: I’m a student,则可以采用如下方式,通过转义字符 \ 进行定义
my_str = “I’m a student”
假如你想定义一个字符串my_str,其值为: Jason said “I like you” ,则可以采用如下方式,通过转义字符 \ 进行定义
除此以外,下面这篇还解释了三单引号和三双引号的区别
————————————————————————手动分割线————————————————————————
来补充一些容易出错的引号使用的问题:
1.在字符串类型中,单引号、双引号和三引号(”’ ”’或者””” “””)作用基本相同,但是三引号可以换行。

2.特殊字符的处理:
(1)控制字符,用转义字符表示。比如,要输出路径E:\Python\2016\Ch2,则print(‘E:\\Python\\2016\\Ch2’)

(2)字符串本身含有引号的处理:
a.字符串含有单引号,则用双引号括住;
b.字符串含有双引号,则用单引号括住;
c.两种都有时,采用三引号,但是不能有歧义,如下面的例子里给出的最后一种三引号和双引号在一起就会报错。
所以除了三引号外,更一般的做法是采用\’或\”进行转义,根据最外面句子的引号是双引号或者单引号来变化。

(3).非转义字符的处理:
当要输出的字符串本身包含\,其后面的内容又会被当做转义字符操作时(如\n,\t),采用r”或R”,不进行转义。
要输出的内容部分需要转义,部分不需要转义时采用+连接两部分内容。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221828.html原文链接:https://javaforall.net
