Python基础核心经典教程(016)——字符串
发布日期:2021-06-30 11:11:34
浏览次数:3
分类:技术文章
本文共 5093 字,大约阅读时间需要 16 分钟。
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
概述
字符串是 Python 中最常用的数据类型;简而言之,字符串用于表示一串字符。通常情况下,在Python 中可以使用一对双引号 " "
或者一对单引号 ' '
定义字符串。假若字符串中存在特殊字符,则可以使用" 或者 ’ 做字符串的转义,但在实际开发中:
- 如果字符串内部需要使用 ",则可以使用一对双引号
" "
定义字符串 - 如果字符串内部需要使用 ',则可以使用一对单引号
' '
定义字符串
在某些特殊情况下,还可以使用三对双引号 """ """
或者三对单引号 ''' '''
定义字符串;在此方式下,引号中的字符可换行。
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串的定义"""# 定义字符串country = "中华人民共和国"city = '石家庄'hi = "I’m rose"hello = """My name is lucy,nice to meet you"""bye = '''OK,bye'''print(country)print(city)print(hi)print(hello)print(bye)
字符串的下标
在Python 中字符串中每个字符都有一个对应的下标(索引),下标从0开始依次递增。所以,我们可使用下标获取字符串中指定位置的字符。
语法如下:
字符串[下标]
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""# 定义字符串country = "China"# 依据下标获取字符串中的字符print(country[0])print(country[1])print(country[2])print(country[3])print(country[4])
除此以外,还常使用for循环遍历字符串。
语法如下:
for 遍历 in 字符串: ............. ............. .............
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""# 定义字符串country = "China"# 利用for循环遍历字符串for i in country: print(i)
字符串的长度
在Python 中看使用字符串的len( )方法获取字符串的长度(字符的个数)
语法如下:
len(字符串)
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""# 定义字符串country = "China"# 计算字符串的长度length = len(country)print("字符串的长度为:%d" % length)小结
字符串的长度=字符串中字符的索引的最大值 + 1
字符串常用方法
在此,按照类别介绍字符串的常用方法。
大小写转换
方法 | 说明 |
---|---|
capitalize() | 将字符串的第一个字符大写 |
title() | 将字符串中每个单词的首字母大写 |
lower() | 转换字符串中所有大写字符为小写 |
upper() | 转换字符串中的小写字母为大写 |
swapcase() | 翻转字符串中的大小写 |
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""sentence = "hi,I love you,Lucy"result = sentence.capitalize()print(result)result = sentence.title()print(result)result = sentence.lower()print(result)result = sentence.upper()print(result)result = sentence.swapcase()print(result)
去除字符串空白字符
方法 | 说明 |
---|---|
lstrip() | 去除字符串左边的空白字符 |
rstrip() | 去除字符串右边的空白字符 |
strip() | 去除字符串左右两边的空白字符 |
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""sentence = " hello "print(sentence)print("字符串原始长度为:%d" % len(sentence))result = sentence.lstrip()print(result)print("字符串长度为:%d" % len(result))result = sentence.rstrip()print(result)print("字符串长度为:%d" % len(result))result = sentence.strip()print(result)print("字符串长度为:%d" % len(result))
判断操作
方法 | 说明 |
---|---|
startswith() | 假若字符串以指定子串开头则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内判断。 |
endswith() | 假若字符串以指定子串结尾则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内判断。 |
isspace() | 假若字符串中只包含空格,则返回 True ,否则返回 False |
isalnum() | 假若字符串中所有字符都是字母或数字则返回 True,否则返回 False |
isalpha() | 假若字符串中所有字符都是字母则返回 True,否则返回 False |
isdecimal() | 假若字符串中所有字符都是数字则返回 True,否则返回 False |
istitle() | 假若字符串是标题化的(每个单词的首字母大写)则返回 True,否则返回 False |
islower() | 假若字符串中每个字符都是小写,则返回 True ,否则返回 False |
isupper() | 假若字符串中每个字符都是大写,则返回 True ,否则返回 False |
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""sentence = "hello,nice to meet you"result = sentence.startswith("hello")print(result)result = sentence.endswith("you")print(result)result = sentence.startswith("hello", 0, 3)print(result)result = sentence.endswith("you", 2, 8)print(result)sentence = " "result = sentence.isspace()print(result)sentence = "hello9527*"result = sentence.isalnum()print(result)sentence = "1949"result = sentence.isdecimal()print(result)sentence = "I Love You"result = sentence.istitle()print(result)sentence = "hi,tom"result = sentence.islower()print(result)sentence = "LOVE"result = sentence.isupper()print(result)
文本对齐
方法 | 说明 |
---|---|
string.ljust(width) | 返回与原字符串左对齐并使用指定字符填充至长度 width 的新字符串 |
string.rjust(width) | 返回与原字符串右对齐并使用指定字符填充至长度 width 的新字符串 |
string.center(width) | 返回与原字符串居中并使用指定字符填充至长度 width 的新字符串 |
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""sentence = "nice"result = sentence.ljust(10, "*")print(result)result = sentence.rjust(10, "*")print(result)result = sentence.center(10, "*")print(result)
查找和替换
方法 | 说明 |
---|---|
find() | 检测字符串是否包含子串。如果包含就返回位置下标;否则返回-1。如果指定检测范围,则在该访问内判断 |
rfind() | 该方法类似于 find(),只不过是从右边开始查找 |
index() | 该方法类似于 find() ,只不过当子串不在字符串中时会报错 |
rindex() | 该方法类似于index(),只不过是从右边开始 |
count() | 统计子串在字符串中出现的次数 |
replace(old_str, new_str, num) | 将字符串中的 old_str 替换成 new_str;如果指定了num,则替换次数不超过 num |
示例
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""sentence = "hello,nice to meet you"result = sentence.find("hello")print(result)result = sentence.rfind("hello")print(result)result = sentence.index("hello")print(result)result = sentence.rindex("hello")print(result)result = sentence.count("o")print(result)result = sentence.replace("o", "c")print(result)result = sentence.replace("o", "c", 1)print(result)
合并与拆分
方法 | 说明 |
---|---|
join() | 使用连接符将多个子串合并成新的字符串 |
split() | 将字符串按照指定规则拆分成多个子串 |
splitlines() | 按照行(’\r’, ‘\n’, ‘\r\n’)分割字符串 |
partition(str) | 依据子串把字符串拆分成三部分(str前, str, str后) |
rpartition(str) | 该方法类似于partition() ,只不过不过是从右边开始查找 |
"""原创作者:谷哥的小弟博客地址:http://blog.csdn.net/lfdfhl示例描述:字符串常用方法"""names = ["lucy", "tom", "rose"]sentence = "-".join(names)print(sentence)sentence = "lucy-tom-rose"result = sentence.split("-")print(result)sentence = "lucyandtomandrose"result = sentence.split("and")print(result)sentence = """hello,My name is lucy"""result = sentence.splitlines()print(result)sentence = "lucy-tom-rose"result = sentence.partition("tom")print(result)sentence = "lucy-tom-rose"result = sentence.rpartition("tom")print(result)
转载地址:https://it9527.blog.csdn.net/article/details/105768380 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月16日 01时05分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MyBatis 初步了解
2021-07-03
MyBatis 配置文件
2021-07-03
MyBatis的动态SQL
2021-07-03
MyBatis学习 关联映射
2021-07-03
MyBatis 一对多 多对多关联映射
2021-07-03
Spring整合MyBatis
2021-07-03
Git进阶-1-GIT下载初识Git
2021-07-03
Git进阶-2-本地配置GIt
2021-07-03
Git进阶-3-GIt其他操作
2021-07-03
Git进阶-4-Git撤销操作
2021-07-03
1-ANT-安装与配置
2021-07-03
2-build.xml 配置
2021-07-03
jenkins学习笔记第十四篇 解决emailext没有发送邮件问题
2021-07-03
3- ant 执行 build.xml
2021-07-03
Charles 抓包修改 request 请求数据和响应数据
2021-07-03
Charles 弱网测试
2021-07-03
Mock框架应用(二)-Mock Get请求
2021-07-03
Mock框架应用(三)-Mock Post请求
2021-07-03
Mock框架应用(四)-Mock 重定向请求
2021-07-03
Java数据结构-串及其应用-KMP模式匹配算法
2021-07-03