Python(六)转义字符和原字符

news2024/11/24 8:59:07

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。
☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无论你是学生、职场人士还是对编程感兴趣的爱好者,都能从中受益。跟着我的学习笔记一起学习python吧。
🌙专栏目标:本专栏的目标是帮助我自己记忆、方便回顾所学知识以及帮助其他想学习python的小伙伴掌握Python编程语言的基本概念和技巧,并逐步提高我们的编程能力。通过这个专栏,我们将学会如何编写Python代码,理解各种数据类型、控制结构和函数,掌握常用的Python模块和库,以及应用Python解决实际问题。

⭐️ 专栏主要内容: 主要学习python的开发环境搭建;Python的基础知识,包括变量、数据类型、条件语句和循环等;python的数据结构和算法;python的函数和模块;python的文件处理等。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
💑专栏主页:从零开始的Python入门之路

在这里插入图片描述

当我们用python写代码时,有时需要在字符串中包含一些特殊字符,如换行符、制表符、引号等。为了表示这些特殊字符,我们可以使用转义字符或原字符来告诉Python如何处理它们。下面我们来详细了解一下转义字符和原字符的用法。

文章目录

  • 一、转义字符
    • 1.1 转义字符的概念
    • 1.2 为什么需要转义字符
    • 1.3 转义字符都有哪些,都怎么使用
  • 二、原字符
    • 2.1 原字符的概念:
    • 2.2 为什么需要原字符:
    • 2.3 原字符的用法:
    • 2.4 原字符的注意事项:

一、转义字符

1.1 转义字符的概念

在编程中,转义字符用于表示一些在字符串中无法直接表示或输入的特殊字符。它们以反斜杠(\)开头,后面跟着一个字符,表示特定的含义。通过使用转义字符,我们可以在字符串中插入换行符、制表符、引号等特殊字符,或者表示一些不可见的字符。

1.2 为什么需要转义字符

需要转义字符的原因主要有以下几点:

  • 表示特殊字符:有些字符在字符串中具有特殊含义,如换行符(\n)、制表符(\t)等。使用转义字符,我们可以明确地表示这些特殊字符,而不是按照普通字符的方式进行解释。
  • 插入引号:如果我们需要在字符串中插入引号,那么需要使用转义字符来告诉Python这些引号不是字符串的结束符,而是作为普通字符的一部分。
  • 表示不可见字符:有些字符是不可见的,如空格、回车符等。通过转义字符,我们可以在字符串中表示这些不可见字符,方便进行处理。
  • 处理特殊需求:有时我们需要处理一些特殊需求,如在路径中使用反斜杠(\),但反斜杠本身又是一个转义字符。在这种情况下,我们可以使用两个反斜杠(\)来表示一个反斜杠字符。

所以,转义字符是一种特殊的字符序列,由反斜杠(\)和后面的一个或多个字符组成。它们用于表示特殊字符、插入引号、表示不可见字符以及处理特殊需求。通过使用转义字符,我们可以在字符串中插入特殊字符,并且明确地表示字符的含义,而不是按字面意义解释。

1.3 转义字符都有哪些,都怎么使用

转义字符在Python中有多种类型,每种类型都有特定的含义。下面是一些常见的转义字符及其详细介绍,包括示例代码和运行结果。

  1. \n:换行符
    作用:在字符串中插入一个换行符,使得下一个字符显示在新的一行上。

    示例代码:

    print("Hello\nWorld")
    

    运行结果:

    Hello
    World
    
  2. \t:制表符
    作用:在字符串中插入一个制表符,使得下一个字符在水平方向上对齐。

    示例代码:

    print("Name:\tAlice")
    print("Age:\t25")
    

    运行结果:

    Name:    Alice
    Age:     25
    
  3. \":双引号
    作用:在字符串中插入双引号,使得双引号不被解释为字符串的结束符。

    示例代码:

    print("He said, \"Hello!\"")
    

    运行结果:

    He said, "Hello!"
    
  4. \':单引号
    作用:在字符串中插入单引号,使得单引号不被解释为字符串的结束符。

    示例代码:

    print('I\'m happy')
    

    运行结果:

    I'm happy
    
  5. \\:反斜杠
    作用:在字符串中插入反斜杠字符。

    示例代码:

    print("C:\\path\\to\\file")
    

    运行结果:

    C:\path\to\file
    

