我们都知道python中引号是用来定义和表示字符串的。但是python中的引号种类又包括了单引号”、双引号””、三个单引号”’ ”’、三个双引号””” “””等好几种形式。下面具体说一下这些不同引号的用法和使用习惯上的区别。

1.单引号和双引号的区别

单引号双引号都是用来表示字符串,在一般情况下两者没有任何差别,根据自己的使用习惯就好。str1='I love Python'

str2="I love Python"

print(str1) #输出结果:I love Python

print(str2) #输出结果:I love Python

但是对于新手来说,一定要注意区别中英文写法,所有的python中的符号格式都应该是英文写法,如果错写成中文格式,就会报错。str1=‘I love Python’

str2=“I love Python”

print(str1)

print(str2)

# File "F:/10python学习/python爬虫/test/test_scrapy/test2.py", line 1

# str1=‘I love Python’

# ^

#SyntaxError: invalid character in identifier

单引号双引号可以相互内嵌。这个功能很方便,我们会经常用到。下面举例说明。

有时候我们会碰到这样的一个情况,就是字符串本身就已经带着单引号或者双引号了。这个情况下如果还用一样的符号就会报错,因为python在读取字符串时会读取第一个引号闭环,这样就导致后续的无法读取为字符串引发报错,例如:str1='I love 'python''

# File "F:/10python学习/python爬虫/test/test_scrapy/test2.py", line 1

# str1='I love 'python''

# ^

# SyntaxError: invalid syntax

我们本意是python为特有名词,加引号,但是由于都是单引号,这样python读取的时候只会把前面的’I love’读成字符串,后面的python没有指定数据类型,因此报错。

碰到这种情况的话,有两种解决方法。一个是在引号前添加转译符\ ,将内部引号读成字符串内部格式而不是读成python自认的字符串标识,可以写成:str1='I love\'python\''

print(str1) #输出结果:I love'python'

另一种办法就是将引号样式分开,用双引号内嵌单引号的形式来表示字符串,这样python会把整个双引号的内容读成一个字符串,而忽略里面的单引号的作用。例如:str1="I love 'python'"

str2='I love "python"'

print(str1) #输出结果:I love'python'

print(str2) #输出结果:I love "python"

这样就避免了在字符串中添加各种转译符导致字符串可读性变差的问题,一般情况下都建议采用这种方式来表示带内部引号的字符串。

2. 三个引号的用法

三个引号不如单双引号常见,但是其用法也很重要,是规范化代码,增加可读性非常重要的符号。

三个引号一般在三个场景中出现。

一是对函数、类等进行注释性的描述,让其他人能迅速了解你的类和函数的作用。这是python一个代码写法上约定俗成的方法。from random import randint

class Die():

"""掷骰子"""

def __init__(self,die_number=6):

self.die_number=die_number

def roll(self):

return randint(1,self.die_number)

二是进行多行注释。 我们都知道Python中注释是井号 #,但是如果你需要描述多行注释的时候,就需要每行都写一个 # ,这时就可以使用三个双引号来表示:#注释1行

#注释2行

#注释3行

#注释4行

"""

注释1行

注释2行

注释3行

注释4行

"""

三是字符串中有多行内容,如果使用单个引号的话就需要在每行后增加换行符\n,不然会报错,而使用三个引号则可以保证所见即所得,可读性强,方便快捷。str1="I \nlove \npython"

str2="""

I

love

python

"""

print(str1)

print(str2)

输出结果:

I

love

python

I

love

python

所以如果文本内容涉及很多行的话,用三个双引号就对了。

总结一下:

1.单双引号用来表示单个字符串,使用方法一致,可相互内嵌。

2.三个引号一是用于函数、类的注释,而是用于多行注释,三是用于多行字符串的定义。多用三个双引号,三个单引号较少使用。

