前面简单介绍了Python基本运算,这里再来简单讲述一下Python字符串相关操作
1. 字符串表示方法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
>>> "www.zzvips.com" #字符串使用单引号(')或双引号(")表示 'www.zzvips.com' >>> 'www.zzvips.com' 'www.zzvips.com' >>> "www." + "jb51" + ".net" #字符串可以用“+”号连接 'www.zzvips.com' >>> "#" * 10 #字符串可以使用“ * ”来代表重复次数 '##########' >>> "What's your name?" #单引号中可以直接使用双引号,同理双引号中也可以直接使用单引号 "What's your name?" >>> path = r "C:\newfile" #此处r开头表示原始字符串,里面放置的内容都是原样输出 >>> print (path) C:\newfile |
2. 字符串运算
1
2
3
4
5
6
7
8
9
|
>>> str1 = "python test" >>> "test" in str1 #这里in用来判断元素是否在序列中 True >>> len (str1) #这里len()函数求字符串长度 11 >>> max (str1) 'y' >>> min (str1) ' ' |
3. 字符串格式化输出(这里重点讲format函数)
1
2
3
4
|
>>> "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赋值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
>>> 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赋值
1
2
3
4
5
|
>>> "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. 字符串函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
>>> # 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() |
判断字符串是否仅包含字母与数字 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
>>> #字符串拼接(对于+不适用的情况下可以使用) >>> 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~
未完待续~~欢迎讨论!!