您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

python之最详细字符串篇

时间:2020-11-05 11:45:46  来源:  作者:

Python/ target=_blank class=infotextkey>Python中引号引起来的就是字符串

索引

索引(下标)通过索引下标可以精确的地位到某个元素

零基础小白学习:python之最详细字符串篇

 

# 变量名未 titl的字符串
title = 'python最NB'

print(title[0])
# 控制台输出 p
print(title[1])
# 控制台输出 y
print(title[5])
# 控制台输出 n
print(title[-1])
# 控制台输出 B
复制代码

切片

# 切片
language = 'python, JAVA, JavaScript, c, c++, c#'
# 第一个参数是开始的索引下标, 第二个是结束的索引下标,(但是不会取到最后一个索引的元素, xxx[x:y] (y-1))

# 从索引为0的位置开始,取后面所有元素
print(language[0:])
# 控制台输出 python, java, javascript, c, c++, c#

# 从倒数索引的第一个元素开始,向前面取,取所有元素。
print(language[:-1])
# 此时不包含 #元素,
# 控制台输出 python, java, javascript, c, c++, c

# 从索引为0个元素开始,取到第6个元素。
print(language[0:6])
# 控制台输出 pytho

# 从索引为8的元素开始,取到第12个元素。
print(language[8:12])
# 控制台输出 java

# 从索引为14的元素开始,取到第24个元素。
print(language[14:24])
# 控制台输出 javascript

# 步长
# **[起始位置:终止位置:步长] 步长默认为1**

# 从索引为0的元素开始,取得末尾, 步长为1
print(language[0::1])
# 控制台输出 python, java, javascript, c, c++, c#

# 从索引为0的元素开始,取得末尾, 步长为2
print(language[0::2])
# 控制台输出 pto,jv,jvsrp,c +,c

# 从索引为8的元素开始,到索引为24的元素结束, 步长为 4
print(language[8:24:4])
# 控制台输出 j,vr

# 从索引为24的元素开始,到索引为24的元素结束, 步长为 6
print(language[24:-1:6])
# 控制台输出 ,+

print(language[100:800:50])
# 切片的时候起始位置和终止位置都超出的时候不会进行报错

# print(language[100])
# 索引的时候索引值超出范围的时候会报错
复制代码

字符串方法

如果大家在学习中遇到困难,想找一个python学习交流环境,可以加入我们的python圈,关注小编,并私信“01”即可进圈,领取python学习资料,会节约很多时间,减少很多遇到的难题。

字符串大小写方法

# 定义变量名为 message 的字符串
message = "I'm a string method"
# 字符串全小写
print(message.lower())
# 控制台输出 i'm a string method

# 字符串全大写
print(message.upper())
# 控制台输出 I'M A STRING METHOD

# 引用场景
code = input('请输入验证码(ABCD):')
if code.upper() == 'ABCD':
    print('验证码正确')
else:
    print('验证码错误!请重试。。。')
复制代码

首字母大写

message = 'python'

print(message.capitalize())
# 控制台输出 Python
复制代码

每个单词首字母大写

message = 'Python is the best language in the world'

print(message.title())
# # 控制台输出 Python Is The Best Language In The World
复制代码

大小写反转

message = 'Python is the best language in the world'
print(message.swapcase())
# 控制台输出 pYTHON IS THE BEST LANGUAGE IN THE WORLD
复制代码

以什么开头 startswith()

# startswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数 beg 和 end  指定值,则在指定范围内检查

# startswith()方法语法:
# str.startswith(str, beg=0,end=len(string));
# 参数
# str -- 检测的字符串。
# strbeg -- 可选参数用于设置字符串检测的起始位置。
# strend -- 可选参数用于设置字符串检测的结束位置。

message = 'startswith'
print(message.startswith('s'))
# 控制台输出 True

message = 'startswith'
print(message.startswith('s', 1, 5))
# 控制台输出 False

message = 'startswith'
print(message.startswith('s', 5, -1))
# 控制台输出 True
复制代码

以什么结尾 endswith()

# 以什么结尾
# endswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数 beg 和 end  指定值,则在指定范围内检查

# endswith()方法语法:
# str.endswith(str, beg=0,end=len(string));
# 参数
# str -- 检测的字符串。
# strbeg -- 可选参数用于设置字符串检测的起始位置。
# strend -- 可选参数用于设置字符串检测的结束位置。

message = 'endswith'
print(message.endswith('h'))
# 控制台输出 True

print(message.endswith('s'))
# 控制台输出 False
复制代码

统计

# Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置
# str.count(sub, start= 0,end=len(string))
# 参数
# sub -- 搜索的子字符串
# start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
# end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
message = 'abcabcsdeflsdksdasd'

# 查询message字符串中 s字符出现了几次
print(message.count('s'))
# 控制台输出 4

