侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python3中str(字符串)的使用教程

Python  /  管理员 发布于 7年前   183

本文主要介绍的是python3中对str(字符串)的使用操作总结,文中介绍的非常详细,需要的朋友们下面来一起看看吧。

__add__函数 (在后面追加字符串)

s1 ='Hello's2 = s1.__add__(' boy!')print(s2)#输出:Hello boy!

__contains__(判断是否包含某字符串,包含则返回True)

s1 = 'Hello'result = s1.__contains__('He')print(result)#输出:True

__eq__(判断两个字符串是否相同,相同则返回True)

s1 = 'Hello's2 = 'How'result = s1.__eq__(s2)print(result)#输出:False

 __format__

#占位

__getattribute__

#占位

__getitem__

#占位

__getnewargs__

#占位

__ge__ (大于或等于)

print('b'.__ge__('a'))#输出:True

__gt__(大于)

print('b'.__ge__('a'))#输出:True

__hash__

#占位

__iter__

#占位

__len__(返回字符串长度)

print('abc'.__len__())#输出:3

__le__(小于或等于)

print('b'.__le__('a'))#输出:False

__lt__(小于)

print('b'.__lt__('a'))#输出:False

__mod__

#占位

__mul__

#占位

__new__

#占位

__ne__

#占位

__repr__

#占位

__rmod__

#占位

__rmul__

#占位

__sizeof__

#占位

__str__(返回自已)

print('abc'.__str__())#输出:abc

capitalize(首字母大写)

s = 'tom'print(s.capitalize())#输出:Tom

casefold(大写转换成小写)

s = 'TOM'print(s.casefold())#输出:tom

center (指定长度和填充字符,内容居中,填充字符留空则为空格)

s = 'Tom'print(s.center(20,'-'))#输出:--------Tom---------

count(计算某个字符串出现的个数,第二个参数:起始位置,第三个参数:结束位置)

s = 'aabbbcccccdd'print(s.count('cc',3,11))#输出:2

encode(编码)

s = "中文"print(s.encode('gbk'))#输出:b'\xd6\xd0\xce\xc4'

endswith(判断字符串是否以某个字符或字符串结尾的,第二个参数:起始位置,第三个参数:结束位置)

s = 'Projects'print(s.endswith('ts'))print(s.endswith('e',0,5))#输出:True# True

expandtabs(把1个tab键转换成7个空格)

s = 'H\ti'print(s.expandtabs())#输出:H i

find(查找某个字符或字符串的索引位置,第二个参数:起始位置,第三个参数:结束位置)

s = 'Hello'print(s.find('o'))print(s.find('o',0,3)) #找不到返回-1#输出:4# -1

format(字符串格式化/拼接)

name = 'Tom'age = 18s = '{0}\'s age is {1}'.format(name,age)print(s)#或者str = '{name}\'s age is {age}'result = str.format(age=18,name='Tom')print(result)#输出:Tom's age is 18

format_map

#占位

index(查找某个字符或字符串的索引位置,和find不一样是,如果字符不存在,会报错)

s = 'Hello'print(s.index('o'))print(s.index('e',0,3))#输出:4# 1

isalnum(是否为字母或数字)

s = '!#'print(s.isalnum())#输出:False

isalpha(是否为字母)

s = '123'print(s.isalpha())#输出:False

isdecimal(是否为十进制数)

s = '123'print(s.isdecimal())#输出:True#True: Unicode数字,,全角数字(双字节)#False: 罗马数字,汉字数字#Error: byte数字(单字节)

isdigit(是否为数字)

s = '123'print(s.isdigit())#输出:True#True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字#False: 汉字数字

isidentifier(是否为标识符/变量名)

s = '1num'print(s.isidentifier())#输出:False#因为变量名不能以数字开头

islower(是否全部为小写字母)

s = 'Hello'print(s.islower())#输出:False

isnumeric(是否为数字)

s = '123'print(s.isnumeric())#输出:True#True: Unicode数字,全角数字(双字节),罗马数字,汉字数字

isprintable(是否为可打印字符/能否原样输出)

s = '\n'print(s.isprintable())#输出:False

isspace(是否为空格)

print(' '.isspace())print('\t'.isspace())#输出:True# True

istitle(是否为标题/每个单词首字母大写)

