Python中的单引号和双引号是否存在区别

在使用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/86796664

在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗?

简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串。但是这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少转义字符的使用,是程序看起来更简洁,更清晰。

举个两个例子:

1、包含单引号的字符串

假如你想定义一个字符串my_str,其值为: I'm a student,则可以采用如下方式,通过转义字符 \ 进行定义

my_str = 'I\'m a student'
也可以不使用转义字符,利用双引号直接进行定义

my_str = "I'm a student"


2、包含双引号的字符串

假如你想定义一个字符串my_str,其值为: Jason said "I like you" ,则可以采用如下方式,通过转义字符 \ 进行定义

my_str = "Jason said \"I like you\""
也可以不使用转义字符,利用单引号直接进行定义

my_str = 'Jason said "I like you"'
通过这种方式,在合适的场景下采用单引号,或者双引号,是不是可以非常有效的避免转义字符的使用,并且可以使代码看起来更加的简洁清晰,易懂呢?

除此以外,下面这篇还解释了三单引号和三双引号的区别

https://blog.csdn.net/JohnyHe/article/details/83461266?depth_1-utm_source=distribute.pc_relevant_right.none-task&utm_source=distribute.pc_relevant_right.none-task

------------------------------------------------------------------------手动分割线------------------------------------------------------------------------

来补充一些容易出错的引号使用的问题:

1.在字符串类型中,单引号、双引号和三引号(''' '''或者"""  """)作用基本相同,但是三引号可以换行。

2.特殊字符的处理:

(1)控制字符,用转义字符表示。比如,要输出路径E:\Python\2016\Ch2,则print('E:\\Python\\2016\\Ch2')

(2)字符串本身含有引号的处理:

a.字符串含有单引号,则用双引号括住;

b.字符串含有双引号,则用单引号括住;

c.两种都有时,采用三引号,但是不能有歧义,如下面的例子里给出的最后一种三引号和双引号在一起就会报错。

所以除了三引号外,更一般的做法是采用\'或\"进行转义,根据最外面句子的引号是双引号或者单引号来变化。

(3).非转义字符的处理:

当要输出的字符串本身包含\,其后面的内容又会被当做转义字符操作时(如\n,\t),采用r"或R",不进行转义。

要输出的内容部分需要转义,部分不需要转义时采用+连接两部分内容。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值