一、字符串

字符串是不可变序列,具有序列的公共操作方法,具体操作见python笔记(1)--序列(列表 元组 range)

1、创建字符串

单引号:'Hello , I am Logan ! '

双引号:"Hello , I am Logan ! "

三引号:'''Hello , I am Logan !'''  or  " " "Hello , I am Logan !" " "

2、字符串的操作方法

序号 操作 结果
1 str.capitalize() 返回字符串的拷贝,首字符大写,其余字符小写
2 str.casefold() 返回字符串的拷贝,所有字符变小写(不仅仅用于英文)
3 str.center(width[,fillchar]) 用fillchar填充字符串到指定的宽度width并且居中,默认用空格填充,宽度小于或等于原字符串,将返回原字符串
4 str.count(sub[,start[,end]]) 返回子字符串sub在start到end-1里出现的次数
5 str.endswith(suffix[,start[,end]]) 如果字符串以suffix结尾则返回True,否则返回False,可附加范围start到end-1,suffix为元组或者字符串
6 str.find(sub[,start[,end]]) 返回子字符串的起始位置,没有发现返回-1
7 str.join(iterable) 用str将iterable每个元素分隔组成字符串
8 str.isalpha() 如果字符串中的所有字符都是字母并且至少有一个字符,则返回true,否则返回false
9

str.isdecimal()

如果字符串中的所有字符都是十进制字符并且至少有一个字符,则返回true,否则返回false
10 str.islower() 如果字符串中的所有大小写字符都是小写,并且至少有一个大小写字符,则返回true,否则返回false
11 str.isspace() 如果字符串中只有空白字符并且至少有一个字符,则返回true,否则返回false
12 str.istitle() 如果字符串中所有的单词拼写首字母为大写,且其他字母为小写则返回 True,否则返回 False
13 str.isupper() 如果字符串中的所有大小写字符都为大写并且至少有一个大小写字符,则返回true,否则返回false
14 str.ljust(width[,fillchar]) 用fillchar填充字符串到指定的宽度width并且左对齐,默认用空格填充,宽度小于或等于原字符串,将返回原字符串
15 str.rjust(width[,fillchar]) 用fillchar填充字符串到指定的宽度width并且右对齐,默认用空格填充,宽度小于或等于原字符串,将返回原字符串
16 str.rpartition(sep) 在sep的最后一次出现处拆分字符串,并返回包含分隔符前面的部分、分隔符本身和分隔符后面的部分的3元组。如果找不到分隔符,则返回一个包含两个空字符串的3元组,后跟字符串本身
17 str.replace(old,new[,count]) 返回字符串的副本,其中所有出现的子字符串old都被new替换。如果给定了可选参数整数count,则只替换前count次
18 str.split(sep=None,maxsplit=-1) 返回字符串中的单词列表,使用sep作为分隔符拆分字符串。如果给定了maxsplit,则最多执行maxsplit次拆分(因此,列表将最多包含maxsplit+1个元素)
19 str.startswith(prefix[,start[,end]]) 如果字符串以prefix开头则返回True,否则返回False,可附加范围start到end-1,prefix为元组或者字符串
20 str.title() 字符串中所有首字符大写,其余字符小写
21 str.upper() 返回字符串的拷贝,所有字符变大写
22 str.zfill(width) 字符串左边填充0,到宽度width

3、字符串的操作方法实例

3.1、str.capitalize()

a='heKkkl fjksA'
print(a.capitalize())
Hekkkl fjksa

3.2、str.casefold()

a='heKkkl fjksA'
print(a.casefold())
hekkkl fjksa

3.3、str.center(width[,fillchar])

a='heKkkl fjksA'
print(a.center(30,'*'))
*********heKkkl fjksA*********

3.4、str.count(sub[,start[,end]])

a='heKkkl fjksA'
print(a.count('kk',0,5))
1

3.5、str.endswith(suffix[,start[,end]])

a = 'heKkkl fjksA'
b = 'sA'
c = ('a','A','B')
print(a.endswith(b),a.endswith(c))
True True

3.6、str.find(sub[,start[,end]])

a = 'heKkkl fjksA'
print(a.find('kkl'),a.find('kkl',0,5))
3 -1

3.7、str.join(iterable)

a = 'heKkkl fjksA'
c = ('a','A','B')
print('|'.join(a))
print('#'.join(c))
h|e|K|k|k|l| |f|j|k|s|A
a#A#B

3.8、str.isalpha()

a = 'heKkkl fjksA'
b = 'sA'
print(a.isalpha(),b.isalpha())
False True

3.9、str.isdecimal()

a='123A'
b = ''
print(a.isdecimal(),b.isdecimal())
False True

3.10、str.islower()

a = 'heKkkl fjksA'
b = 'ab 123c'
print(a.islower(),b.islower())
False True

3.11、str.isspace()

a = '\t\n'
b = ' '
print(a.isspace(),b.isspace())
True True

3.12、str.istitle()

a = 'hekkl FjksA'
b = 'Hekkl FjksA'
c = 'Hekkl Fjksa'
print(a.istitle(),b.istitle(),c.istitle())
False False True

3.13、str.isupper()

