# python day2(字符串)

字符串

1.什么是字符串

  • 用引号引起来的一串字符
  • 用引号来创建字符串
  • 单引号(不允许换行)
name='xiaowang'
  • 双引号(不允许换行)
name="xiaohong"
  • 三单引号(可以换行)
name='''suxin,suzhe,sushi'''
  • 三双引号(可以换行)
name="""xihu,leifengta"""

2.字符串的运算及常见操作

1.拼接(基于同一种数据类型)

a="asd"
b="123"
print(a+b)

2.重复

a="asd123"
print(a*3)

3.索引(偏移)和切片

a="1234567890"
print(a[5])
print(a[1:4])
  • 遍历字符串
a="123456"
for i in range(len(a)):
   print(a[i],end=" ")

或者

a="123456"
for i in a:
    print(i,end=" ")

字符串反转

a="123456"
print(a[::-1])

4.大小写转换

  • sr.lower():转小写
a="asd"
print(a.lower())
  • sr.upper():转大写
a="asd"
print(a.upper())
  • sr.swapcase():大小写互换
a="asd"
print(a.swapcase())
  • sr.title():转变为标题的形式
a="asd"
print(a.title())
  • sr.capitalize:首字母大写
a="asd"
print(a.capitalize())

验证码确认:

import random
a=str(int(random.uniform(100000,999999)))
print(a)
b=input("请输入6位验证码:")
if a==b:
    print("验证码正确")

密码登陆:

password="asd123"
flag=0
while flag<3:
    a=input("请输入密码(三次机会):")
    if a==password:
        print("登陆成功")
        break
    else:
        flag+=1
        print("密码错误,请重新输入")
else:
    print("次数超过三次,登陆失败")

5.字符串的格式输出对齐

  • sr.center([len],[填充符号]) 居中对齐
a="asd"
print(a.center(41,'#'))
  • sr.ljust([len],[填充符号]) 居左对齐
a="asd"
print(a.ljust(41,'#'))
  • sr.rjust([len],[填充符号]) 居右对齐
a="asd"
print(a.rjust(41,'#'))
  • sr.zfull([len]) 居右对齐,默认填充0
a="asd"
print(a.zfill(41))

6.删除指令字符

  • sr.strip() 删除两端的指定符号(中间不删)
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.strip("#"))
  • sr.lstrip() 删除左端的指定符号(中间不删)
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.lstrip("#"))
  • sr.rstrip() 删除右端的指定符号(中间不删)
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.rtrip("#"))

7.计数

  • sr.count() 给定范围内的指定字符数目(范围默认为全域)
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.count("#",5,25))

8.字符串搜索定位和替换

  • sr.find() 查找元素并返回第一次出现的元素索引值(范围默认为全域),查不到返回-1
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.find("d",2,20))
  • sr.index() 查找元素并返回第一次出现的元素索引值(范围默认为全域),查不到报错
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.index("d",2,20))
  • sr.rindex() 从右往左遍历
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.rindex("d"))
  • sr.replace() 替换目标字符串(第三个参数为替换次数)
a="#####asfaswfdaaf###szfdsadfsd#####"
print(a.replace("####","****"))
print(a.replace("####","****",1))

9.字符串条件判断

  • isalnum() 判断字符串是否仅由字母和字符组成
a="asd123"
print(a.isalnum())
  • isalpha() 判断字符串是否仅有字母
a="asd"
print(a.isalpha())
  • isdigit() 判断字符串是否仅有数字
a="123"
print(a.isdigit())

10.制表符的转化

  • sr.expandtabs() 把字符串中的 tab 符号(’\t’)转为空格,tab 符号(’\t’)默认的空格数是 8。
a="123asd,\tasdagd"
print(a.expandtabs(4))

11.字符串的分割变换

  • join() 将指定字符插入到元素之间(产生结果为字符串)
a="123asd,asdagd"
print(" ".join(a))
  • split() 以指定字符分割字符串并去除该字符
a="123asd,asdagd"
print(a.split("s"))
  • partition() 以指定字符分割字符串并保留该字符
a="123asd,asdagd"
print(a.partition("s"))

12.ASCII值和字符的转化

  • chr() digit—>alpha 对应数字转字符
a=56
print(chr(a))
  • ord() alpha—>digit 对应字符转数字
a="A"
print(ord(a))

输出大小写共52个字符

import string
print(string.ascii_letters)

随机生成仅由数字和字母组成的验证码:

import string
import random
a=string.digits+string.ascii_letters
for i in range(10):
    c=random.sample(a,4)
    d="".join(c)
    print(d)

#kjFt
#B6YR
#lYnL
#xvpc
#PO9u
#xziu
#VB8O
#jnot
#U0t5
#syo9

进制转换:

  • 十进制转八进制
print("%o" % 24)

#30
  • 十进制转十六进制
print("%x" % 56)

#38
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值