Python编程——字符串的三种定义方式讲解

news2024/11/28 12:46:20

作者:Insist--

个人主页:insist--个人主页

本文专栏:python专栏

专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。

前言

上篇文章讲了python字符串的一些知识,现在大家对字符串也有了一定的了解,今天这篇文章就来讲讲python字符串的三种定义方式。

目录

一、为什么有多种定义方式

二、三种定义方式

1、单引号定义法

2、双引号定义法

3、三引号定义法

三、如何定义包含引号的字符串

第一种情况(包含双引号)

第二种情况(包含多引号)

第三种情况:使用转义字符

总结


一、为什么有多种定义方式

我们在刚接触python字符串的时候,可能都只知道用双引号来定义(''),但如果我们要定义的字符串中包含了双引号,那么python还能识别并输出出来吗?显然是不能的,那么如何解决这个问题呢?很简单,如果语句中包含双引号,那么我们用单引号就可以区分开了。

二、三种定义方式

1、单引号定义法

a = '我是单引号定义法'

如上所示,这种就叫做单引号定义法,我们可以使用单引号去将内容引起来,他也是字符串的一种。

2、双引号定义法

a = "我是双引号定义法"

如上所示,同样的,双引号引起来的也是字符串,我们可以使用双引号去将内容引起来。

3、三引号定义法

a = """我是三引号定义法"""

如上所示,三引号可能我们看着很奇怪,但他也是字符串。他有一点跟单引号和双引号定义法不同,那就是他可以定义多行字符串。

注意:三引号定义法和多行注释的写法是一样的(支持多行操作),所以说我们如果使用变量接收它,那么他就是字符串,如果不用变量去接收它,他就是多行注释。

三、如何定义包含引号的字符串

现在就来说说前面提起的问题(大标题一中的标蓝部分),那么这个情况下我们该如何定义字符窜呢?比如说我要定义一个变量a,这个变量的内容是拒绝内卷",那这个引号如何写才不会报错?对于这个问题解决方法还是很多的。

比如:如果字符串本身包含双引号,那么我们就用单引号来定义字符串。

           如果字符串本身包含单引号,那么我们就用双引号来定义字符串。

           还可以使用转义字符(\)将引号转义,让它变成普通字符串。

多的不说了,下面给大家演示一下,按照上方我将分别演示包含双引号,包含单引号以及使用转义字符来解决遇到的问题。

第一种情况(包含双引号)

a = '拒绝内卷"'

#输出结果:拒绝内卷"
#注意:输出时需要使用print来接收变量a

简单分析一下,当字符串本身包含双引号,那么我们直接使用单引号来定义字符串即可。

第二种情况(包含多引号)

a = "拒绝内卷'"

#输出结果:拒绝内卷'
#注意:输出时需要使用print来接收变量a

简单分析一下,当字符串本身包含单引号,那么我们直接使用双引号来定义字符串即可。

第三种情况:使用转义字符

a = "\"拒绝内卷"

#输出结果:"拒绝内卷
#注意:输出时需要使用print来接收变量a

也来简单分析一下,无论字符串包含单引号或者是双引号,我们都可以使用转义字符来转义,如下图,使用转义字符转义后,被转义的字符就会变成橙色(版本不同可能有所不同),再之后的输出也不会出错。

总结

本文先是讲了为什么有多种定义方式,然后紧接着讲了三种定义方式最后讲了如何定义包含引号的字符串。那么为什么会有多种定义方式呢?很简单,就是为了让大家灵活使用嘛!它的三种定义方式有:单引号定义、双引号定义、三引号定义,多引号定义(可以定义多行内容),大家根据情况使用即可。定义包含引号的字符串也很简单,当字符串本身存在双引号,那我们就用单引号来定义,相反,出现单引号,我们呢使用双引号来定义即可,在最后讲了使用转义字符来解决这一问题。

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

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

相关文章

[ICASSP 2019] 差分隐私压缩 K 均值

Differentially Private Compressive K-means Differentially Private Compressive K-means | IEEE Conference Publication | IEEE Xplore 摘要: 这项工作解决了从大量数据中学习并保证隐私的问题。概述的学习框架建议通过将大规模数据集压缩为广义随机矩的单个向…

Arduino为GD32芯片编程

GD32F103用Arduino编程 板子线路图Ardunino编程程序编制编译下载 板子线路图 这个STM32F103C8T6用国产的GD32来代替。 Ardunino编程 使用Arduino编程,在板子管理器中安装: 安装需要一些时间,在这里可以看到,STM32F1xx支持GD32F…

Flink-intervalJoin源码和并行度问题

1.源码 底层用的是connect 把两个流的数据先保存到状态中 先判断有没有迟到,迟到就放到侧输出流 再根据范围找数据 然后根据上界删除数据 package com.atguigu.gmall.realtime.test;import org.apache.flink.api.common.eventtime.SerializableTimestampAssigne…

【Java基础教程】(十一)面向对象篇 · 第五讲:透彻讲解Java中的static关键字及代码块——静态属性、静态方法和普通代码块、构造块、静态块的使用~

Java基础教程之面向对象 第五讲 本节学习目标1️⃣ static 关键字1.1 static定义静态属性1.2 static定义静态方法1.3 主方法1.4 实际应用功能一:实现类实例化对象个数的统计功能二: 实现属性的自动设置 2️⃣ 代码块2.1 普通代码块2.2 构造块2.3 静态块…

gulimall-首页渲染-nginx域名搭建