a = 'heKkkl fjksA'
b = 'AB 123C'
print(a.isupper(),b.isupper())
False True

3.14、str.ljust(width[,fillchar])

b = 'AB 123C'
print(b.ljust(20,'#'))
AB 123C#############

3.15、str.rjust(width[,fillchar])

b = 'AB 123C'
print(b.rjust(20,'#'))
#############AB 123C

3.16、str.rpartition(sep)

b = 'hgksgjjjjjhls'
print(b.rpartition('j'))
print(b.rpartition('a'))
('hgksgjjjj', 'j', 'hls')
('', '', 'hgksgjjjjjhls')

3.17、str.replace(old,new[,count])

b = 'hgksgjjjjjhls'
print(b.replace('j','J',2))
hgksgJJjjjhls

3.18、str.split(sep=None,maxsplit=-1)

b = 'hgksgjjjjjhls'
print(b.split('j',3))
['hgksg', '', '', 'jjhls']

3.19、str.startswith(prefix[,start[,end]])

b = 'hgksgjjjjjhls'
u = ('h','a')
w = 'hg'
True True

3.20、str.title()

a = 'heKkkl fjksA'
print(a.title())
Hekkkl Fjksa

3.21、str.upper()

a = 'heKkkl fjksA'
print(a.upper())
HEKKKL FJKSA

3.22、str.zfill(width)

a = '61A'
print(a.zfill(8))
0000061A

 4、字符串格式化(str.format())

4.1、用指定位置的参数替换占位符

a = '{1} {0}'.format('world','Hello')
b = '{0} {1}'.format('Hello','everyone')
print(a)
print(b)
Hello world
Hello everyone

4.2、用指定名字的参数替换占位符

a = 'I am {name},I am a {sex}'.format(name='Bob',sex='boy')
someone = {'name':'Jerry','sex':'girl'}
b = 'I am {name},I am a {sex}'.format(**someone)
print(a)
print(b)
I am Bob,I am a boy
I am Jerry,I am a girl

4.3、用对象的属性替换占位符

c = 3-5j
a = '复数{0}的实部是{0.real},虚部是{0.imag}'.format(c)
print(a)
复数(3-5j)的实部是3.0,虚部是-5.0

4.4、通过索引用可迭代对象替换占位符

a = ['a','b','c','d']
b = '{a},{a[0]},{a[1]}'.format(a=a)
c = '{0},{0[2]},{0[3]}'.format(a)
print(b)
print(c)
['a', 'b', 'c', 'd'],a,b
['a', 'b', 'c', 'd'],c,d

4.5、字符串对齐

a = '#{:<30}#'.format('left aligned')
b = '#{:>30}#'.format('right aligned')
c = '#{:^30}#'.format('centered')
d = '#{:*^30}#'.format('centered')
print(a)
print(b)
print(c)
print(d)
#left aligned                  #
# right aligned#
# centered #
#***********centered***********#

4.6、符号问题

a = '#{:-d},{:-d}#'.format(-9,9)  #只显示负号,相当于{:d}
b = '#{: d},{: d}#'.format(-9,9) #负数显示负号,正数显示空格
c = '#{:+d},{:+d}#'.format(-9,9) #正负号都显示
print(a)
print(b)
print(c)
#-9,9#
#-9, 9#
#-9,+9#

4.7、进制问题

a = "int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}".format(42)
b = "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42) #井号代表显示前缀
print(a)
print(b)
int: 42;  hex: 2a;  oct: 52;  bin: 101010
int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010

4.8、百分数

a = "ansers:{:.3%}".format(2/3)
print(a)
ansers:66.667%

最新文章

  1. Easy Tag Write(3.3)
  2. Card Flip
  3. Array,List,Struct可能被大家忽略的问题
  4. [转]使用CSS3实现树形控件
  5. php 伪静态 (url rewrite mod_rewrite 重写)
  6. Sql Server 存储过程使用技巧
  7. .net 中的DllImport
  8. activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI
  9. hotspot虚拟机的调试
  10. Cannot read property &#39;component&#39; of undefined 即vue-router 0.x转化为2.x
  11. [AH/HNOI2017]礼物
  12. Pytorch系列教程
  13. Linux基础操作文件等基础操作
  14. 关于oracle设置主键自增的问题
  15. 关于Vue实例的生命周期created和mounted的区别
  16. docker之网络管理
  17. HTML5/CSS3实现五彩进度条应用
  18. 《C++ Primer Plus》12.7 队列模拟 学习笔记
  19. vue 缓存的keepalive页面刷新数据
  20. java- Collection Set集合

热门文章

  1. .net core api 跨域
  2. Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法
  3. asp.net文件流下载的代码摘要
  4. SQLServer 进程无法向表进行大容量复制(错误号: 22018 20253)
  5. QML Settings 小的示例
  6. visual studio添加docker支持简记
  7. 深入了解Windows句柄到底是什么(句柄是逻辑指针,或者是指向结构体的指针,图文并茂,非常清楚)good
  8. ASP.NET Core 通过 Microsoft.DotNet.Watcher.Tools 实现热部署
  9. ObjectForScripting 注册
  10. SYN2101型 NTP网络时间服务器