Python中单引号,双引号,3个单引号及3个双引号的区别

单引号和双引号

在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如

[python] view plain copy
  1. str1 = 'python'  
  2. str2 = "python"   
str1和str2是没有任何区别的。


我们知道Python以其易用性而著名,所以刚开始看教程学习看到单引号和双引号都可以使用会以为这是Python为了方便程序员,随便用哪个就好,不用担心用错。其实,背后的原因不只是这么简单。举个例子,想想I'm a big fans of Python.这个字符串应该怎么定义。


单引号版本:

[python] view plain copy
  1. str3 = 'I\'m a big fan of Python.'  
可以注意到,原来的字符串中有一个',而Python又允许使用单引号' '来表示字符串,所以字符串中间的'必须用转移字符\才可以。字符串中间只有一个',这样写看起来还好,但是如果是We all know that 'A' and 'B' are two capital letters.这个字符串呢?
[python] view plain copy
  1. str4 = 'We all know that \'A\' and \'B\' are two capital letters.'  

怎么样,是不是看起来就很不好看,而且很容易出错了?这个时候就是双引号也可以表示字符串该体现作用的时候了。下面是str4的双引号版本:

[python] view plain copy
  1. str4_ = "We all know that 'A' and 'B' are two capital letters."  
这样是不是看起来就人性化多了?没错,这就是Python支持双引号和单引号都能用来定义字符串的原因


反之,如果字符串中有双引号,为了避免使用转义符,你可以使用单引号来定义这个字符串。比如:

[python] view plain copy
  1. str5 = 'The teacher said: "Practice makes perfect" is a very famous proverb.'  

这就是Python易用性和人性化的一个极致体现,当你用单引号' '定义字符串的时候,它就会认为你字符串里面的双引号" "是普通字符,从而不需要转义。反之当你用双引号定义字符串的时候,就会认为你字符串里面的单引号是普通字符无需转义。


3个单引号及3个双引号

实际上3个单引号和3个双引号不经常用,但是在某些特殊格式的字符串下却有大用处。通常情况下我们用单引号或者双引号定义一个字符串的时候只能把字符串连在一起写成一行,如果非要写成多行,就得在每一行后面加一个\表示连字符,比如:

[python] view plain copy
  1. str1 = "List of name:\  
  2.         Hua Li\  
  3.         Chao Deng"  
而且即使你这样写也不能得到期望的输出:

[python] view plain copy
  1. List of name:  
  2. Hua Li  
  3. Chao Deng  

实际上输出是下面这样的:

[python] view plain copy
  1. >>> str1 = "List of name:\  
  2. ...         Hua Li\  
  3. ...         Chao Deng"  
  4. >>> print(str1)  
  5. List of name:        Hua Li        Chao Deng  

那么该如何得到我们期望的一行一个名字的输出格式呢?这就是3个引号的作用了:

[python] view plain copy
  1. >>> str1 = """List of name: 
  2. ... Hua Li 
  3. ... Chao Deng 
  4. ... """  
  5. >>> print(str1)  
  6. List of name:  
  7. Hua Li  
  8. Chao Deng  


虽然我们也可以通过给字符串加上\n实现:

[python] view plain copy
  1. >>> str1 = "List of name:\nHua Li\nChao Deng"  
  2. >>> print(str1)  
  3. List of name:  
  4. Hua Li  
  5. Chao Deng  
但是这样在输入的时候看起来就乱了很多不是么?所以这种情况下尽量使用3个引号,至于3个单引号还是双引号都是一样的,只需要注意如果字符串中包含有单引号就要使用双引号来定义就好了。


而且使用3个引号还有一个特别棒的作用就是:加注释!

[python] view plain copy
  1. >>> str1 = """ 
  2. ... List of name: 
  3. ... Hua Li # LiHua 
  4. ... Chao Deng # DengChao 
  5. ... """  
  6. >>> print(str1)  
  7.   
  8. List of name:  
  9. Hua Li # LiHua  
  10. Chao Deng # DengChao  
如果要实现这种输出效果,仅仅使用单引号或者双引号还能实现吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 316. 去除重复字母 / 1081. 不同字符的最小子序列(单调栈)

文章目录1. 题目2. 解题1. 题目 LC 316: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入&#…

VSS 请求程序和 SharePoint 2013

Windows Server 中的 VSS 可用于创建可备份和还原 Microsoft SharePoint Foundation 的应用程序。VSS 提供了一个基础结构,使第三方存储管理程序、业务程序,以及硬件提供程序进行合作,以创建和管理卷影副本。基于此基础结构的解决方案可以使用…

Confluent介绍及其使用

1 confluent介绍 Confluent是用来管理和组织不同数据源的流媒体平台,可以实时地把不同源和位置的数据集成到一个中心的事件流平台。并且很可靠、性能很高。 Confluent目前提供了社区版(免费)和商业版(收费)两个版本&…

如何使用 Pylint 来规范 Python 代码风格

