返回顶部
首页 > 资讯 > 后端开发 > Python >Python基础之字符串
  • 732
分享到

Python基础之字符串

字符串基础Python 2023-01-31 00:01:21 732人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

初识字符串 字符串的认识 首先,我们先认识下什么是字符串: # 定义字符串 t_str1 = "Hello World" t_str2 = "asdfghh" print(t_str1) # Hello World print(t_s

初识字符串

字符串的认识

首先,我们先认识下什么是字符串:

# 定义字符串
t_str1 = "Hello World"
t_str2 = "asdfghh"

print(t_str1)  # Hello World
print(t_str2)  # asdfghh

字符串的介绍

  • 字符串就是一串字符,是编程语言汇总表示文本的数据类型;
  • python中可以使用一对双引号或者一对单引号定义一个字符串;
  • 字符串内部如果需要使用",可以使用'定义字符串;同理,单引号也是;除此之外,也可以用\转译单引号双引号;
  • 字符串的索引从0开始,可以用索引获取一个字符串的指定位置的字符;
  • 还可以用for遍历字符串中的每一个字符。

字符串的定义语法

变量名 = "一串字符"
eg:
t_str1 = "Hello World"
t_str2 = "asdfgh"
t_str3 = '他说:"你好呀!"'

字符串的操作函数

查看字符串操作函数

在iPython交互式下,先定义一个空字符串,然后输入 空字符. 按下tab键,即可查看;

In [1]: t_str = ""    

In [2]: t_str.
t_str.capitalize    t_str.isidentifier  t_str.rindex
t_str.casefold      t_str.islower       t_str.rjust
t_str.center        t_str.isnumeric     t_str.rpartition
t_str.count         t_str.isprintable   t_str.rsplit
t_str.encode        t_str.isspace       t_str.rstrip
t_str.endswith      t_str.istitle       t_str.split
t_str.expandtabs    t_str.isupper       t_str.splitlines
t_str.find          t_str.join          t_str.startswith
t_str.fORMat        t_str.ljust         t_str.strip
t_str.format_map    t_str.lower         t_str.swapcase
t_str.index         t_str.lstrip        t_str.title
t_str.isalnum       t_str.maketrans     t_str.translate
t_str.isalpha       t_str.partition     t_str.upper
t_str.isdecimal     t_str.replace       t_str.zfill
t_str.isdigit       t_str.rfind

字符串所有的操作函数我们可以看上面。

字符串操作函数分类

1.判断类型

方法 说明
string.isspace() 如果string只包含空格,则返回True
string.isalnum() 如果string至少包含一个字符且所有字符都是字母或者数字则返回True
string.isalpha() 如果string至少有一个字符并且所有字符都是字母则返回True
string.isdecimal() 如果string只包含数字则返回True,全角数字
string.isdigit() 如果string只包含数字则返回True,全角数字,(1),\u00b2
string.isnumeric() 如果string只包含数字则返回True,全角数字,(1),\u00b2,汉字数字
string.istitle() 如果string是标题化的(每个单词的首字母大写)则返回True
string.islower() 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,True
string.isupper 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,True

2.查找和替换

方法 说明
string.startswitj(str) 检查字符串是否以str开头,是则返回True
string.endswith(str) 检查字符串是否以str结尾,是则返回True
string.find(str,start=0,end=len(string)) 检查str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是则返回开始的索引值,否则返回-1
string.rfind(str,start=0,end=len(string)) 类似于find()函数,不过是从右边开始查找
string.index(str,start=0,end=len(string)) 和find()方法类似,只不过如果str不再string中会报错
string.rindex(str,start=0,end=len(string)) 类似于index(),不过是从右边开始
string.replace(oldstr,newstr,num=string.count(old)) 把string中的oldstr替换成newstr,如果num指定,则替换不超过num次

3.大小写与转换

方法 说明
string.capitalize() 把字符串的第一个字符大写
string.title() 把字符串的每个单词首字母大写
string.lower() 转换string中的所有大写字符转换为小写
string.upper() 转换string中的所有小写字母转换为大写
string.swapcase() 翻转string中的大小写

4.文本对齐

方法 说明
string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度width的新字符
string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度width的新字符
string.center(width) 返回一个原字符串居中,并使用空格填充至长度width的新字符

5.去除空白字符

