前面简单介绍了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~
未完待续~~欢迎讨论!!