# 查询message字符串中 a字符出现了几次
print(message.count('a'))
# 控制台输出 3
复制代码
# Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
#
# 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
#
# 语法
# strip()方法语法:
#
# str.strip([chars]);
# 参数
# chars -- 移除字符串头尾指定的字符序列。
message = '**nmb**'

# 去掉头和尾的 **字符
print(message.strip('**'))
# # 控制台输出 nmb

# 注意删除多个字符时:只要头尾有对应其中的某个字符即删除,不考虑顺序,直到遇到第一个不包含在其中的字符为止。
message = '123132231213321312==321312213231123132'
print(message.strip('123'))
# # 控制台输出 ==
复制代码

分割 split()

# 分割:以空格和换行符以及制表符进行分割 或者任意符合
# split() 方法语法:
# 
# str.split(str="", num=string.count(str)).
# 参数
# str -- 分隔符,默认为所有的空字符,包括空格、换行(n)、制表符(t)等。
# num -- 分割次数。默认为 -1, 即分隔所有。
# 返回值
# 返回分割后的字符串列表。
message = '*1 *2* 3*4 *5* 6*7'

# 以 空格' 号分割
print(message.split())
# 控制台输出['*1', '*2*', '3*4', '*5*', '6*7']

# 以 * 号分割
print(message.split('*'))
# 控制台输出 ['', '1 ', '2', ' 3', '4 ', '5', ' 6', '7']
复制代码

替换 replace()

# 替换
# 语法
# replace()方法语法:
# 
# str.replace(old, new[, max])
# 参数
# old -- 将被替换的子字符串。
# new -- 新字符串,用于替换old子字符串。
# max -- 可选字符串, 替换不超过 max 次
# 返回值
# 返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

message = 'java是世界上最好的语言'

# 将 java 替换为 python
print(message.replace('java', 'python'))
# 控制台输出 python是世界上最好的语言
复制代码

居中---填充

# Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
# 
# 语法
# center()方法语法:
# 
# str.center(width[, fillchar])
# 参数
# width -- 字符串的总宽度。
# fillchar -- 填充字符。
# 返回值
# 该方法返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。
message = 'python'

print(message.center(30, '*'))
# 控制台输出 ************python************
复制代码

查找

# Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
#
# 语法
# find()方法语法:
#
# str.find(str, beg=0, end=len(string))
# 参数
# str -- 指定检索的字符串
# beg -- 开始索引,默认为0。
# end -- 结束索引,默认为字符串的长度。
# 返回值
# 如果包含子字符串返回开始的索引值,否则返回-1。
message = 'python'

print(message.find('n'))
# 控制台输出 5

print(message.find('h', 0, 4))
# 控制台输出 3

print(message.find('n', 2, 4))
# 控制台输出 -1
复制代码

查询

# 查询
# Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,(该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。 现在好像不会了)
#
# 语法
# index()方法语法:
#
# str.index(str, beg=0, end=len(string))
# 参数
# str -- 指定检索的字符串
# beg -- 开始索引,默认为0。
# end -- 结束索引,默认为字符串的长度。
# 返回值
# 如果包含子字符串返回开始的索引值,否则抛出异常。
message = 'python'

print(message.index('o'))
# # 控制台输出 4

print(message.index('n'))
# # 控制台输出 5
#
print(message.index('h', 0, 4))
# # 控制台输出 3

# print(message.index('x', 0, 4))
# # 控制台输出 
# Traceback (most recent call last):
#   File "C:UsersAdministratorDesktoppypy_01_字符串.py", line 280, in <module>
#     print(message.index('x', 0, 4))
# ValueError: substring not found
复制代码

拼接

# Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
#
# 语法
# join()方法语法:
#
# str.join(sequence)
# 参数
# sequence -- 要连接的元素序列。
# 返回值
# 返回通过指定字符连接序列中元素后生成的新字符串

message = 'python'

print('*'.join(message))
# 控制台输出 p*y*t*h*o*n
复制代码

格式化 format()


# 按照位置顺序进行填充
name = "python{},{},{}"
print(name.format(1, 2, 3))
# 控制台输出 python1,2,3

# # 按照索引值进行填充
name = "python{2},{0},{1}"
print(name.format("a", "b", "c"))
# 控制台输出 pythonc,a,b

# # 按照关键字进行填充
name = "python{a},{b},{c}"
print(name.format(a=1, c=2, b=3))
# 控制台输出 python1,3,2
复制代码

is 系列

# num = 'python'
# 判断是不是字母,数字,中文
# print(num.isalnum())
# 控制台输出 true

# message = 'pppppppp'
# # 判断是不是字母,中文
# print(message.isalpha())
# # 控制台输出 true

