「Python」字符串操作内置函数
目录:
- capitalize
- casefold
- center
- count
- encode
- decode
- endswith
- expandtabs
- find
- format
- format_map
- index
- isalnum
- isalpha
- isdecimal
- isdigit
- isidentifier
- islower
- isnumeric
- isprintable
- isspace
- istitle
- isupper
- join
- ljust
- lower
- lstrip
- maketrans
- partition
- replace
- rfind
- rindex
- rjust
- rpartition
- rsplit
- rstrip
- split
- splitlines
- startswith
- strip
- swapcase
- title
- translate
- upper
- zfill
1.0 capitalize()函数
描述:将字符串的第一个字母变成大写,其余字母变为小写。
语法:str.capitalize() —> str 返回字符串
str1 = "i Love python"
str2 = " i Love python" #字母i前有空格
str3 = "I Love python"
print(str1.capitalize())
print(str2.capitalize())
print(str3.capitalize())
程序运行结果:
I love python
i love python
I love python
2.0 lower()函数
描述:将字符串中的所有大写字母转换为小写字母。
语法:str.lower() -> str 返回字符串
str1 = "I Love Python"
str2 = "Groß - α" #德语 大写α
print(str1.casefold())
print(str1.lower())
print(str2.casefold())
print(str2.lower())
程序运行结果:
i love python
i love python
gross - α
groß - α
注意
lower()函数和casefold()函数的区别:
lower() 方法只对ASCII编码,即‘A-Z’有效,对于其它语言中把大写转换为小写的情况无效,只能用 casefold() 函数。
3.0 casefold()函数
描述:将字符串中的所有大写字母转换为小写字母。
语法:str.casefold() -> str 返回字符串
str1 = "I Love Python"
str2 = "Groß - α" #德语 大写α
print(str1.casefold())
print(str1.lower())
print(str2.casefold())
print(str2.lower())
程序运行结果:
i love python
i love python
gross - α
groß - α
4.0 center()函数
描述:返回一个长度为width,两边用fillchar(单字符)填充的字符串,即字符串str居中,两边用fillchar填充。若字符串的长度大于width,则直接返回字符串str
语法:str.center(width , "fillchar") -> str 返回字符串 注意:引号不可省
str = "i love python"
print(str.center(20,"*"))
print(str.center(1,"*"))
print(str.center(20,"8"))
程序运行结果:
***i love python****
i love python
888i love python8888
5.0 count()函数
描述:统计字符串里某个字符出现的次数。可以选择字符串索引的起始位置和结束位置。
语法:str.count("char", start,end) 或 str.count("char") -> int 返回整数
str为要统计的字符(可以是单字符,也可以是多字符),star为索引字符串的起始位置,默认参数为0,end为索引字符串的结束位置,默认参数为字符串长度即len(str)
str = "i love python,i am learning python"
print(str.count("i")) #star 和end 为默认参数
print(str.count("i",2)) # star值为2,end值为默认参数
print(str.count("i",2,5)) #star值为2,end值为5
print(str.count("am")) #多字符统计
程序运行结果:
3
2
0
1
6.0 encode()函数
描述:以指定的编码格式编码字符串,默认编码为 'utf-8'。
语法:str.encode(encoding='utf-8', errors='strict') -> bytes (获得bytes类型对象)
- encoding 参数可选,即要使用的编码,默认编码为 'utf-8'。字符串编码常用类型有:utf-8,gb2312,cp936,gbk等。
- errors 参数可选,设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeEncodeError。 其它可能值有 'ignore', 'replace', 'xmlcharrefreplace'以及通过 codecs.register_error() 注册其它的值。
str1 = "我爱祖国"
str2 = "I love my country"
print("utf8编码:",str1.encode(encoding="utf8",errors="strict")) #等价于print("utf8编码:",str1.encode("utf8"))
print("utf8编码:",str2.encode(encoding="utf8",errors="strict"))
print("gb2312编码:",str1.encode(encoding="gb2312",errors="strict"))#以gb2312编码格式对str1进行编码,获得bytes类型对象的str
print("gb2312编码:",str2.encode(encoding="gb2312",errors="strict"))
print("cp936编码:",str1.encode(encoding="cp936",errors="strict"))
print("cp936编码:",str2.encode(encoding="cp936",errors="strict"))
print("gbk编码:",str1.encode(encoding="gbk",errors="strict"))
print("gbk编码:",str2.encode(encoding="gbk",errors="strict"))
程序运行结果:
utf8编码: b'\xe6\x88\x91\xe7\x88\xb1\xe7\xa5\x96\xe5\x9b\xbd'
utf8编码: b'I love my country'
gb2312编码: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'
gb2312编码: b'I love my country'
cp936编码: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'
cp936编码: b'I love my country'
gbk编码: b'\xce\xd2\xb0\xae\xd7\xe6\xb9\xfa'
gbk编码: b'I love my country'
注:在python中encode和decode分别指编码和解码
7.0 decode()函数
描述:以 encoding 指定的编码格式解码字符串,默认编码为字符串编码。
- encoding ——要使用的编码,如:utf-8,gb2312,cp936,gbk等。
- errors ——设置不同解码错误的处理方案。默认为 'strict',意为编码错误引起一个 UnicodeDecodeError。 其它可能得值有 'ignore', 'replace'以及通过 codecs.register_error() 注册的1其它值。
语法:str.decode(encoding='utf-8', errors='strict')
s = "我爱祖国"
str1 = s.encode(encoding="utf-8",errors="strict")
str2 = s.encode("gb2312") #编码错误的处理方案默认为"strict"
str3 = s.encode("gbk")
print(str1.decode(encoding="utf-8",errors="strict"))#用utf-8的解码格式,解码str1.
print(str1.decode(encoding="gbk",errors="ignore"))##如果以gbk的解码格式对str1进行解码得,将无法还原原来的字符串内容
print(str1.decode(encoding="gbk",errors="strict"))
print(str1.decode(encoding="gbk",errors="replace"))
print("
")
print(str2.decode("gb2312"))
print(str3.decode("gbk"))
程序运行结果:
我爱祖国
鎴戠埍绁栧浗
鎴戠埍绁栧浗
鎴戠埍绁栧浗
我爱祖国
我爱祖国
8.0 endswith()函数
描述:判断字符串是否以指定字符或子字符串结尾。
语法:str.endswith("suffix", start, end) 或
str[start,end].endswith("suffix") 用于判断字符串中某段字符串是否以指定字符或子字符串结尾。
—> bool 返回值为布尔类型(True,False)
- suffix — 后缀,可以是单个字符,也可以是字符串,还可以是元组("suffix"中的引号要省略,常用于判断文件类型)。
- start —索引字符串的起始位置。
- end — 索引字符串的结束位置。
- str.endswith(suffix) star默认为0,end默认为字符串的长度减一(len(str)-1)
注意:空字符的情况。返回值通常为True
str = "i love python"
print("1:",str.endswith("n"))
print("2:",str.endswith("python"))
print("3:",str.endswith("n",0,6))# 索引 i love 是否以“n”结尾。
print("4:",str.endswith("")) #空字符
print("5:",str[0:6].endswith("n")) # 只索引 i love
print("6:",str[0:6].endswith("e"))
print("7:",str[0:6].endswith(""))
print("8:",str.endswith(("n","z")))#遍历元组的元素,存在即返回True,否者返回False
print("9:",str.endswith(("k","m")))
#元组案例
file = "python.txt"
if file.endswith("txt"):
print("该文件是文本文件")
elif file.endswith(("AVI","WMV","RM")):
print("该文件为视频文件")
else:
print("文件格式未知")
程序运行结果:
1: True
2: True
3: False
4: True
5: False
6: True
7: True
8: True
9: False
该文件是文本文件
9.0 startswith()函数
描述:判断字符串是否以指定字符或子字符串开头。
语法:str.endswith("suffix", start, end) 或
str[start,end].endswith("suffix") 用于判断字符串中某段字符串是否以指定字符或子字符串结尾。
—> bool 返回值为布尔类型(True,False)
- suffix — 后缀,可以是单个字符,也可以是字符串,还可以是元组("suffix"中的引号要省略)。
- start —索引字符串的起始位置。
- end — 索引字符串的结束位置。
- str.endswith(suffix) star默认为0,end默认为字符串的长度减一(len(str)-1)
注意:空字符的情况。返回值通常也为True
str = "hello,i love python"
print("1:",str.startswith("h"))
print("2:",str.startswith("l",2,10))# 索引 llo,i lo 是否以“n”结尾。
print("3:",str.startswith("")) #空字符
print("4:",str[0:6].startswith("h")) # 只索引 hello,
print("5:",str[0:6].startswith("e"))
print("6:",str[0:6].startswith(""))
print("7:",str.startswith(("h","z")))#遍历元组的元素,存在即返回True,否者返回False
print("8:",str.startswith(("k","m")))
程序运行结果:
1: True
2: True
3: True
4: True
5: False
6: True
7: True
8: False
10.0 expandtabs()函数
描述:返回一个字符串的副本。使原字符串中的制表符(" ")的使用空间变大。使用空格来扩展空间。
语法: str.expandtabs(tabsize=8) —> str 返回字符串
- tabsize 的默认值为8。tabsize值为0到7等效于tabsize=8。tabsize每增加1,原字符串中“ ”的空间会多加一个空格。
str = "i love python"
print(str.expandtabs())#默认值为8
print(str.expandtabs(tabsize=8))
print(str.expandtabs())
print(str.expandtabs(2)) #tabsize值为0到7,与tabsize值为8相同
print(str.expandtabs(tabsize=2))
print(str.expandtabs(tabsize=9))
print(str.expandtabs(tabsize=10))
程序运行结果:
i love python
i love python
i love python
i love python
i love python
i love python
i love python
11.0 find()函数
描述:查找字符串中第一次出现的子字符串的位置,可以规定字符串的索引查找范围。若无则返回 -1
语法:str.find(sub,start,end) -> int 返回整数。
- sum —要索引的子字符串
- start —索引的起始位置。默认值为0
- end —索引的结束位置。默认值为字符串长度减一(len(str)-1)
[start,end) 不包括end
str = "i love python"
print(str.find("o")) #索引子字符串"o"
print(str.find("0",4))#索引起始位置为4
print(str.find("o",4,12))#索引起始位置为4,结束位置为12 即:ve pytho
print(str.find("k")) #索引子字符串"k",不存在,返回-1
程序运行结果:
3
-1
11
-1
12.0 format_map()函数:
描述:返回字符串的格式化版本。
语法:str.format_map(mapping) -> str 返回字符串
student = {"name":["张三","李四"],"idcard":[1,2]} print("我的名字是{name[0]},我的学号是{idcard[0]}".format_map(student))
print("我的名字是{name[0]},我的学号是{idcard[1]}".format_map(student)) print(["我的名字是{},我的学号是{}".format(*x) for x in zip(student["name"],student["idcard"])]) #以列表的形式输出
print("我的名字是{},我的学号是{}".format(*x) for x in zip(student["name"],student["idcard"])) print(["我的名字是{},我的学号是{}".format(*x) for x in zip(*map(student.get,["name","idcard"]))]) #以列表的形式输出
print("我的名字是{},我的学号是{}".format(*x) for x in zip(*map(student.get,["name","idcard"]))) for i in range(len(student)):
print("我的名字是{{name[0]}},我的学号是{{idcard[0]}}".format(i).format_map(student))
# {{ }} 等效于{ }
程序运行结果:
我的名字是张三,我的学号是1
我的名字是张三,我的学号是2 ['我的名字是张三,我的学号是1', '我的名字是李四,我的学号是2']
<generator object <genexpr> at 0x0000018F5E1CFF68> ['我的名字是张三,我的学号是1', '我的名字是李四,我的学号是2']
<generator object <genexpr> at 0x0000018F5E1CF200> 我的名字是张三,我的学号是1
我的名字是张三,我的学号是1
13.0 index()函数
描述:查找字符串中第一次出现的子字符串的位置,可以规定字符串的索引查找范围。若无则会报错
语法:str.index(sub, start, end) -> int 返回整数。
str = "i love python"
print(str.index("o")) #默认索引整个字符串
print(str.index("o",4)) #索引 ve python
print(str.index("o",4,12)) #索引 ve pytho
print(str.index("love")) #索引多个字符
print(str.index("k")) #索引字符串不存在,报错
程序运行结果:
3
11
11
2
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-90-a880e13b1574> in <module>()
4 print(str.index("o",4,12)) #索引 ve pytho
5 print(str.index("love")) #索引多个字符
----> 6 print(str.index("k")) ValueError: substring not found
注:index()函数和find()函数类似,但index()函数没有找到子字符串会报错。
14.0 isalnum()函数
描述:检测字符串是否由字母和数字组成。
语法:str.isalnum() -> bool 返回值为布尔类型(True,False)
- str中至少有一个字符且所有字符都是字母或数字则返回 True,否则返回 False
str1 = "i love python 666" #有空格,不全是字母或数字
str2 = "python" #全为字母
str3 = "123" #全为数字
str4 = "python666" #字母和数字的组合
print(str1.isalnum())
print(str2.isalnum())
print(str3.isalnum())
print(str4.isalnum())
程序运行结果:
False
True
True
True
15.0 isalpha()函数
描述:检测字符串是否只由字母组成.
语法:str.isalpha() -> bool 返回值为布尔类型(True,False)
- 字符串中至少有一个字符且所有字符都是字母则返回 True,否则返回 False
str1 = "python" #全为字母
str2 = " python" #存在空格
str3 = "123" #全为数字
str4 = "python666" #字母和数字的组合
print(str1.isalpha())
print(str2.isalpha())
print(str3.isalpha())
print(str4.isalpha()
程序运行结果:
True
False
False
False
16.0 isdecimal()函数
描述:检查字符串是否只包含十进制字符。该方法只存在于unicode对象中。
注意:定义一个十进制字符串,只需要在字符串前添加前缀 'u' 即可。
语法: str.isdecimal() -> bool 返回值为布尔类型(True,False)
- 字符串中若只包含十进制字符返回True,否则返回False。
str1 = u"123456"
str2 = u"python666"
str3 = "123456"
str4 = "python666"
print(str1.isdecimal())
print(str2.isdecimal())
print(str3.isdecimal())
print(str4.isdecimal())
程序运行结果:
True
False
True
False
17.0 isdigit()函数
描述:检测字符串是否只由数字组成.
语法: str.isdigit() -> bool 返回值为布尔类型(True,False)
- 字符串中至少有一个字符且所有字符都是数字则返回 True,否则返回 False
- 注:能判断“①”,不能判断中文数字。但 isnumeric() 函数可以
str1 = "python" #全为字母
str2 = " python" #存在空格
str3 = "123" #全为数字
str4 = "python666" #字母和数字的组合
str5 = "一二三四五六七" #中文数字输出False
str6 = "①"
print(str1.isdigit())
print(str2.isdigit())
print(str3.isdigit())
print(str4.isdigit())
print(str5.isdigit())
print(str6.isdigit())
程序运行结果:
False
False
True
False
False
True
18.0 isidentifier()函数
描述:判断str是否是有效的标识符。str为符合命名规则的变量,保留标识符则返回True,否者返回False.
语法:str.isidentifier() -> bool 返回值为布尔类型(True,False)
str1 = "123" #变量名为123
str2 = "def" #变量名为保留字
str3 = "_123" #变量名有下划线开头
str4 = "student"#变量名由字母开端
print(str1.isidentifier())
print(str2.isidentifier())
print(str3.isidentifier())
print(str4.isidentifier())
程序运行结果:
False
True
True
True
19.0 islower()函数
描述:检测字符串中的字母是否全由小写字母组成。(字符串中可包含非字母字符)
语法:str.islower() -> bool 返回值为布尔类型(True,False)
- 字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是小写,则返回 True,否则返回 False
str1 = "i love python" #字符串中的字母全为小写
str2 = "我爱python!" #字符串中的字母全为小写,也存在非字母的字符
str3 = "I love python" #字符串中有大写字符
print(str1.islower())
print(str2.islower())
print(str3.islower())
程序运行结果:
True
True
False
20.0 isupper()函数
描述:检测字符串中的字母是否全由大写字母组成。(字符串中可包含非字母字符)
语法:str.isupper() -> bool 返回值为布尔类型(True,False)
- 字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是大写,则返回 True,否则返回 False
str1 = "I LOVE PYTHON" #全为大写字母
str2 = "i LOVE PYTHON" #存在小写字母
str3 = "我爱PYTHON" #存在非字母的字符
print(str1.isupper())
print(str2.isupper())
print(str3.isupper())
程序运行结果:
True
False
True
「Python」字符串操作内置函数的更多相关文章
- 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环
高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...
- [转]python file文件操作--内置对象open
python file文件操作--内置对象open 说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...
- python 类(object)的内置函数
python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
- Python 字符串字典内置函数&方法
Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 str(dict)输出字典可 ...
- Python学习笔记-Day3-python内置函数
python内置函数 1.abs 求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...
- Python装饰器、内置函数之金兰契友
装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种.所以也可以理解装饰器是一种特殊的函数.因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展, ...
- python学习日记(内置函数)
目前所有内置函数 http://www.runoob.com/python3/python3-built-in-functions.html *菜鸟教程* 内置函数分类 作用域相关globals(). ...
- python类中的内置函数
__init__():__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的初始化.注意,这个名称的开始和结尾都是双下划线.代码例子: #!/usr/bin/p ...
随机推荐
- leetcode个人题解——#49 Group Anograms
思路:利用c++ stl的map来实现关键字匹配, 遍历strs容器类,对其中每一个string进行按字典序排序后,查找是否存在这样一个键,如不存在,存储该键,并将str[i]作为键映射的第一个元素: ...
- js 插件 issue
1 iscroll 5 和 lazyload 同时使用 转自 yinjie //lazyload var $scrollEle = $("#wrapper") $("i ...
- 2018-2019-20172329 《Java软件结构与数据结构》第四周学习总结
2018-2019-20172329 <Java软件结构与数据结构>第四周学习总结 经过这样一个国庆节的假期,心中只有一个想法,这个国庆假期放的,不如不放呢!! 教材学习内容总结 < ...
- mininet实验 脚本实现控制交换机行为
写在前面 本文参考 通过这个实验,我学习到了另一种下流表的方式. 下流表有两种方式(我目前了解): 通过controller下发. 通过OvS提供的API直接向OvS交换机下流表. 本实验脚本已经把相 ...
- 福大软工1816:Beta(3/7)
Beta 冲刺 (3/7) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务 文字/口头描述 参与开发关键词提醒部分 展示GitHu ...
- Alpha冲刺——第九天
Alpha第九天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...
- ubuntu16.04卸载火狐,Amazon
一.卸载火狐: . dpkg --get-selections |grep firefox .sudo apt-get purge firefox unity-scope-firefoxbookmar ...
- 配置resin web方式部署项目
写在前面,推荐下载resin4.0.47版本.其它版本没有测试 最近打算做一个小项目,然后容器选用了resin.想通过web提交war文件的方式 进行部署,更新代码也方便. 试了resin最新的版本( ...
- (一)java数据类型图
┏数值型━┳━整数型:byte short int long ┏基本数据类型━━┫ ┗━浮点型:float double ...
- 【beta】Scrum站立会议第6次....11.8
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 时间:2016.11.8 12:00——12:30 地点:传媒西楼220室 本次对beta阶段 ...