这些是一些常见的转义字符及其含义。通过使用这些转义字符,我们可以在字符串中插入特殊字符,表示引号、换行符、制表符等,以及处理特殊需求。

二、原字符

原字符(Raw String)是以前缀r或R开头的字符串,它可以让我们在字符串中保留原始的字符序列,而不需要对其中的转义字符进行特殊处理。下面从几个方面介绍原字符的概念、用法以及注意事项。

2.1 原字符的概念:

原字符是以前缀r或R开头的字符串。当使用原字符时,Python会将字符串中的转义字符视为普通字符,不进行特殊处理。这意味着转义字符不会转义特殊含义,而是保留它们的原始形式。

2.2 为什么需要原字符:

需要使用原字符的原因主要有以下几点:

  • 保留原始字符序列:在某些情况下,我们需要保留字符串中的转义字符,而不是将其解释为特殊含义。使用原字符可以让我们直接在字符串中表示特殊字符,而无需进行额外的处理。
  • 处理特殊需求:有些情况下,我们可能需要在字符串中使用大量的反斜杠(\),但是反斜杠本身又是一个转义字符。使用原字符可以避免对反斜杠进行额外的转义,使代码更加清晰简洁。

2.3 原字符的用法:

原字符的用法很简单,只需要在字符串前面加上前缀r或R即可。

示例代码:

print(r"Hello\nWorld")

运行结果:

Hello\nWorld

在上述示例中,我们使用原字符前缀r来创建一个字符串,其中包含转义字符\n。使用原字符后,\n被视为两个普通字符,而不是换行符。

2.4 原字符的注意事项:

  • 最后一个字符不能是反斜杠:由于反斜杠是用来转义字符的,因此原字符的最后一个字符不能是反斜杠。如果最后一个字符是反斜杠,会导致语法错误。
  • 原字符仅影响转义字符:原字符只会影响到转义字符,对于普通字符没有影响。

示例代码:

