4:字符串

一:字符串
1.1字符串用单引号,双引号,三引号表示
  逗号会空格输出

  print('a',"b",'''c''')
1.2字符串包含双引号,可以用单,三引号
字符串包含三引号,可以用双引号
  print('"你在"','''"干嘛"''',"''''呢'''")
1.3转义字符---通常用于表示一些无法显示的字符如:删除\b,回车\r,换行\n,制表符\t
       不希望转义在引号之前添加r
  print('123\t456')
  print(r'123\t456')
1.4连接
  a="li"
  b="jia"
  c="lijia"*5
  print(a+b) lijia
  print(c) lijialijialijialijialijia


二:格式化字符串
2.1格式化字符串:%(%是和字符串紧挨一起)--%s(字符串),%d(整数)
  单个格式符
  strin='我今年%d岁'
  print(strin%10.0)
2.2多个格式符--以元组形式储存
  print('姓名:%s,我今年%d岁'%('李加加',20))
3.1format格式化 {}占位,字符串.format(),优点比较直观,不需要考虑{}数据类型,默认从左到右逐个替换,format(values)--values元素索引从0开始 
  print('我今年{}岁'.format('wo'))
  print('我叫{}\n今年{}岁'.format('李加加',20))
print('我叫{1},今年{0}岁'.format(20,'李加加'))
print('我叫{name},今年{age}岁'.format(name='李加加',age=20))
4.1f-string格式化--变量直接替换
 name,age='lijia',30
print(f'我叫{name},年龄{age}')
 指定浮点数的精度(保留小数点后3位)
print('{:.3}'.format(1/3))
 
三:字符串的常见操作
#String操作
#输出
print("Let's go")
#重复输出
print('hello'*2)
#字符串切片
print('hell0'[2])
l
print('hell0'[2:])
llo
print('hell0'[2:4])
ll
print('hell0'[::])
print('hello[:]')

hello
print('hell0'[-1])
倒数第一个元素0
print('hell0'[-4:])
倒数第四个元素ello
print('hell0'[-4:-1])
ell
print('hell0'[-2:])
lo

字符串反序
a='abcdefg'
print(a[::-1])
gfedcba
 
#in
print(12 in [12,13])
print('la' in 'hello')
#格式化输出
print('%s is my name'%'lijia')
#字符串拼接
a='a'
b='b'
c='c'
print(a+b+c)
print(''.join([a,b,c]))
print('...'.join([a,b,c]))
#内置方法
st='hello kitty'
#统计元素个数
print(st.count('l'))
#首字母大写
print(st.capitalize())
#居中
print(st.center(50,'#'))
#判断以什么结尾,区分大小写
print(st.endswith('ty'))
#判断以什么开头,区分大小写
print(st.startswith('he'))
#查找指定的第一个元素指定的下标
print(st.find('t'))
#不设置指定位置,按默认顺序
st1='hello{}{}'
print(st1.format(' ni',' hao'))
#指定位置
st2='hello{1}{3}{2}'
print(st2.format('',' ni',' ma',' hao'))
#设置参数
st2='my name is {name},my age is {age}'
print(st2.format(age='30',name='li jia'))
#返回下标,不存在报错
print(st.index('t'))
#只包含数字和字符
print('asb3'.isalnum())
#判断整数字符
print('222'.isdigit())
#判断全小写
print('abc'.islower())
#判断全大写
print('ABC'.isupper())
#判断是否是空格
print(' '.isspace())
print(' e'.isspace())
#判断首字母大写---标题格式
print('My Name'.istitle())
print('My name'.istitle())
#大写变小写
print('My Name'.lower())
#小写变大写
print('My Name'.upper())
#大写变小写----小写变大写
print('My Name'.swapcase())
#向右填充字符
print('my name'.ljust(50,'*'))
#向左填充字符
print('my name'.rjust(50,'*'))
#移除字符串头尾指定的字符(空参数默认为两边空格或换行,制表符)或有参数指定字符----删除中间部分的字符
#右---空格或换行,制表符
print('hello ni hao \t\n'.lstrip())
#左---空格或换行,制表符
print(' \t\nhello ni hao'.rstrip())
#参数空
print(' li jia jia \n'.strip())
li jia jia

#参数-结尾包含字符的--结尾ab相连的字符全删除
print('ablijia jiaba'.strip('ab'))

#替换-旧字符,新字符,次数
全部替换

print('li jia jia'.replace('jia','jian'))
只替换一次

print('li jia jia'.replace('jia','jian',1))
#从右向左查询指定字符的下标,如果没有匹配项则返回-1
print('lijiajia'.rfind('i'))
print('lijiajia'.rfind('h'))
#分割-默认全-参数次数---分割的变空格(, )
print('li jia jia'.split(' '))
print('li jia jia'.split(' ',1))
print('li jia jia'.split('i')) ['l', 'j', 'a j', 'a']
a='li jia jia'.split(' ')

l='helllllo'
#以切片数大致确定列表,空格数等于-1
print(l.split('l',3))

print(''.join(a))
#title---所有首字母大写
print('li jia jia'.title())

Let's go
hellohello
ll0
True
False
lijia is my name
abc
abc
a...b...c
2
Hello kitty
###################hello kitty####################
True
True
8
hello ni hao
hello ni hao ma
my name is li jia,my age is 30
8
True
True
True
True
True
False
True
False
my name
MY NAME
mY nAME
my name*******************************************
*******************************************my name
hello ni hao


hello ni hao
li jia jia
lijia ji
li jian jian
li jian jia
6
-1
['li', 'jia', 'jia']
['li', 'jia jia']
['l', ' j', 'a j', 'a']
['he', '', '', 'llo']
lijiajia
Li Jia Jia



三:删除列表中的元素不能直接remove
a=[11,12,13,14,15]
b=[]
for i in a:
if i==13 or i==14:
b.append(i)

for i in b:
a.remove(i)
print(a)



需要记忆的
count center startswith find format lower upper strip replace split
 
posted @ 2021-11-17 18:42  观呼吸  阅读(54)  评论(0)    收藏  举报