欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Day2

程序员文章站 2022-06-05 16:05:27
...

字符串

1.什么是字符串

  • 用引号引起来的一串字符
  • 用引号来创建字符串
    • 单引号
    • 双引号
    • 三单引号
    • 三双引号

单引号和双引号使用是需要注意匹配关系,且不可以换行

如果要换行,三单引号或者三双引号

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

  • 拼接
a = "hello"
b = ", python"
print(a + b)

拼接基于同一种数据类型

  • 重复
sr = "aa"
print(sr*3)  #aaaaaa
  • 索引(偏移) 切片
sr = "python"
print(sr[5])
for i in sr:
    print(i,end = " ")
print()
for j in range(len(sr)):
    print(sr[j], end = " ")
print(sr[::-1])  #反转
  • 大小写转换
sr.lower()       #小写
sr.upper()       #大写
sr.swapcase()    #大小写互换
sr.title()       #转为标题格式
sr.capitalize()  #首字母大写

验证码确认

sr = input("请输入验证码:")
certid = "Python"
if sr.upper() == certid.upper():
    print("True")
else:
    print("False")
  • 字符串的格式输出对齐
sr.center([len],[填充符号])  #居中
sr.ljust([len],[填充符号])   #左对齐
sr.rjust([len],[填充符号])   #右对齐
sr.zfill([len])             #右对齐,默认填充0
sr = "python"
print(sr.center(10,"#"))
  • 删除指定字符
sr.strip()
sr.lstrip()
sr.rstrip()
  • 计数
sr.count()   #计数
  • 字符串搜索定位和替换
sr.find()   #查找元素并返回第一次出现的元素的索引值,找不到返回-1
sr.index()  #查找元素并返回第一次出现的元素的索引值,找不到报错
sr.rindex() #从右往左查找
sr.replace([现有],[替新]) #替换
sr = "Life is short, you need python"
print(sr.find('e',19,25))
print(sr.index('z',19,15))
print(sr.rindex('e'))
print(sr.replace('t','T',1))
  • 字符串条件判断
sr.isalnum()  #判断字符串有字母或者数字组成
sr.isalpha()  #仅有字母
sr.isdigit()  #仅有数字
a = 'abc'
print('a.isalpha()')  #True
  • 制表符的转化
sr.expandtabs()
  • 字符串的分割变换
.join()         #将指定字符插入到元素之间
sr.split()      #将指定字符分割字符串并去除该字符
sr.partition()  #以指定字符分割字符串并保留该字符
sr = "Life is short, you need python"
print('+'.join(sr))      #L+i+f+e+ +i+s+ +s+h+o+r+t+,+ +y+o+u+ +n+e+e+d+ +p+y+t+h+o+n
print(sr.split('o'))     #['Life is sh', 'rt, y', 'u need pyth', 'n']
print(sr.partition('o')) #('Life is sh', 'o', 'rt, you need python')
li = ['I', 'Love', 'Python'] 
print(' '.join(li))     #I Love Python
  • ASCII值和字符的转化
chr()  #digit--->alpha
ord()  #alpha--->digit
for i in  range(ord('a'),ord('z') + 1):
    print(chr(i), end = " ")

  • 扩展

string模块

import string
print(string.ascii_letters)
#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase)
#abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)
#ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(dir(string))
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace']
for i in range(8):
    print(oct(i), end = ' ')
print()
0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7

for j in range(16):
    print(hex(j), end = ' ')
print()
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 

print('%o' % 17)   21  #8进制输出
print('%x' % 17)   11  #16进制输出
相关标签: day2.2