【Python基础】字符串类型

news/2024/9/18 20:49:54/ 标签: python, 开发语言, python字符串

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!

文章目录

    • 一、前言
    • 二、Python 字符串类型
        • 2.1 Python访问字符串中的值
        • 2.2 Python 转义字符
        • 2.3 Python 字符串运算符
        • 2.4 Python 字符串格式化
        • 2.5 Python三引号
        • 2.6 Unicode 字符串
        • 2.7 Python 的字符串函数
    • 四、总结

一、前言

本文分享一些Python编程中关于字符串类型的知识。

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。

    Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methods

  • Python语言有哪些特点?

    1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    2.易于阅读:Python代码定义的更清晰。

    3.易于维护:Python的成功在于它的源代码是相当容易维护的。

    4.丰富的库:Python的最大的优势之一具有丰富的标准库,并且跨平台的,在UNIX,Windows和Mac兼容很好。

    5.面向对象:Python支持面向对象编程,在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

    6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

    7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

    8.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

    在这里插入图片描述

二、Python 字符串类型

字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。

实例如下:

python">var1 = 'Hello World!'
var2 = "kenny"
var3 = 'A'

注意:Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

2.1 Python访问字符串中的值

Python 访问子字符串,可以使用方括号 [] ,语法格式如下:

变量[下标],例如:a[0]
或
变量[头下标:尾下标],例如:a[2:4]

在这里插入图片描述

实例如下:

str = 'abcde'        # 定义一个字符串变量print("1-值:",str)           # 打印整个字符串
print("2-值:",str[0:-1])     # 打印字符串第一个到倒数第一个字符(不包含倒数第一个字符)
print("3-值:",str[0])        # 打印字符串的第一个字符
print("4-值:",str[2:4])      # 打印字符串第三到第四个字符(不包含第四个字符)
print("5-值:",str[2:])       # 打印字符串从第三个字符开始到末尾
print("6-值:",str * 2)       # 打印字符串两次
print("7-值:",str + "TEST")  # 打印字符串和"TEST"拼接在一起

实例运行结果如下:

1-值: abcde
2-值: abcd
3-值: a
4-值: cd
5-值: cde
6-值: abcdeabcde
7-值: abcdeTEST
2.2 Python 转义字符

在需要在字符中使用特殊字符时,python 用反斜杠 ** 转义字符。如下表:

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.3 Python 字符串运算符

例如,下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:

在这里插入图片描述

实例如下:

#!/usr/bin/python3a = "Hello"
b = "Python"print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])if( "H" in a) :print("H 在变量 a 中")
else :print("H 不在变量 a 中")if( "M" not in a) :print("M 不在变量 a 中")
else :print("M 在变量 a 中")print (r'\n')
print (R'\n')

实例运行结果如下:

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
2.4 Python 字符串格式化

在Python中,字符串格式化可以通过多种方式实现,常见的有百分号(%)操作符和str.format()方法。

  1. f-string(Python 3.6+),实例如下:

    name = "张三"
    age = 20
    info = f"我叫{name},今年{age}岁。"
    print(info)  # 我叫张三,今年20岁。
    
  2. 百分号操作符(%),实例如下:

    python">name = "张三"
    age = 20
    info = "我叫%s,今年%d岁。" % (name, age)
    print(info)  # 我叫张三,今年20岁。
    
  3. str.format()方法,实例如下:

    name = "张三"
    age = 20
    info = "我叫{},今年{}岁。".format(name, age)
    print(info)  # 我叫张三,今年20岁。# 使用索引
    info = "我叫{0},今年{1}岁。".format(name, age)
    print(info)  # 我叫张三,今年20岁。# 使用关键字参数
    info = "我叫{name},今年{age}岁。".format(name="张三", age=20)
    print(info)  # 我叫张三,今年20岁。
    

    PS:这三种方式都可以实现字符串的格式化,f-string是最新、最直观的方法。

    若使用方式二,进行字符串格式化,常用的符号如下:

    在这里插入图片描述