print('Hello Boy'.istitle())print('hello boy'.istitle())#输出:True# False

isupper(是否全部为大写字母)

print('BOY'.isupper())print('Boy'.isupper())#输出:True# False

join(将序列中的元素以指定的字符连接生成一个新的字符串)

s = ['H','e','l','l','o']print(''.join(s))print('-'.join(s))#输出:Hello# H-e-l-l-o

ljust(指定长度和填充字符,内容左对齐,填充字符留空则为空格)

s = 'Hello'print(s.ljust(10,'-'))#输出:Hello-----

lower(字符串全部换成小写)

s = 'TOM'print(s.lower())#输出:tom

lstrip(移除字符串左侧指定的字符,默认为空格)

s = ' Tom'print(s.lstrip())#输出:Tom

maketrans(创建字符映射的转换表,配合translate函数使用)

intab = "abcde"outtab = "12345"trantab = str.maketrans(intab, outtab)str = "Hello abc"print (str.translate(trantab))#输出:H5llo 123

partition( 指定分隔符,将字符串进行分割)

s = 'IamTom'print(s.partition('am'))#输出:('I', 'am', 'Tom')

replace(把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。)

s = 'Tom'print(s.replace('m','o'))#输出:Too

rfind(从右边查找指定字符串出现的位置,如果没有匹配项则返回-1)

s = 'one two one'print(s.rfind('one'))print(s.rfind('one',0,6)) #指定起始和结束位置#输出:8#  0

rindex(从右边查找指定字符串出现的位置,如果没有匹配项则报错)

s = 'one two one'print(s.rindex('one'))print(s.rindex('one',0,6)) #指定起始和结束位置#输出:8#  0

rjust(指定长度和填充字符,内容右对齐,填充字符留空则为空格)

s = 'Hello'print(s.rjust(10,'-'))#输出:-----Hello

rpartition( 指定分隔符,从右边开始将字符串进行分割)

s = 'IamTom_IamTom'print(s.rpartition('am'))#输出:('IamTom_I', 'am', 'Tom')

rsplit(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)

s = 'a b c d'print(s.rsplit())print(s.rsplit(' ',2)) #从右边开始,按空格分隔两次#输出:['a', 'b', 'c', 'd']#  ['a b', 'c', 'd']

rstrip(删除字符串末尾的指定字符,默认为空格)

s = '!!! I am Tom !!!'print(s.rstrip('!'))#输出:!!! I am Tom

split(指定分隔符对字符串进行切片,如果指定第二个参数num,则只分隔num次,最后返回一个列表)

s = 'a b c d'print(s.split())print(s.split(' ',2)) #从左边开始,按空格分隔两次#输出:['a', 'b', 'c', 'd']# ['a', 'b', 'c d']

splitlines(按换行符来分隔字符串,返回一个列表)

s = 'a\nb\nc'print(s.splitlines()) #默认参数为Falseprint(s.splitlines(True)) #指定Ture参数,则保留换行符#输出:['a', 'b', 'c']#  ['a\n', 'b\n', 'c']

startswith(判断字符串是否以某个字符或字符串开头的,第二个参数:起始位置,第三个参数:结束位置)

s = 'Projects'print(s.startswith('Pr'))print(s.startswith('e',4,8))#输出:True#  True

strip(删除字符串前后的指定字符,默认为空格)

s = '!!! I am Tom !!!'print(s.strip('!'))#输出: I am Tom

swapcase(大小写互换)

s = 'I am Tom'print(s.swapcase())#输出:i AM tOM

title(转换成标题,就是每个单词首字母大写)

s = 'i am tom'print(s.title())#输出:I Am Tom

translate(根据maketrans方法创建的表,进行字符替换)

intab = "abcde"outtab = "12345"trantab = str.maketrans(intab, outtab)str = "Hello abc"print (str.translate(trantab))#输出:H5llo 123

upper(小写转换成大写)

s = 'Hello'print(s.upper())#输出:HELLO

zfill(指定字符串的长度。原字符串右对齐,前面填充0)

s = 'Hello'print(s.zfill(10))# 输出:00000Hello

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家的支持。


  • 上一条:
    python利用Guetzli批量压缩图片
    下一条:
    python中如何使用朴素贝叶斯算法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客