【Python基础】字符串类型

news2024/11/14 16:14:13

本文收录于 《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 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。

实例如下:

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/python3
 
a = "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. 百分号操作符(%),实例如下:

    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/python3
 
para_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 次。

实例如下:

#!/usr/bin/python3
 
a = "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.coloradmin.cn/o/2092416.html

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

相关文章

Bluetooth: gatt profile

Gatt 主要是描述了attribute的排列方式; Attribute caching 这个机制允许client只搜索一次server即可,当重连后不需要再搜索直接使用之前的。如果server的服务发生了变化,需要通过 service change indication 告诉client; client…

网优学习干货:2.6G仿真操作(2)

导入仿真区域图层 建立仿真站点组 设置仿真任务-结果图层和楼宇仿真高度 仿真结果统计-结果图层渲染 仿真结果统计-结果导出 目录 导入天线文件-导入方法与覆盖仿真相同,但天线文件需要包含PDSCH波束文件 将Beamforming天线添加到基站 如果在步骤④中没有找到Beamfo…

Web自动化测试实战--博客系统

🎥 个人主页:Dikz12🔥个人专栏:测试📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 1.项目效果展示 2.编写web测试用例 3.自动化测试脚本开发 3.1创建空项目 引…

构建大师:深入理解Linux下的Make和Makefile

引言 在软件开发的世界里,构建过程是一项繁琐而重要的任务。无论是简单的脚本还是复杂的软件项目,都需要一种方式来自动化编译、链接以及测试等过程。在Linux环境下,Make工具和它的配置文件——Makefile,成为了许多开发者构建项目…

计算机硬件的组成

目录 前言 计算机系统组成 计算机硬件的组成 1、控制器 2、运算器 3、主存储器 4、辅助存储器 5、输入设备 6、输出设备 最后 前言 计算机已成为不可或缺的工具。无论是个人电脑还是服务器集群,其背后都是由一系列硬件组件协同工作的结果。 本文讲介绍计…

ssrf攻击本地fastcgi漏洞复现

目录 环境&#xff1a;UbuntuNginxphp 代码 开始测试 查看 环境搭建 环境&#xff1a;UbuntuNginxphp 代码 <?php highlight_file(__FILE__); $url $_GET[url]; $curl curl_init($url);curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($curl, CURLOPT_HEADER, 0…

滚雪球学MyBatis-Plus(02):环境准备

环境准备 本地开发环境参考如下&#xff1a; 开发工具&#xff1a;IntelliJ IDEA 2021.3.2JDK版本&#xff1a; JDK 1.8Spring Boot版本&#xff1a;2.3.1.RELEASEMaven版本&#xff1a;Apache Maven 3.8.2MySQL&#xff1a;5.6 前言 在上期内容中&#xff0c;我们系统地介绍了…

【多线程】设计模式之单例模式

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;多线程 / javaEE初阶 一、什么是设计模式 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀些固定的套路. 按照套路来⾛局势就不会吃亏. …

【微服务】接口的幂等性怎么设计?

一、什么是幂等&#xff1f; 幂等性&#xff1a;短时间内&#xff0c;对于相同输入的请求&#xff0c;无论进行多少次重复操作&#xff0c;都应该和单次调用的结果一致。 二、幂等问题产生的原因是什么&#xff1f;(或者说为什么需要实现幂等性?) 1、前端重复提交 在用户注…

高频Postman接口测试面试题

一、Postman在工作中使用流程是什么样的&#xff1f; 新建集合管理根据接口所属的模块&#xff0c;在集合中不同模块下编写接口测试用例处理接口之间的数据关联操作添加环境变量在tests tab下中增加断言调试接口&#xff0c;确保接口能被正常调用批量运行用例或者导出通过Newm…

STM32H750VBT6烧录源码无反应的问题

当烧录后出现这种情况下&#xff0c;点击魔术棒里面 Linker,勾选第一个方框后再次烧录即可。

【机器学习】聚类算法的基本概念和实例代码以及局部度量学习的概念和实例代码

引言 聚类算法在许多领域都有广泛的应用&#xff0c;例如数据挖掘、生物信息学、图像处理等。 文章目录 引言一、聚类算法1.1 K-Means算法1.2 DBSCAN算法1.3 层次聚类&#xff08;Hierarchical Clustering&#xff09;算法1.4 高斯混合模型&#xff08;Gaussian Mixture Model&…

Python系统教程02

Python 中基本运算符的使用变量基本运算符和变量编写简单的 Python 程序 一、Python 中的加法、减法、乘法、除法、 1.1 Python 中的""运算符 "" 可以用来计算两个数的和 "" 可以用来拼接 运算符可以用来计算两个数的和运算符可以连接多个字符…

Leetcode面试经典150题-36-有效数独升级版-37.解数独

解法都在代码里&#xff0c;不懂就留言或者私信&#xff0c;比第一题稍微难点 public static void solveSudoku(char[][] board) {/**定义三个二维数组分别代表行、列、桶&#xff08;每9个格子&#xff09;*/boolean[][] rowExists new boolean[9][10];boolean[][] colExist…

不用U盘重装win10/11

创建适用于 Windows 的安装介质 Windows 10 Windows 8.1 Windows 7 Microsoft 365 免费试用版正在等待你使用 立即解锁 你可以使用安装介质&#xff08;U 盘或 DVD&#xff09;来安装 Windows 的新副本、执行全新安装或重新安装 Windows。 要创建安装介质&#xff0c;请转到…

街机 CAPCOM CPS2 中英文名字与驱动对照表

Part.I 简介 本文列举了街机 CPS2 中游戏的中英文名字与其驱动的对照&#xff0c;以帮助诸位更快地找到自己想玩的游戏。 注意&#xff1a;汉化版的街机模拟器 Kawaks 中游戏的中文名字是根据英文直译的&#xff0c;并不是习惯性的中文叫法。比如『三国志』英文名为『Warriors…

安全入门day.03

一、知识点 1、抓包技术应用意义 在渗透安全方面&#xff0c;通过抓包分析&#xff0c;安全人员可以模拟黑客的攻击行为&#xff0c;对系统进行渗透测试。这种测试有助于发现系统中存在的安全漏洞和弱点。一旦发现漏洞&#xff0c;可以立即采取措施进行修复&#xff0c;从而增…

Selenium实战技巧-多页面和Windows控件处理

01 多页面处理 做UI自动化的时候常常会遇到浏览器弹出新的Tab页&#xff0c;或者需要在多个网页服务之间来回取数据的情况。 比如在首页点击文章“Jmeter使用&#xff1f;”的链接&#xff0c;浏览器会弹出一个新的页面显示“Jmeter使用&#xff1f;”这篇文章的详情。此时如…

SpringBoot教程(二十七) | SpringBoot集成AOP实现异常处理

SpringBoot教程&#xff08;二十七&#xff09; | SpringBoot集成AOP实现异常处理 前言第一步&#xff1a;统一接口返回结果1. 统一封装结果包含如下参数2. 创建 枚举HttpStatusEnum&#xff08;返回结果代码&#xff09;3. 创建 ResponseResult &#xff08;返回实体类&#x…

如何使用vcftools提取特定的染色体

起源是由于bam文件没有过滤完全&#xff0c;导致calling出来的vcf文件还有线粒体中的染色体存在&#xff0c;因为在金标准文件中只有1-22号和X染色体&#xff0c;不包含线粒体和Y染色体&#xff0c;因为我使用的金标准文件是来自NA12878&#xff0c;是一位白种人女性。因此&…