2.5 Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

实例如下:

#!/usr/bin/python3para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

实例运行结果如下:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( 	 )。
也可以使用换行符 [ ]。
2.6 Unicode 字符串

在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

在Python3中,所有的字符串都是Unicode字符串。

2.7 Python 的字符串函数

Python 的字符串常用的函数如下:

方法描述
count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
find(str, beg=0, end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常。
len(string)返回字符串长度
lower()转换字符串中所有大写字符为小写.
upper()转换字符串中的小写字母为大写
replace(old, new [, max])将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。

实例如下:

python">#!/usr/bin/python3a = "I like to eat apples"print("1-值:",a.count('e'))print("2-值:",a.find('i'))print("3-值:",a.index('i'))print("4-值:",len(a))print("5-值:",a.lower())print("6-值:",a.upper())print("7-值:",a.replace('eat','draw'))

实例运行结果如下:

1-值: 3
2-值: 3
3-值: 3
4-值: 20
5-值: i like to eat apples
6-值: I LIKE TO EAT APPLES
7-值: I like to draw apples

四、总结

以上介绍了一些Python编程中关于字符串类型的知识,并提供了对应的示例代码。希望对大家有帮助,谢谢。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)


http://www.ppmy.cn/news/1518806.html

相关文章

并发服务器

一、服务器 1.单循环服务器:同一时刻,只能处理一个客户端的任务; 2.并发服务器:同一时刻,可以处理多个客户端的任务; 3.TCP并发服务器: (1)多进程: (2&a…

为什么搜索引擎可以检索到网站?

搜索引擎和爬虫,基于百度举例 为什么搜索引擎可以快速检索到所有对应页面? 搜索引擎能够快速检索到所有对应页面,主要归功于以下几个方面: 爬虫技术:自动遍历互联网上的网页。索引:将爬取的网页内容转换…

游戏出海,燃动全球,“安全”如何通关?

泼天的富贵落在了游戏圈,用事实打脸了男人消费不如狗的谬论。 这几天,无论是游戏圈内人还是圈外人,无人不知晓《黑神话:悟空》。这部头顶「3A国产游戏之光」的作品自6月8日预售以来,全平台销量超过800万份,…

【自动驾驶】控制算法(六)前馈控制与航向误差

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

【最新华为OD机试E卷】空栈压数(200分)-多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,…

【机器学习】10. 朴素贝叶斯

贝叶斯理论 P ( H ∣ E ) P ( E ∣ H ) P ( H ) P ( E ) P(H|E) \frac{P(E|H)P(H)}{P(E)} P(H∣E)P(E)P(E∣H)P(H)​ 两个假设: 类别之间相互独立每个类别同等重要 P(E1 | yes) E1 个数 / yes 个数 0 频率问题 上述理论会遇到某个类别为0的情况,导致…

【Qt应用】Qt编写简易文件管理系统

目录 引言 一、准备工作 二、设计思路 三、创建项目和基本界面 四、目录浏览功能 实现效果 五、文件操作功能 5.1 设置添加文件与删除文件按钮 5.2 添加文件槽函数 5.3 删除文件槽函数 5.4 实现效果 六、文件搜索功能 6.1 准备工作 6.2 搜索按钮槽函数 6.3 实现…

Java中的注解(Annotation)

Java中的注解(Annotation)是一种用于在代码中添加元数据的机制。它们可以被用来为类、方法、变量、参数等元素添加额外的信息,这些信息在编译时或运行时可以被读取和使用。注解本身不会直接影响代码的执行,但可以通过反射等机制在…

汽车三元浸出液回收钯铑

汽车三元催化器是减少汽车尾气排放的关键部件,它含有铂、钯、铑等贵金属。这些金属在汽车尾气净化过程中起着重要作用,但使用一段时间后会因中毒、烧结等原因而失活。回收这些贵金属不仅可以减少环境污染,还能节约宝贵的资源。以下是汽车三元…

使用C标准库中的printf输出

1、增加文件系统调用 对系统调用进行了调整,一是将所有的系统调用实现转移 从头文件转移到C文件中; 二是增加几个有关文件打开和关闭的接口 主要是将系统调用做成单独的app库,这个库可以供其它所有的应用程序使用 2、导入newlib库&#xff…

CleanClip for Mac v2.2.0 剪贴板历史管理软件正式激活版

CleanClip 是一款专为 Mac 用户设计的强大剪贴板历史管理工具。它能够自动保存您复制的内容,让您轻松访问和管理剪贴板历史记录,大大提高工作效率。 下载地址:CleanClip for Mac v2.2.0 剪贴板历史管理软件正式激活版 主要特点 自动保存剪贴板历史 CleanClip 会自…

基于麻雀SSA优化BP神经网络多输入多输出的数据回归预测Matlab程序SSA-BP 含预测新数据程序

基于麻雀SSA优化BP神经网络多输入多输出的数据回归预测Matlab程序SSA-BP 含预测新数据程序 文章目录 一、基本原理1. SSA(麻雀搜索算法)2. BP(反向传播神经网络)3. SSA-BP回归预测的整合 二、实验结果三、核心代码四、代码获取五、…

disk manager操作教程 如何使用Disk Manager组件 Mac如何打开ntfs格式文件

macOS系统有一个特别明显的弱点,即不能对NTFS格式磁盘写入数据。想要适合Mac系统使用来回转换磁盘格式又十分麻烦,这该怎么办呢?Tuxera ntfs for mac作为一款Mac完全读写软件,大家在安装该软件后,能充分使用它的磁盘管…

python自动化脚本:让工作自动化起来

Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。 我们将探讨9个Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化…

跨境多账号登录如何防止IP、cookie和设备关联?

在当今数字化时代,拥有某个平台的多个账号是必要的,但如何防止这些账号之间产生关联,进而导致封号,却是一个需要谨慎对待的问题。 一、 多账号关联的主要因素 1. IP地址 2. Cookie和缓存 3. 设备指纹 二、如何防关联&#xff…

Vue——认识day06_class与style绑定

在Vue中,可以使用v-bind指令来将CSS样式动态地绑定到HTML元素上。有两种方式可以实现CSS与style的绑定: 对象语法:可以将一个包含CSS属性和值的对象传递给v-bind,将对象的属性与HTML元素的style属性进行绑定。例如: …

20.神经网络 - 搭建小实战和 Sequential 的使用

神经网络 - 搭建小实战和 Sequential 的使用 在 PyTorch 中,Sequential 是一个容器(container)类,用于构建神经网络模型。它允许你按顺序(sequential)添加不同的网络层,并将它们串联在一起&…

手机FM LNA方案设计

一 概述 关于手机FM的使用,较为传统的则是在打开FM应用前先插入有线耳机才能使用FM应用。然而随着智能手机的进步以及有线耳机日益被无线蓝牙耳机所代替,内置FM LNA方案被应用的越来越多,无需插入有线耳机,复用例如GSM天线也能实…

JavaScript初级——键盘事件

1、 onkeydown —— 按键被按下 —— 如果一直按着某个键不松手,则事件会一直触发 —— 连续触发时,第一次和第二次之间会间隔稍微长一点,其他的会非常的快,这种设计是为了放置误操作的发生 2、 onkeyup —— 按键被松…

Substance 3D Stager for Mac/Win:高效三维场景设计利器

Substance 3D Stager是Adobe推出的一款专为Mac和Windows用户设计的三维场景设计和渲染软件,它以其高效、直观的特点,在数字艺术、游戏开发、影视特效等领域赢得了广泛的认可。 核心功能 直观的操作界面:Substance 3D Stager提供了优秀的视觉…