Python3.6 字符串的基本使用

1、基本操作
   字符串就是一字符组成的序列,所以序列的标准操作都支持(除修改)
   >>>str='helloworld'
   索引
   >>>str[0]
   'h'
   分片
   >>>str[0:5]
   'hello'
   相加(连接)
   >>>str1='python'
   >>>str+str1
   'helloworldpython'
   乘法(重复乘的次数)
   >>> str*2
   'helloworldhelloworld'
   判断是否在字符串中(用in)
    >>> 'X' in str
 False
 >>> 'h' in str
 True
 长度
 >>> len(str)
 10
 最小值
 >>> min(str)
 d'
 最大值
 >>> max(str)
 'w'
 *重点---------------------------------------
 python的字符串不能修改哦,这个要切记 否则会报错

 >>> str[0]='H'
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 TypeError: 'str' object does not support item assignment

2、字符串格式化
 >>> str='Hi %s'
 >>> str % '2018'
 'Hi 2018'
 字符串中的%s 称为转换说明符 第二行的% 为字符串格式化操作符
 转换说明符的格式如下(注意顺序)
 (1)%字符 转换说明符的开始
 (2)转换标志(可选)-表示左对齐,+显示正负号," "空格 表示正数之前保留空格,0 表示若值不够位数就用0填充
 (3)最小字段宽度(可选)转换后的字符串的最后宽度 如果是* 就从值元组中读取
 (4)点.后跟精度值(可选)精度值就是小数点后的位数,如果转换字符串,这个就是最大的字符宽度 如果是* 就会从元组中读取
 (5)转换类型
  转换类型 含义
  d,i   带符号的十进制数
  o    不带符号的八进制
  u   不带符号的十进制
  x   不带符号的十六进制(小写)
  X   不带符号的十六进制(大写)
  e   科学计数法表示浮点数(小写)
  E   科学计数法表示浮点数(大写)
  f,F   十进制浮点数
  g   如果指数大于-4或者小于精度值则和e相同,其它情况和f相同
  G   如果指数大于-4或者小于精度值则和E相同,其它情况和F相同
  C   单字符(接收整数,或者一个字符的字符串)
  r   字符串(使用repr转换)
  s   字符串(使用str转换)
 2.1简单转换
  >>> '今年是%d' % 2018
  '今年是2018'
  >>> '今年是%X(16进制)' % 2018
  '今年是7E2(16进制)'
  >>> '今年是%s' % '2018'
  '今年是2018'
 2.2字段宽度和精度
  >>> '%10f' % 3.14 #只有宽度没有精度,默认6位精度
  '  3.140000'
  >>> '%10.2f' % 3.14156 #有宽度有精度
  '      3.14'
  >>> '%.3f' % 3.14156 #只有精度
  '3.142'
 2.3符号 对齐 用0填充
  在宽度之前还有一个标志位 可以是 0 + - ‘ ’空格
  (1) 填充0 只在数值下有效,否则只是表示宽度
  >>> '%010.1f' % 3.14
  '00000003.1'
  >>> '%010s' % 'he'
  '        he'
  (2)左对齐
  >>> '%-10s' % 'he'
  'he        '
  (3) 空格,用于正数前面补充空格
  >>> '% 5d' % 30
  '   30'
  (4)+ 显示符号
  >>> print('%+5d\n%+5d' % (30,-10))
     +30
     -10

3、字符串常用方法
 >>> str='helloworld'
 1、find
  方法在字符串中查找子串,找到返回第1个位置的索引,如果没有找到返回-1
  >>> str.find('or')
  6
  >>> str.find('LD')
  -1
 2、join 连接字串序列 split(分散)的逆方法
  >>> strlist=['a','b','c','def'] #字符串序列
  >>> sep='+' #连接符
  >>> joinstr=sep.join(strlist)
  >>> print(joinstr)
  a+b+c+def 
  >>> joinstr.split('+') #按+进行拆分
  ['a', 'b', 'c', 'def']
 3、lower 返回字串的全小写版 upper 返回字串的全大写版
  >>> str='HELLOWorld'
  >>> str.lower()
  'helloworld'
  >>> str.upper()
  'HELLOWORLD'
 4、replace(a,b) 将字符串中匹配的a,全替换为b
  >>> str='10011001'
  >>> str.replace('01','a')
  '10a10a'
 5、strip 删除字串两边的空格字串 不包含中间的哈  (在输入的时候防止多输入空格特别有用)
 >>> str='  a a  bbe   '
 >>> str.strip()
 'a a  bbe'
 6、translate 依据转换表替换字符串
 >>> s='asdfghjkl'
 >>> maptab=str.maketrans('adl','123') #创建转换表,a转1,d转2,l转3,是一一对应的, 创建表 这和2.x不一样,搞了好久才搞明白 
 >>> s.translate(maptab) #将转码表传入
 '1s2fghjk3'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值