方法 说明
string.lstrip() 截掉string左边(开始)的空白字符
string.rstrip() 截掉string右边(末尾)的空白字符
string.strip() 截掉string左右两边的空白字符

6.拆分和连接

方法 说明
string.partition(str) 把字符串string分成一个3元素的元组(str前面,str,str后面)
string.rpartition(str) 类似于partition()函数,不过是从右边开始查找
string.split(str="".num) 以str为分隔符切片string,如果num有指定值,则仅分隔num+1个子字符串,str默认包含'\r','\t','\n'和空格
string.splitlines() 按照行('\r','\t','\n')分隔,返回一个包含各行作为元素的列表
string.join(seq) 以string作为分隔符,将seq中的所有元素(的字符串表示)合并为一个新的字符串

字符串操作实操

字符串统计操作

t_str = "hello world hello python"

# 1.统计字符串长度
print(len(t_str))  # 24

# 2.统计某一个子字符串出现的次数
print(t_str.count("hel"))  # 2
print(t_str.count("abc"))  # 0

# 3.某一个子字符串出现的位置
print(t_str.index("llo"))  # 2
# 如果子字符串不存在,会报错
# print(t_str.index("abc"))

判断实操

示例1

t_str = "    \t\n"

print(t_str.isspace())  # True

示例2

# 判断字符串中是否只包含数字
str1 = "1"

print(str1)

print(str1.isdecimal())
print(str1.isdigit())
print(str1.isnumeric())

示例3

# 判断字符串中是否只包含数字
str2 = "1.1"

print(str2.isdecimal())
print(str2.isdigit())
print(str2.isnumeric())

# False
# False
# False

由此可见,这几种函数都不能判断小数

示例4

str3 = "(1)"

print(str3)
print(str3.isdecimal())
print(str3.isdigit())
print(str3.isnumeric())

# (1)
# False
# True
# True

提一下,本来结果应该是如上的,但可能是因为自己打的括号不对的原因,输出全是False

示例5
unicode 字符串

str4 = "\u00b2"

print(str4)
print(str4.isdecimal())
print(str4.isdigit())
print(str4.isnumeric())

# ²
# False
# True
# True

示例6

str5 = "一百"

print(str5)
print(str5.isdecimal())
print(str5.isdigit())
print(str5.isnumeric())

# 一百
# False
# False
# True

字符串的查找与替换实操

t_str = "hello world"

print(t_str.startswith("hel"))  # True
print(t_str.startswith("Hel"))  # False

print(t_str.endswith("ld"))  # True

# index也可以用来查找字符串,但index指定的字符串如果不存在,会报错;find不会报错,只会返回-1
print(t_str.find("llo"))  # 2
print(t_str.find("abc"))  # -1

# replace方法执行完成后,会返回一个新的字符串,不改变原来的字符串
new_str = t_str.replace("world", "python")
print(new_str)  # hello python
print(t_str)  # hello world

文本对齐

文本居中对齐默认英文空格填充

注意,如果没有指定填充内容,文本默认以英文空格进行填充

# 要求,顺序并且居中对齐输出以下内容

poem = ["早春呈水部张十八员外", "韩愈", "天街小雨润如酥", "草色遥看近却无", "最是一年春好处", "绝胜烟柳满皇都"]

for poem_str in poem:
    print("|%s|" % poem_str.center(10))

# 输出结果
"""
|    早春    |
|    韩愈    |
| 天街小雨润如酥  |
| 草色遥看近却无  |
| 最是一年春好处  |
| 绝胜烟柳满皇都  |
"""

文本居中对齐中文空格填充

注意,中文空格要切换输入法到全角

poem = ["早春", "韩愈", "天街小雨润如酥", "草色遥看近却无", "最是一年春好处", "绝胜烟柳满皇都"]

for poem_str in poem:
    print("|%s|" % poem_str.center(10, " "))

# 输出结果
"""
|    早春    |
|    韩愈    |
| 天街小雨润如酥  |
| 草色遥看近却无  |
| 最是一年春好处  |
| 绝胜烟柳满皇都  |
"""

文本左对齐

注意,如果是中文要对齐,记得是圆角,不再赘述

poem = ["早春", "韩愈", "天街小雨润如酥", 
        "草色遥看近却无", "最是一年春好处", "绝胜烟柳满皇都"]