print(r"C:\path\to\file\")

运行结果:

SyntaxError: EOL while scanning string literal

在上述示例中,我们尝试在原字符中使用以反斜杠结尾的字符串,导致了语法错误。

原字符的使用可以使代码更加清晰,并且避免了对转义字符进行额外的转义处理。但需要注意的是,原字符的最后一个字符不能是反斜杠,以免引起语法错误。

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

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

相关文章

包管理工具:npm、yarn、cnpm、npx、pnpm

yarn:  yarn是由Facebook(react)、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具;  yarn 是为了弥补早期npm 的一些缺陷而出现的;  早期的npm存在很多的缺陷,比如安装依赖速度很慢、版本依赖混乱等等一系列…

【LeetCode: 1911. 最大子序列交替和 | 暴力递归=>记忆化搜索=>动态规划 】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【C#】设置输入法,解决扫描枪在中文状态下识别异常问题

系列文章 【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…

【Redis】特殊数据类型 Stream (流)

🎯前言 除了五中基本的数据类型外,Redis还支持两种特殊的数据类型,第一种 Geo (地理位置):用于存储地理位置相关的数据,例如经纬度、距离等。第二种 Stream (流):是一个高级的列表类型,支持对列…

学习系统编程No.30【多线程控制实战】

引言: 北京时间:2023/7/7/9:58,耳机正在充电中,所以刚好让我们先把引言写一写,昨天睡觉前听了一会小说,听小说的好处就在于,它可以让你放下手机,快速睡觉,并且还有一定的…

python批量检测网站是否能打开

import requestsif __name__ "__main__":file_name input() #读取文件名fp1 open(file_name, "r") #以只读,打开文件for line in fp1.readlines(): #readlines 按行读取文件,会保留\n,返回一个(文…

3. MySQL - 数据类型 选项约束

目录 回顾 1. 命令行下的 MySql 客户端 2. 图形化界面的 MySQL-Client 3. 数据库概述 3.1 数据库管理系统是什么 3.2 工作模式 3.3 RDBMS 管理数据的结构 3.4 客户端连接服务器的信息 4. MySQL 中的数据类型 4.1 整型类型 4.2 字符串 4.3 日期/时间 5. MySQL 每个字…

【Ubuntu18.04 解决蓝牙wifi 之ax201无线网卡驱动安装】

【Ubuntu18.04 解决蓝牙wifi 之ax201无线网卡驱动安装】 1. 前言2. 更新linux内核 3. 下载安装intel ax201网卡驱动 1. 前言 台式机安装了双系统win11Ubuntu18.04系统,发现没有无线网卡和蓝牙,经查阅资料发现由于网卡刚没多久,Ubuntu没有集成…

服务器反向代理

反向代理作用 隐藏服务器信息 -> 保证内网的安全,通常将反向代理作为公网访问地址,web服务器是内网,即通过nginx配置外网访问web服务器内网 举例 百度的网址是:http://www.baidu.com , 现在我通过自己的服务器地…

Figma源文件导出技巧:提升效率的简易步骤

因为Figma,sketch,xd都支持导入sketch格式,所以我们只要将文件格式转成sketch,就能自由的在不同软件间导入导出。 现在就有一个网站可以帮助你快速简单的导入Figma、Sketch、XD 等格式文件,,还可以导出 Sketch 文件满足跨工具协作…

Nacos 服务注册和配置中心

文章目录 1 应用1.1 依赖1.2 配置文件 2 Nacos发现实例模型3 注册中心对比4 Nacos 支持AP和CP模式的切换4.1 何时选择何种模式? 5 Nacos 服务配置10.5.1 SpringCloud原生注解RefreshScope5.2 配置5.3 分类设计思想 6 Nacos 集群是持久化配置6.1 Nacos支持三种部署模…

Redis实战案例16-redisson的快速入门

1. 可能存在的问题 不可重入:基于SETNX实现的简单分布式锁通常不支持可重入性,即同一个客户端在获取锁后不能再次获取锁,否则会导致死锁。不可重试:如果多个客户端同时尝试获取锁但都失败了,并且没有重试机制&#xff…

基于RWKV-Runner大语言模型系统

RWKV Runner 旨在消除大语言模型的使用门槛,全自动处理AI对话,并且提供了OpenAI API兼容的接口。使用起来简单方便,但是还是比较吃机器,显存2G到32G都可以使用,根据自己的模型选择即可。 总结起来: 使用起来方便简单,上手容易。需要有电脑基础,很多地方还不是傻瓜化。需…

LayUI框架——选项卡等element组件使用

目录 前言 一、element组件 1. element基础方法 2. 更新渲染 二、动态实现选项卡 要求 1. 优化dao类 2. 优化前端JSP页面 3. 引入头部hand.jsp页面 4. 优化后台主界面js 5. 运行效果图 前言 在项目中我们需要编写许多页面,在页面中有许多元素需要自动去完…

【Unity编辑器扩展】字库裁剪工具, 优化字体文件大小,批量修改文本组件字体

原理: 1. 扫描项目中用到的字符集; 2. 把字体文件裁剪掉没用到的字符,仅保留项目中用到的字符; 3. 生成裁剪后的字体文件; 工具功能设计: 1. 支持通过拖拽字体文件或文件夹批量选择需要裁剪的字体文件。…

网络安全设备Bypass功能介绍及分析

网络安全平台厂商往往需要用到一项比较特殊的技术,那就是Bypass,那么到底什么是Bypass呢,Bypass设备又是如何来实现的?下面我就对Bypass技术做一下简单的介绍和说明。 一、 什么是Bypass。 大家知道,网络安全设备一般…

mac安装Golang开发环境及入门

目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 1.1 快速入门需求 1.2 go学习(自用) 一、Mac brew 安装go环境 1.1 安装步骤 1)终端输入,也可以指定下载go版本…

SPSSAU方差分析+python

准备数据 将数据格式调整为以下格式: jupyter处理过程 #读取数据 import numpy as np import pandas as pd# 创建一个空的DataFrame t1 pd.DataFrame() t2 pd.DataFrame() t3 pd.DataFrame() T1pd.read_excel(./数据/抑郁_T1.xlsx)T1.columnsT1.iloc[0] T1T1…

模板类与继承

模板类与继承 模板类继承普通类普通类继承模板类的实例化版本。普通类继承模板类模板类继承模板类模板类继承模板参数给出的基类 模板类继承普通类 基类 派生类 测试函数; 普通类继承模板类的实例化版本。 模板基类 普通类继承模板基类的实例化版本: 普通…