# message = '11111111111d'
# # 判断字符串是不是全都是阿拉伯数字
# print(message.isdigit())
# # # 控制台输出 false
# message = '11111111111'
# # 判断字符串是不是全都是阿拉伯数字
# print(message.isdigit())
# # # 控制台输出 true

message = '1233'
# 判断是否是十进制
print(message.isdecimal())
# # # 控制台输出 true

message = '1233d'
# 判断是否是十进制
print(message.isdecimal())
# # # 控制台输出 false
复制代码

这里还有很多未列出的方法,那就只有小伙伴们自己学习和发现了!



Tags:python 字符串   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
python中引号引起来的就是字符串索引索引(下标)通过索引下标可以精确的地位到某个元素 # 变量名未 titl的字符串title = &#39;python最NB&#39;print(title[0])# 控制台输出 pp...【详细内容】
2020-11-05  Tags: python 字符串  点击:(140)  评论:(0)  加入收藏
python关于字符串的内容真的不是一般的多,零零碎碎的学很容易疏漏。我花了一晚上认真的整理了一张思维导图。这里没法贴思维导图,所以只好贴文本了,有需要思维导图的同学关注并...【详细内容】
2020-09-10  Tags: python 字符串  点击:(67)  评论:(0)  加入收藏
前言使用Python的伙伴们,经常会用到print输出日志进行调试,那么如何格式化输出字符串?今天跟大家继续分享关于Python的小知识。 说明我们经常会用到%-formatting和str.format()...【详细内容】
2020-06-26  Tags: python 字符串  点击:(84)  评论:(0)  加入收藏
▌简易百科推荐
近几年 Web3 被炒得火热,但是大部分人可能还不清楚什么是 Web3,今天就让w3cschool编程狮小师妹带你了解下 Web3 是什么?与我们熟知的 Web1 和 Web2 又有什么区别呢?web3.0什么是...【详细内容】
2022-07-15  编程狮W3Cschool    Tags:Web3.0   点击:(2)  评论:(0)  加入收藏
1、让我们一起来看下吧,直接上图。 第一眼看到是不是觉得很高逼格,暗黑画风,这很大佬。其实它就是------AidLearning。一个运行在安卓平台的linux系统,而且还包含了许多非常强大...【详细内容】
2022-07-15  IT智能化专栏    Tags:AidLearning   点击:(2)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能 基于RBAC权限系统 录像回放 ...【详细内容】
2022-07-14  菜鸟程序猿    Tags:Python   点击:(3)  评论:(0)  加入收藏
前言今天笔者想和大家来聊聊python接口自动化的MySQL数据连接,废话不多说咱们直接进入主题吧。 一、什么是 PyMySQL?PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,P...【详细内容】
2022-07-11  测试架构师百里    Tags:python   点击:(19)  评论:(0)  加入收藏
aiohttp什么是 aiohttp?一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。安装pip install aiohttpaiohttp 和 r...【详细内容】
2022-07-11  VT漫步    Tags:aiohttp   点击:(15)  评论:(0)  加入收藏
今天我们学习下 Queue 的进阶用法。生产者消费者模型在并发编程中,比如爬虫,有的线程负责爬取数据,有的线程负责对爬取到的数据做处理(清洗、分类和入库)。假如他们是直接交互的,...【详细内容】
2022-07-06  VT漫步    Tags:Python Queue   点击:(34)  评论:(0)  加入收藏
继承:是面向对象编程最重要的特性之一,例如,我们每个人都从祖辈和父母那里继承了一些体貌特征,但每个人却又不同于父母,有自己独有的一些特性。在面向对象中被继承的类是父类或基...【详细内容】
2022-07-06  至尊小狸子    Tags:python   点击:(25)  评论:(0)  加入收藏
点击上方头像关注我,每周上午 09:00准时推送,每月不定期赠送技术书籍。本文1553字,阅读约需4分钟 Hi,大家好,我是CoCo。在上一篇Python自动化测试系列文章:Python自动化测试之P...【详细内容】
2022-07-05  CoCo的软件测试小栈    Tags:Python   点击:(27)  评论:(0)  加入收藏
第一种方式:res = requests.get(url, params=data, headers = headers)第二种方式:res = requests.get(url, data=data, headers = headers)注意:1.url格式入参只支持第一种方...【详细内容】
2022-07-05  独钓寒江雪之IT    Tags:Python request   点击:(19)  评论:(0)  加入收藏
什么是python类的多态python的多态,可以为不同的类实例,或者说不同的数据处理方式,提供统一的接口。用比喻的方式理解python类的多态比如,同一个苹果(统一的接口)在孩子的眼里(类实...【详细内容】
2022-07-04  写小说的程序员    Tags:python类   点击:(28)  评论:(0)  加入收藏
站内最新
站内热门
站内头条