for poem_str in poem:
    print("|%s|" % poem_str.ljust(10, " "))

"""
|早春        |
|韩愈        |
|天街小雨润如酥   |
|草色遥看近却无   |
|最是一年春好处   |
|绝胜烟柳满皇都   |
"""

文本右对齐

只需将print("|%s|" % poem_str.ljust(10, " ")) 换成rjust即可,不演示。

strip 去除空白字符

    # 要求,顺序并且居中对齐输出以下内容

poem = ["\t\n早春", "韩愈", "天街小雨润如酥", "草色遥看近却无\t\n", 
"最是一年春好处", "绝胜烟柳满皇都"]

for poem_str in poem:
    # 先使用strip方法去除字符串中的空白字符
    # 再使用center方法居中显示文本
    print("|%s|" % poem_str.strip().center(10, " "))
"""
|    早春    |
|    韩愈    |
| 天街小雨润如酥  |
| 草色遥看近却无  |
| 最是一年春好处  |
| 绝胜烟柳满皇都  |
"""

字符串拆分和拼接 split join

# 要求,将字符串中的空白字符全部去除,再使用" "作为分隔符,拼接成一个整齐的字符串

poem_str = "\t\n早春\t韩愈\t\n天街小雨润如酥\t草色遥看近却无\t\n最是一年春好处\t绝胜烟柳满皇都\t\n"
print(poem_str)

# 1.拆分字符串
poem_list = poem_str.split()
print(poem_list)
# 2.合并字符串
result = " ".join(poem_list)
print(result)

"""
早春  韩愈  
天街小雨润如酥 草色遥看近却无 
最是一年春好处 绝胜烟柳满皇都 

['早春', '韩愈', '天街小雨润如酥', '草色遥看近却无', '最是一年春好处', '绝胜烟柳满皇都']
早春 韩愈 天街小雨润如酥 草色遥看近却无 最是一年春好处 绝胜烟柳满皇都
"""

字符串的切片

切片语法和注意

切片方法适用于 字符串,列表,元组

  • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串;
  • 列表和元组都是有序的集合,都能够通过索引值获取到对应的数据;
  • 字典是一个无序的集合,使用用键值对保存数据;

比如我们对于一个"python"字符串,
顺序是0 1 2 3 4 5;倒序是-1 -2 ...;

切片语法

字符串[开始索引:结束索引:步长]

注意:

  1. 指定的区间属于左闭右开型[开始索引,结束索引) --> 开始索引 >= 范围 < 结束索引;即从其实位开始,到结束位的前一位结束(不包含结束位本身)。
  2. 从头开始,开始索引数字可以省略,冒号不能省略;
  3. 到末尾结束,结束索引 数字可以省略,冒号不能省略;
  4. 步长为1,如果连续切片,数字和冒号都可以省略。

切片实操

现在有一个num_str="0123456789",请完成以下操作:

1.截取从 2-5 位置的字符串
2.截取从2-末尾的字符串
3.截取从 开始-5 位置的字符串
4.截取完整的字符串
5.从开始位置,每隔一个字符截取字符串
6.从索引1开始,没隔一个取一个
7.截取从 2~ 末尾-1 的字符串
8.截取字符串末尾两个字符
9.字符串的逆序

答案:

1.num[2:6]
2.num[2:]
3.num[0:6]
3.num[:6]
4.num[:]
5.num[::2]
6.num[1::2]
7.num[2:-1]
8.num[-2:]
9.num[-1::-1]
9.num[::-1]

num[0::-1]的结果:"0"

--结束END--

本文标题: Python基础之字符串

