目录:

  1. capitalize
  2. casefold
  3. center
  4. count
  5. encode
  6. decode
  7. endswith
  8. expandtabs
  9. find
  10. format
  11. format_map
  12. index
  13. isalnum
  14. isalpha
  15. isdecimal
  16. isdigit
  17. isidentifier
  18. islower
  19. isnumeric
  20. isprintable
  21. isspace
  22. istitle
  23. isupper
  24. join
  25. ljust
  26. lower
  27. lstrip
  28. maketrans
  29. partition
  30. replace
  31. rfind
  32. rindex
  33. rjust
  34. rpartition
  35. rsplit
  36. rstrip
  37. split
  38. splitlines
  39. startswith
  40. strip
  41. swapcase
  42. title
  43. translate
  44. upper
  45. 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」字符串操作内置函数的更多相关文章

  1. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  2. [转]python file文件操作--内置对象open

    python file文件操作--内置对象open   说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...

  3. python 类(object)的内置函数

    python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...

  4. Python标准库:内置函数hasattr(object, name)

    Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...

  5. Python 字符串字典内置函数&方法

    Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 str(dict)输出字典可 ...

  6. Python学习笔记-Day3-python内置函数

    python内置函数 1.abs    求绝对值 2.all 判断迭代器中的所有数据是否都为true 如果可迭代的数据的所有数据都为true或可迭代的数据为空,返回True.否则返回False 3.a ...

  7. Python装饰器、内置函数之金兰契友

    装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种.所以也可以理解装饰器是一种特殊的函数.因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展, ...

  8. python学习日记(内置函数)

    目前所有内置函数 http://www.runoob.com/python3/python3-built-in-functions.html *菜鸟教程* 内置函数分类 作用域相关globals(). ...

  9. python类中的内置函数

    __init__():__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的初始化.注意,这个名称的开始和结尾都是双下划线.代码例子: #!/usr/bin/p ...

随机推荐

  1. 互评Alpha版本——基于spec评论作品

    组名:可以低头,但没必要 组长:付佳 组员:张俊余  李文涛  孙赛佳  田良  于洋  刘欣  段晓睿 一.二次元梦之队----I DO 在测评该项目时,我们组索要了该组的apk程序,安装之后我就开 ...

  2. Scrum立会报告+燃尽图(Beta阶段第二周第二次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2410 项目地址:https://coding.net/u/wuyy694 ...

  3. 第一次c++团队合作项目第三篇随笔

    这次终于想出来了上次问题的解决方法,就是用多态的方法,让小兵,建筑和英雄继承于Object类,通过指针能实现信息的传递. 同时我也完善了地图中每个Pane类的信息,包括每个格子的位置信息,state( ...

  4. Alpha 冲刺9

    队名:日不落战队 安琪(队长) 今天完成的任务 协助开发手写涂鸦demo. okhttp学习第三弹. 明天的计划 协助开发语音存储demo. 还剩下的任务 个人信息数据get. 遇到的困难 困难:整理 ...

  5. lintcode-422-最后一个单词的长度

    422-最后一个单词的长度 给定一个字符串, 包含大小写字母.空格' ',请返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 注意事项 一个单词的界定是,由字母组成,但不包含任何的空 ...

  6. Lucene 常用名词解析

    索引的创建:IndexWriter: 用于创建索引Directory: 这个可以用来定义我们的索引是存放在内存中还是在硬盘上Analyzer: 分词器 有几种()这个地方需要好好解释下Document ...

  7. 安装DHCP 服务器 指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码

    DHCP服务详解 前言:动态主机配置协议,给局域网内的主机分配IP地址,子网掩码,网关,DNS ARP协议 arp: address resolveing protocol (地址解析协议) 实现:I ...

  8. 三层神经网络自编码算法推导和MATLAB实现 (转载)

    转载自:http://www.cnblogs.com/tornadomeet/archive/2013/03/20/2970724.html 前言: 现在来进入sparse autoencoder的一 ...

  9. 使用Log4在测试过程中打印执行日志 及配置log4j.properties!

    http://zengxiantao.iteye.com/blog/1881706 1.环境配置:到网上下载log4j-1.2.17.jar包!完后 添加到 项目的build path 中即可! 2. ...

  10. 我以前不知道的 Session

    之前只知道 Session 是服务器与客户端的一个会话,有默认过期时间,是服务器端的技术,与之对应的是 Cookie 技术,是客户端技术. 下面的几点是之前不知道的:[或者是忘了] 1 . Sessi ...