欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-09 13:50:34
前面简单介绍了python基本运算,这里再来简单讲述一下python字符串相关操作 1. 字符串表示方法 >>> "www.jb51.net"...

前面简单介绍了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~

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