本文链接: https://lsjlt.com/news/182077.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python基础之字符串
    初识字符串 字符串的认识 首先,我们先认识下什么是字符串: # 定义字符串 t_str1 = "Hello World" t_str2 = "asdfghh" print(t_str1) # Hello World print(t_s...
    99+
    2023-01-31
    字符串 基础 Python
  • python基础-字符串(6)
    一、引言 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则就认为不对;服务器既然想要存储这些密码...
    99+
    2023-01-30
    字符串 基础 python
  • Python基础:字符串(string)
    字符串的常用操作   字符串与数组一样,支持索引操作、切片与遍历   索引、切片操作: name = 'jason' name[0] 'j' name[1:3] 'as'   遍历: for char in name: pr...
    99+
    2023-01-31
    字符串 基础 Python
  • Python 基础知识之字符串处理
    Python字符串处理 字符串输入: my_string = raw_input("please input a word:") 字符串判断: (1) 判断是不是纯字母 my_string.isa...
    99+
    2022-06-04
    字符串 基础知识 Python
  • Python之路-基础数据类型之字符串
    字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标, 注意:索引都是从0开始,只有...
    99+
    2023-01-30
    之路 字符串 数据类型
  • Python基础之字符串格式化详解
    目录一、前言二、百分号2.1 通过位置传参2.2 通过关键字传参三、 format 方式3.1 参数数据类型3.2 传参的方式3.3 格式化的其他配置参数3.4 格式化时间一、前言 ...
    99+
    2024-04-02
  • Python基础篇之字符串方法总结
    目录字符串拼接字符串分割字符串替换字符串大小写转换字符串判断partition()的用法总结python中字符串内置方法很多,可以通过dir()方式查看具体有哪些方法,下表是pyth...
    99+
    2023-05-17
    Python字符串方法总结 Python字符串方法 Python字符串
  • Python入门基础之变量及字符串
    目录变量关于变量变量名命名规则字符串原始字符串长字符串总结变量 当把一个值赋给一个名字时,它就会存储在内存中,我们把这块内存称为变量(variable)。 在大多数语言中,都把这种行...
    99+
    2024-04-02
  • Python 基础之字符串string详解及实例
    Python字符串(string) 详解 及 代码 Python的字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列()添...
    99+
    2022-06-04
    字符串 详解 实例
  • Python基础-字符串的使用
    字符串解释:字符串是不可变的,所有元素赋值和切片赋值操作都是非法的,属于序列一种(字符串、元组、列表)。  一、格式化字符串 (1)、format()方法==str.format() 作用:将传入的参数进行格式化 1、替换字段名的两种方...
    99+
    2023-01-31
    字符串 基础 Python
  • Python基础知识(六)--字符串
      #字符串   #字符串是用固定的str数据类型表示的,用来存放Unicode字符序列  #str数据类型可以用来创建一个字符串对象,参数为空时返回一个空字符串  a = str()  print(a)                  ...
    99+
    2023-01-31
    字符串 基础知识 Python
  • python基础字符串str详解
    目录字符串str:编码:ord(字符串)和chr(整数):字符串字面值:字符串通用操作字符串str: 定义:是由一系列字符组成的不可变序列容器,储存的事字符的编码值 编码:...
    99+
    2024-04-02
  • Python字符串基础是什么
    本篇文章为大家展示了Python字符串基础是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、常量单引号:'spa''m'双引号:"spa'm&...
    99+
    2023-06-02
  • python字符串的基础操作
    本篇内容介绍了“python字符串的基础操作”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 处理字符串原始字符串:在字符串开始的引号之前加...
    99+
    2023-06-02
  • python3——字符串基础
    字符串可以使用一对单引号或一对双引号指定起止位置,两种方式指定的字符串完全等价。如'Hello'和"World"可以用三引号("""或''')指定多行字符串,其中可自由使用单、双引号而不需转义。如'''"What's your name,"...
    99+
    2023-01-31
    字符串 基础
  • python基础之字符编码
    一 计算机基础知识   二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1、打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失 #2、要想永久...
    99+
    2023-01-30
    字符 基础 python
  • day10-11-python基础之字符
    1.开发工具   python开发IDE: pycharm、eclipse    # 专业版   # 不要汉化 2.运算符   结果是值     算数运算       a = 10 * 10     赋值运算       a = a + ...
    99+
    2023-01-31
    字符 基础 python
  • Python基础之文本常量与字符串模板
    目录一、前言二、首字母大写三、字符串模板四、高级模板五、format用法六、进阶用法七、高阶用法一、前言 在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符...
    99+
    2024-04-02
  • ES6基础语法之字符串扩展
    一、字符串的遍历 JS中遍历字符串: var str = "hello,world"; for(var i = 0;i<str.length;i++) { console.l...
    99+
    2024-04-02
  • python字符串基础操作详解
    目录字符串的赋值单引号字符串赋值给变量双引号字符串赋值给变量三引号字符串赋值给变量(多行)字符串的截取截取指定位置的字符获取指定位置之后的所有字符截取指定位置之前的所有字符获取所有的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作