Python数据类型--字符串

一、按照索引取值(正向取/反向取):只能取,不能按照索引改变值的操作

msg='Hello World!'
# 正向取
print(msg[0])
# 反向取
print(msg[-1])

二、切片:从一个大的字符串中复制出一个子字符串(顾头不顾尾)

msg='Hello World!'
res=msg[0:5]   #顾头不顾尾
print(res)
print(msg)

# 步长
msg = 'Hello World!'
res=msg[0:5:2]   #顾头不顾尾,0是起始位置可以取到,5是结束位置,不能取到,步长为2
print(res)
print(msg)

# 反向步长 ,可用于翻转字符串
res=msg[5:0:-1] #顾头不顾尾,5是起始位置可以取到,0是结束位置,不能取到,步长为-1是反向取值
print(res)

# 反转字符串
res=msg[::-1]
print(res)

# 复制字符串
res=msg[:]
print(res)

三、成员运算,in和not in使用

print('llo' in 'Hello World!')
print('llo' not in 'Hello World!')
print(not 'llo' in 'Hello World!')  # 不推荐使用

四、移除字符串中左右两侧字符

msg='      dsf           '
print(msg)
print(msg.strip())

msg='123fsakfoeprj2121'
print(msg.strip('123fsakfj'))

应用:

username='alice'
pwd='123'
inp_username=input('please input your username >> ').strip()
inp_pwd=input('please input your password >> ')
if inp_username == username and inp_pwd == pwd :
    print('登录成功!!!!')
else:
    print('账号或密码错误,请重新输入!')

 ### split()切分字符串,默认分隔符是空格,也可指定分隔符
str='syp 18 female'
res=str.split()
print(res)

五、split()切分字符串,默认分隔符是空格,也可指定分隔符

str='alice 18 female'
res=str.split()
print(res)

# ##指定分隔符
str='alice:18:female'   # split以:作为分隔符
res=str.split(':')
print(res)


# ##指定分隔次数
str='alice 18 female'
res=str.split(' ',1)
print(res)

六、循环输出字符串

str='alice 18 female'
for x in str :
    print(x)

七、字符串常用方法

  1. strip去掉字符串两头指定字符,lstrip去掉字符串左边指定字符,rstrip去掉字符串右边指定字符
str='12432fdfeaf34321431'
print(str.strip('12345'))   # fdfeaf
print(str.lstrip('12345'))  # fdfeaf34321431
print(str.rstrip('12345'))  # 12432fdfeaf
  1. lower将字符串转换成小写字符串,upper将字符串转换成大写
msg = 'AbCdEf'
print(msg.lower())  # abcdef
print(msg.upper())  # ABCDEF
  1. startswith字符串以什么字符开头,endswith字符串以什么字符结束
msg='alice 18 female'
print(msg.startswith('al'))     # True
print(msg.endswith('le'))       # True
  1. format见字符串格式化输出

  2. join按照某个分隔符,将元素全部为字符串的列表拼接成字符串,如果列表中有数字类型,则不能使用

l=['alice','18','female']
res=':'.join(l)
print(res)            # alice:18:female
  1. replace替换字符串中的内容,第三个参数表示替换次数,默认是字符串中全部替换
msg='you can you up!'
print(msg.replace('you','YOU',1))   # YOU can you up!
print(msg.replace('you','YOU'))     # YOU can YOU up!
  1. isdigit判断字符串是否由纯数字组成,不包含任何其他字符
print('123'.isdigit())       # True
print('12.3'.isdigit())      # False

应用:猜年龄

age=input('请输入年龄').strip()
if age.isdigit():
    age=int(age)
    if age > 18:
        print('猜大了!')
    elif age < 18 :
        print('猜小了!')
    else:
        print('猜对了')
else:
    print("你输入的操作有误!")

八、字符串需要了解的方法

  1. find、rfind、index、rindex、count
msg = 'you can you up!'
print(msg.find('an'))         #find返回要查找的字符串在大字符串中第一次出现的索引
print(msg.index('an'))          #index返回要查找的字符串在大字符串中第一次出现的索引
# find和index的区别在于在大字符串中找不到要查找的字符串时,find返回值位-1,而index直接抛出异常

print(msg.find('y'))
print(msg.rfind('y'))  # rfind,从右往左进行查找,返回要查找的字符串在大字符串中第一次出现的索引
print(msg.rindex('y'))  # rindex,从右往左进行查找,返回要查找的字符串在大字符串中第一次出现的索引

print(msg.count('y'))  # count,返回要查找的字符串在大字符串中出现的次数
  1. center、ljust、rjust、zfill,功能与format填充类似
msg = 'alice'
print(msg.center(50, '*'))  # center,居中显示字符串,共输出50位,字符串不够用其他字符来填充
print(msg.ljust(50, '*'))  # ljust,居左显示字符串,共输出50位,字符串不够用其他字符来填充
print(msg.rjust(50, '*'))  # rjust,居右显示字符串,共输出50位,字符串不够用其他字符来填充
print(msg.zfill(50))  # zfill,居右显示字符串,默认用0来填充
  1. expandtabs指定制表符宽度(空格数)
msg='msg msg\tsg'
print(msg.expandtabs(16))     # msg msg         sg
  1. capitalize、swapcase、title
print('you can you up ,'.capitalize())  # capitalize,字符串首字母大写
print('you can you up ,'.swapcase())    # swapcase,字符串中大小写字母翻转
print('you can you up ,'.title())   # title,字符串中单词首字母大写

# You can you up ,
# YOU CAN YOU UP ,
# You Can You Up ,
  1. is系列
print('123fds'.isalnum())   #字符串只由字符和数字组成
print('ljioi'.isalpha())    # 字符串由字母组成
print('hello'.islower() )   # 字符串由小写字母组成
print('HELLO'.isupper())    # 字符串由大写字母组成
print('Hello World '.istitle())    # 字符串中所有单词首字母大写
print('1一卌百'.isnumeric())  # 字符串由数字字符组成
print('0123'.isdigit())    # 字符串由纯数字组成
print('    '.isspace())    # 字符串由空格组成
print('msg'.isidentifier()) #名称是否合法,python内置的关键字都是合法的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值