>>'www.jb51.net''www.jb51.net'>>>"www ; 更新日期:2024/11/17 饿虎岗资源网" />

当前位置:首页 >> 脚本专栏

Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创

前面简单介绍了Python基本运算,这里再来简单讲述一下Python字符串相关操作

1. 字符串表示方法

> "www.jb51.net" #字符串使用单引号(')或双引号(")表示
'www.jb51.net'
> 'www.jb51.net'
'www.jb51.net'
> "www."+"jb51"+".net" #字符串可以用“+”号连接
'www.jb51.net'
> "#"*10 #字符串可以使用“*”来代表重复次数
'##########'
> "What's your name" #单引号中可以直接使用双引号,同理双引号中也可以直接使用单引号
"What's your name"
> path = r"C:\newfile" #此处r开头表示原始字符串,里面放置的内容都是原样输出
> print(path)
C:\newfile

2. 字符串运算

> str1 = "python test"
> "test" in str1 #这里in用来判断元素是否在序列中
True
> len(str1) #这里len()函数求字符串长度
11
> max(str1)
'y'
> min(str1)
' '

3. 字符串格式化输出(这里重点讲format函数)

> "I like %s" % "python" #使用%进行格式化输出的经典表示方式
'I like python'
> dir(str) #列出字符串所有属性与方法
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', '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']

format(*args,**kwargs) 采用*args赋值

> str = "I like {1} and {2}" #这里{1}表示占位符(注意:这里得从{0}开始)
> str.format("python","PHP")
Traceback (most recent call last):
 File "<pyshell#5>", line 1, in <module>
  str.format("python","PHP")
IndexError: tuple index out of range
> str = "I like {0} and {1}"
> str.format("python","PHP")
'I like python and PHP'
> "I like {1} and {0}".format("python","PHP")
'I like PHP and python'
> "I like {0:20} and {1:>20}".format("python","PHP")#{0:20}表示第一个位置占据20个字符,并且左对齐。{1:>20}表示第二个位置占据20个字符,且右对齐
'I like python        and         PHP'
> "I like {0:.2} and {1:^10.2}".format("python","PHP")#{0:.2}表示第一个位置截取2个字符,左对齐。{1:^10.2}表示第二个位置占据10个字符,且截取2个字符,^表示居中
'I like py and   PH  '
> "age: {0:4d} height: {1:6.2f}".format("32","178.55") #这里应该是数字,不能用引号,否则会被当作字符串而报错!
Traceback (most recent call last):
 File "<pyshell#0>", line 1, in <module>
  "age: {0:4d} height: {1:6.2f}".format("32","178.55")
ValueError: Unknown format code 'd' for object of type 'str'
> "age: {0:4d} height: {1:8.2f}".format(32,178.5523154) #这里4d表示长度为4个字符的整数,右对齐。8.2f表示长度为8,保留2位小数的浮点数,右对齐。
'age:  32 height:  178.55'

format(*args,**kwargs) 采用**kwargs赋值

> "I like {str1} and {str2}".format(str1 = "python",str2 ="PHP")
'I like python and PHP'
> data = {"str1":"PHP","str2":"Python"}
> "I like {str1} and {str2}".format(**data)
'I like PHP and Python'

小结:对齐方式为:
< 左对齐 > 右对齐 ^ 居中对齐

4. 字符串函数

> # isalpha()判断字符串是否全部为字母
> str1 = "I like python" #这里str1里面有空格
> str1.isalpha()
False
> str2 = "pythonDemo" #这里为全部是字母
> str2.isalpha()
True

> # split()分割字符串
> smp = "I like Python"
> smp.split(" ")
['I', 'like', 'Python']

> # strip()去除字符串两端空格 ,类似的,lstrip去除左侧空格,rstrip去除右侧空格
> strDemo = "  python demo  "
> strDemo.strip() #类似于php中的trim()函数
'python demo'
> "****python**".strip("*") #strip()函数还可删除指定字符
'python'

字符串常用函数【转换、判断】

split() 分割字符串 strip() 去除字符串两端空格 upper() 转大写 lower() 转小写 capitalize() 首字母转大写 title() 转换为标题模式(字符串中所有首字母大写,其他字母小写) swapcase() 大写转小写,小写转大写(如:"I Like Python".swapcase() 得到i lIKE pYTHON) isupper() 判断字母是否全部为大写 islower() 判断字母是否全部为小写 istitle() 判断是否为标题模式(字符串中所有单词首字母大写,其他小写) isalpha() 判断字符串是否全部为字母 isdigit() 判断字符串是否全部为数字 isalnum() 判断字符串是否仅包含字母与数字

> #字符串拼接(对于+不适用的情况下可以使用)
> smp = "I like Python"
> c = smp.split(" ")
> c = "I like python".split()
> type(c) #这里检测类型,可以看到c为列表
<class 'list'>
> "*".join(c)
'I*like*Python'
> " ".join(c)
'I like Python'
> " ".join(["I","Like","python"]) #这里可以直接使用列表作为join函数的参数
'I Like python'
> " ".join("abcd") #也可直接使用字符串作为join函数的参数
'a b c d'

> # count()函数统计指定字符串出现次数
> "like python,learn python".count("python")
2

> # find()函数查找指定字符串出现位置
> "python Demo".find("python")
0
> "python Demo".find("Demo")
7

> # replace(old,new)函数替换指定字符串(old)为新字符串(new)
> "I like php".replace("php","python")
'I like python'

简单入门教程~

基本一看就懂~O(∩_∩)O~

未完待续~~欢迎讨论!!