python中3个单引号,Pyhton3中单引号、双引号、三个引号的用法和区别相关推荐

  1. 【音频处理】python将两个单声道wav音频合成一个双声道wav音频_立体声感

    python将两个单声道wav音频合成一个双声道wav音频_立体声感 环境相关 编写目的 录音代码 单通道音合成双通道音频代码 在以下内容中,若有任何错误和不足,欢迎读者进行指正,不尽感激! 环境相关 ...

  2. python中3个单引号_Python中单引号,双引号,3个单引号及3个双引号的区别

    单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如 str1 = 'python'str2= "python" str1和str2是没有任何区别 ...

  3. python 怎么输入单引号_在python中如何输入单引号

    在Python中'...'和"..."是完全一样的,但不能出现'..."和"...'这种情况. 而将其混合使用会有很多意想不到的效果: 具体规则如下: 若字符串 ...

  4. python中不同类型的数据不能相互运算_Python第三课——数据类型与运算(2)

    hello大家好,我是你们的小蒟蒻鸭,终于终于有时间写博客了(虽然刚开始期末复习),真的非常非常抱歉,拖更太厉害了.反正还有一个月不到小蒟蒻就要放暑假了!!!(激动.jpg),蒟蒻保证会一周两篇,绝不 ...

  5. python中两个集合的运算并交补_三种方式实现 Python 中的集合的交、并、补运算...

    文章目录 三种方式实现 Python 中的集合的交.并.补运算 一 背景 集合这个概念在我们高中阶段就有所了解,毕业已多年,我们一起回顾一下几个集合相关的基本概念吧? 集合是指具有某种特定性质的具体的 ...

  6. python中myf什么意思_剑指Offer-Python题解(三)

    剑指Offer-Python题解(三) 45 扑克牌顺子 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌 ...

  7. python中哪些是无序_Python笔记 【无序】 【三】

    #打开文件 os.open(file,flags[,mode]); file -- 要打开的文件 flags -- 该参数可以是以下选项,多个使用 "|" 隔开: os.O_RDO ...

  8. python中exists什么意思_python:os.path.exists(path) 和 os.path.lexists(path) 的区别

    题目: python:os.path.exists(path) 和 os.path.lexists(path) 的区别 os.path.exists(path) Return True if path ...

  9. java单引号 python_单引号与Python中的双引号

    我喜欢在用于插值的字符串或自然语言消息中使用双引号,对于小符号类型的字符串使用单引号,但是如果字符串包含引号,或者如果我忘记,则会打破规则. 对于正则表达式,我使用三重双引号作为docstrings和 ...

  10. python中gbk字符原因报错_不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码...

    原标题:不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码 程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA.可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广, ...

最新文章

  1. zhs16gbk对应mysql_[Oracle] 彻底搞懂Oracle字符集
  2. 让bat异常之后不直接关闭窗口的办法.
  3. html中的插入特殊符号的方法,在Word2016中插入特殊符号的方法
  4. redis主从复制原理、断点续传、无磁盘化复制、过期key处理
  5. Java switch case
  6. 世界上最奇异的10种树,你都见过吗?
  7. KNIME二次开发的环境配置安装过程
  8. java checkbox数组_Java中的复选框数组
  9. 华为价值评价体系的四个基本假设
  10. c++采集声卡输出_使用Core Audio实现对声卡输出的捕捉
  11. 栈和队列的顺序和链式存储结构
  12. android 监听飞行模式,如何在Android上检测飞行模式?
  13. 数据库及基本表的建立
  14. 永硕E盘 - ys168.com 免费网盘右侧广告关闭方法
  15. mysql消息已读未读_Redis实现信息已读未读状态提示
  16. 一个关于动漫的小程序
  17. Linux 配置git同步GitHub代码
  18. 前端实现打电话、发短信邮件
  19. An unexpected error has been detected by Java Runtime Environment
  20. css 设置文字强制不换行

热门文章

  1. 论文中怎么写F检验值
  2. 计算机管理格式化硬盘,磁盘管理格式化硬盘出错的解决方法
  3. 面试必问为什么想做运营?做运营需要具备哪些特质或素质?
  4. python列表相加
  5. 求和问题总结(leetcode 2Sum, 3Sum, 4Sum, K Sum)
  6. lvds输入悬空_MAX 10高速LVDS I/O用户指南
  7. 路由器和交换机的区别
  8. 路由器和交换机的作用及区别,不再为路由器的选择而烦恼
  9. 为帮助建筑和设施管理者满足保持社交距离的需求,Bentley 软件公司开放对 LEGION Simulator 和 OpenBuildings Station Designer 的完全访问权限,并在
  10. 每日英语--Week6