首页渲染与nginx域名搭建 前言一、首页1.1 整合 thymeleaf1.2 整合 dev-tools1.3 渲染分类数据 二、Nginx 域名搭建2.1 搭建域名访问环境2.2 nginx 配置文件2.3 总结 前言 本文继续记录B站谷粒商城项目视频 P136-140 的内容,做到知识点的梳理和总结的作用。 一、首…

组合取球-2022年全国青少年信息素养大赛Python国赛第6题

[导读]:超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲,这是超平老师解读Python编程挑战赛真题系列的第8讲。 全国青少年信息素养大赛(原全国青少年电子信息智能创新大赛)是“世界机器人大会青少年机器人设计…

教你如何自定义 Github 首页

一、创建自定义首页仓库 若要自定义首页,首先需要创建一个与你 Github ID 同名的仓库 创建完成后就可以开始为你的首页添加一些有趣的内容了,代码格式可以是 markdown 语法,也可以是 HTML 语法,但 HTML 的扩展性更强一点&#xf…

大唐京兆韦氏,两个老来发奋的诗人

在唐朝,诗人文学政治家如过江之鲫,有两个人物是绝对不可忽略的,那就是韦应物和韦庄。其中韦应物是韦庄的曾祖父。 京兆韦氏是整个唐朝时期最重要的士族家族之一,代有人才出,衣冠鼎盛,为关中望姓之首。韦氏…

I/O多复用函数(select、poll、epoll)

目录 一、select函数二、poll函数 select函数 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);poll函数 int poll(struct pollfd *fds, nfds_t nfds, int timeout);epoll API epoll_create epoll_wait epoll_ctl一、sel…

Spring Boot 系列3 -- 日志文件

目录 1. 日志有什么用? 2. 日志的使用 2.1 得到日志对象 2.2 使用日志对象打印日志 3. 日志级别 3.1 日志级别的用途 3.2 日志级别的分类和使用 3.3 日志的打印规则 3.4 日志级别的设置 4. 日志持久化 5. 更简单的日志输出--lombok 6. 拓展1 lombok的原理 7. 拓…

SSM整合-1

SSM整合 创建工程SSM整合 2.1 Spring: SpringConfig 2.2 SpringMvc: ServletConfig、SpringMvcConfig 3.3 Mybatis JdbcConfig、MybatisConfig、jdbc.properties 3.功能模块 表与实体类 dao(接口自动代理) service(接口实现类) 业务层接口测试(整合Junit&#xff…

在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度

在vite创建的vue3项目中使用Cesium加载立体地形信息并调整初始化角度 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium vite -D配置 (1)在项目的vite.config.js文件中添加&am…

新手学习编程有什么注意事项?

为什么要学习如何编码? 世界正在成为一个地球村。编码是它发生的一个重要原因。 你应该学习如何编码的原因有很多,我将在这里触及其中的一些。 首先,学习编码可以大大提高你的分析和解决问题的能力。 您的收入潜力增加:有高级开…

NTIRE2023 图像复原和增强赛事Efficient Super-Resolution赛道冠军方案解读——DIPNet

DIPNet: Efficiency Distillation and Iterative Pruning for Image Super-Resolution 0. 简介 NTIRE 的全称为New Trends in Image Restoration and Enhancement Challenges,即“图像复原和增强挑战中的新趋势”,是CVPR(IEEE Conference on Computer V…

【JAVAEE】JVM中垃圾回收机制 GC

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE初阶 上篇文章我们讲了java运行时内存的各个区域。 传送门:【JavaEE】JVM的组成及类加载过程_xyk:的博客-CSDN博客 对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言&#x…

6.S081——CPU调度部分(CPU的复用和调度)——xv6源码完全解析系列(10)

0.briefly speaking 终于到这里了,我们在之前阅读很多地方的内核代码时,总是习惯性地绕开CPU调度的部分(比如yield函数)。现在我们总算可以深入进去一探究竟了,这次总算是将整个操作系统中的一块重要拼图拼上去了。 有操作系统相关基础概念…

5 字符串拼接

5 字符串拼接作者: 赵晓鹏时间限制: 1S章节: 动态规划与贪心 输入说明 : 见问题描述。 输出说明 : 见问题描述。 输入范例 : aaaaaaaaaab aaaaaaaac aaaaaaaaaacaaaaaaaab 输出范例 : YES aa_________aaaaaaaab #include<iostream> #include<vector> using …

【数据分析 - 基础入门之pandas篇②】- pandas数据结构——Series

文章目录 前言一、Series的创建1.1 列表创建1.2 NumPy数组创建1.3 字典创建 二、Series索引2.1 显式索引2.2 隐式索引 三、Series切片2.1 显式切片2.2 隐式切片 四、Series基本属性和方法4.1 属性4.2 方法4.3 案例——使用 bool 值去除空值 五、Series运算六、Series多层行索引…

带你全面了解四大内存操作函数memset(),memcpy(),memmove(),memcmp()(附模拟实现)

内存操作函数 文章目录 内存操作函数memcpymemmovememcmpmemset 注&#xff1a;点击蓝色标题可以跳转到官方网站查看更权威的解析哦。 memcpy void * memcpy ( void * destination, const void * source, size_t num );函数memcpy从source的位置开始&#xff0c;向后复制num个…

Linux - CentOS 7 源码安装 MySQL 8.0.31

一、mysql-boost-8.0.31.tar.gz 源码下载 下载地址&#xff1a;https://dev.mysql.com 二、源码安装 MySQl 要求 cmake、Boost C库、ncurses库、OpenSSL库 //需要cmake3&#xff0c;gcc-5.3以上&#xff1b; 三、源码搭建 MySQL 环境 1、创建用户名和组 groupadd mysql …