Pylint 是什么 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考资料)和有潜在问题的代码。目前 Pylint 的…

LeetCode 809. 情感丰富的文字

文章目录1. 题目2. 解题1. 题目 有时候人们会用重复写一些字母来表示额外的感受,比如 "hello" -> "heeellooo", "hi" -> "hiii"。 我们将相邻字母都相同的一串字符定义为相同字母组,例如:&qu…

confluent connect写出到ES及ClickHouse

1 连接Elasticsearch测试 1.1 启动confluent /home/kafka/.local/confluent/bin/confluent start This CLI is intended for development only, not for production https://docs.confluent.io/current/cli/index.htmlUsing CONFLUENT_CURRENT: /tmp/confluent.swpIapNw Sta…

tomcat内存溢出问题解决思路

1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数: window下, 在catalina.b…

网站部署nginx--uwsgi

网站代码写完之后就是项目部署,主要包括两个方面: 1.nginx安装与配置: 1、Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位。 一、安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl open…

天池 在线编程 滑动数独(滑动窗口)

文章目录1. 题目2. 解题1. 题目 描述 给定一个 3xn的矩阵 number,并且该矩阵只含有1到9的正整数。 考虑有一个大小为 3x3 滑动窗口,从左到右遍历该矩阵 number, 那么该滑动窗口在遍历整个矩阵的过程中会有n-2个。 现在你的任务是找出这些滑…

TIGK监控平台介绍

1 概述 众所周知监控平台对大数据平台是非常重要的,监控是故障诊断和分析的重要辅助利器,在发生事故之前就能预警,最大限度降低系统故障率。   监控系统我们可以分为业务层面,应用层面,系统层面 1.1 业务层面 业务系…

有意思的网站

谱聚类 http://blog.pluskid.org/?p287 Qt Graphics View 框架 http://yleesun.blog.163.com/blog/static/2941340220096110165817/ 谷歌编码规范 http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 匈牙利命名法 http://blog.csdn.net/buglu/article/details/…

天池 在线编程 队列检查(排序)

文章目录1. 题目2. 解题1. 题目 描述 班上的学生根据他们的年级照片的身高升序排列&#xff0c;确定当前未站在正确位置的学生人数 数组长度 < 10^5示例 输入: heights [1,1,3,3,4,1]输出: 3解释: 经过排序后 heights变成了[1,1,1,3,3,4]&#xff0c;有三个学生不在应在…

celery异步执行任务在Django中的应用实例

1. 创建django项目celery_demo, 创建应用demo: django-admin startproject celery_demo python manage.py startapp demo2.在celery_demo模块中创建celery.py模块, 文件目录为: celery.py模块内容为: from celery import Celery from django.conf import settings import os#…

Spring自学教程-注解的使用(三)

一、java中的注解定义注解下面是一个定义注解的实例。Target(ElementType.TYPE)Retention(RetentionPolicy.RUNTIME)DocumentedInheritedpublic interface Description { String value();}其中的interface是一个关键字&#xff0c;在设计annotations的时候必须把一个类型定义为…

Django单元测试

一.前言/准备 测Django的东西仅限于在MTV模型。哪些可以测&#xff1f;哪些不可以。 1.html里的东西不能测。①Html里的HTML代码大部分都是写死的②嵌套在html中的Django模板语言也不能测&#xff0c;即使有部分逻辑。 但写测试用例时至少要调用一个类或者方法。模板语言没有出…

Telegraf安装及使用

1 安装 1.1 创建用户 &#xff08;1&#xff09;添加用户 # useradd tigk # passwd tigk Changing password for user tigk. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated suc…

天池 在线编程 中位数

文章目录1. 题目2. 解题1. 题目 描述 给定一个长度为N的整数数组arr 返回一个长度为N的整数答案数组ans ans[i] 表示删除arr数组第i个数后&#xff0c;arr数组的中位数 N为偶数 2 < N < 10^5 示例 输入:[1,2,3,4,5,6] 输出:[4,4,4,3,3,3] 解释:删去1后 剩下的数组为[…

自动化运维Shell课堂笔记

1、课程回顾 2、课程大纲 1、shell编程 开发和运维 shell基础知识 shell变量 shell表达式 shell流程控制语句 2、代码发布 项目周期 代码部署的方式 代码部署流程 服务器环境部署 手工方式部署代码 脚本方式部署代码 3、shell 3.1、开发和运维 3.1.1 开发 开发是什么&…

InfluxDB安装及使用

1 安装 1.1 Tar包安装 &#xff08;1&#xff09;获取tar包 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_amd64.tar.gz&#xff08;2&#xff09;解压tar包   tar xvfz influxdb-1.8.0_linux_amd64.tar.gz $ su - tigk $ tar xvfz /opt/packa…

倒排索引原理和实现

关于倒排索引 搜索引擎通常检索的场景是&#xff1a;给定几个关键词&#xff0c;找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型&#xff0c;通过这个模型我们可以很方便知道某篇文档包含哪些关键词&#xff0c;某…