IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【Python编程】字符串String相关知识及基本操作 -> 正文阅读

[Python知识库]【Python编程】字符串String相关知识及基本操作

备注: 本教程主要使用Python3.6在jupyter notebook上编程实现。Python环境配置参考《【Python学习】Windows10开始你的Anaconda安装与Python环境管理》或者《【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理》

字符串的创建

# 字符串是Python中最常用的数据类型。我们可以使用引号('或")来创建字符串。
string1 = "Hello World"
# 与Java或者C++不同的是,Python不支持单字符(char)类型,单字符在Python中也是作为一个字符串使用。
string2 = "a"
print("打印字符串:",string1)
print("打印单字符:",string2)
打印字符串: Hello World
打印单字符: a

访问字符串的值

Python编程】列表List相关知识及基本操作提到的列表一样。
字符串的索引有两种形式:从前往后以及从后往前:

  • 从前往后
    string1 = “Hello World”
    索引为0,1,2,3,4,5,6,7,8,9,10

  • 从后往前
    string1 = “Hello World”
    索引为-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1

假设string1有n个字符,则对于i(0=<i<n),有string1[i]=string1[-(n-i)]

# 根据下标索引访问元素
print("string1[0]: ", string1[0]) #第1个元素
print("string1[9]: ", string1[9]) #第10个/最后1个元素
print("string1[-1]: ", string1[-1]) #第10个/最后1个元素
print("string1[-2]: ", string1[-2]) #倒数第2个元素
print("string1[-11]: ", string1[-11]) #倒数第11个元素
string1[0]:  H
string1[9]:  l
string1[-1]:  d
string1[-2]:  l
string1[-11]:  H
# 假设string1有n个元素,则对于i(0=<i<n),有
# string1[i]=string1[-(n-i)]
n = len(string1)
print("i","string1[i]","string1[-(n-i)]")
for i in range(n):
    print(i,",",string1[i],",",string1[-(n-i)])
i string1[i] string1[-(n-i)]
0 , H , H
1 , e , e
2 , l , l
3 , l , l
4 , o , o
5 ,   ,  
6 , W , W
7 , o , o
8 , r , r
9 , l , l
10 , d , d

字符串的截取

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。

# 根据[头下标:尾下标]获取子字符串
print("string1[0:5]: ", string1[0:5])
print("string1[:5]: ", string1[:5])
print("string1[1:5]: ", string1[1:5])
print("string1[5:9]: ", string1[5:9])
print("string1[5:10]: ", string1[5:10])
print("string1[5:]: ", string1[5:])
print("string1[:]: ", string1[:])
print("string1[:-1]: ", string1[:-1])
print("string1[5:-1]: ", string1[5:-1])
print("string1[-2:-1]: ", string1[-2:-1])
string1[0:5]:  Hello
string1[:5]:  Hello
string1[1:5]:  ello
string1[5:9]:   Wor
string1[5:10]:   Worl
string1[5:]:   World
string1[:]:  Hello World
string1[:-1]:  Hello Worl
string1[5:-1]:   Worl
string1[-2:-1]:  l

字符串的运算

加号(+)是字符串连接运算符,星号(*)是重复操作。
in或者not in判断字符串是否在另一个字符串当中。

string3 = "Hello "
string4 = "World"
string5 = string3 + string4
print(string5)
Hello World
string6 = "aa"
string7 = 2*string6
print(string7)
aaaa
# 判断"Hello"是否在字符串string5当中
print("Hello" in string5)
True

Python的转义字符

符号意义符号意义符号意义
\(在行尾时)续行符\\反斜杠符号\'单引号
\"双引号\a响铃\b退格(Backspace)
\e转义\000\n换行
\v纵向制表符\t横向制表符\r回车
\f换页\oyy八进制数,y 代表 0~7 的字符\xyy十六进制数,以 \x 开头,yy代表的字符
\other其它的字符以普通格式输出
print("Hello\tworld")
Hello	world
print("\'Hello world\'")
'Hello world'
print("Hello \
world")
Hello world
print("\110\145\154\154\157\40\127\157\162\154\144\41") # 八进制数
print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21") # 十六进制数
Hello World!
Hello World!

原始字符串

所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

print(r'Hello world\n')
Hello world\n

Python字符串格式化

下表给出常用的格式化形式

符号描述符号描述
%c格式化字符及其ASCII码%s格式化字符串
%d格式化整数%u格式化无符号整型
%o格式化无符号八进制数%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数
%g%f%e的简写%G%F%E的简写
%p用十六进制数格式化变量的地址
print ("我叫 %s 今年 %d 岁!" % ('马爸爸', 50))
我叫 马爸爸 今年 50 岁!
x=input("请输入数字:")
print("你输入的数字是:%d" %(int(x)))
请输入数字:100
你输入的数字是:100
# 字符串格式化的一个实例:日期的格式化
import datetime
string8 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 年-月-日 时:分:秒
print(string8)
2022-01-02 21:36:22

Python的字符串内建函数

# .capitalize(): 将字符串的第一个字符转换为大写
string9 = "hello world!"
print ("string9: ", string9)
print ("string9.capitalize(): ", string9.capitalize())
string9:  hello world!
string9.capitalize():  Hello world!
# .center(width,fillchar): 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
print ("string9.center(40, '*') : ", string9.center(40, '*'))
string9.center(40, '*') :  **************hello world!**************
# find(str, beg=0, end=len(string))
# 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
print(string9.find("world"))
6
# lower(): 转换字符串中所有大写字符为小写.
string10 = "South China University of Technology"
print(string10.lower())

# upper(): 转换字符串中所有小写字符为大写.
print(string10.upper())
south china university of technology
SOUTH CHINA UNIVERSITY OF TECHNOLOGY
# .count(str, beg= 0,end=len(string)): 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
print("string10.count('o') : ", string10.count('o'))
string10.count('o') :  4
# lstrip(): 截掉字符串左边的空格或指定字符
string11 = "     South China University of Technology    "
print(string11.lstrip())
string12 = "#2021年度报告"
print(string12.lstrip('#')) # 将抖音话题的#符号去掉

# .rstrip(): 截掉字符串右边的空格或指定字符
print(string11.lstrip().rstrip())

# .strip([chars]): 在字符串上执行 lstrip()和 rstrip()
print(string11.strip())
South China University of Technology    
2021年度报告
South China University of Technology
South China University of Technology
# split(str="", num=string.count(str)): 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
string13 = "Welcome to China!"
print(string13.split()) # 以空格为分隔符

url = "https://www.runoob.com/python/python-func-input.html"
#以“.” 进行分隔
path =url.split("/")
print(path)
['Welcome', 'to', 'China!']
['https:', '', 'www.runoob.com', 'python', 'python-func-input.html']

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:02:37  更:2022-01-03 16:02:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:33:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码