字符串

本文介绍了Python中的字符串基础知识,包括创建字符串、拼接、重复、索引、大小写转换、格式化输出等操作,并探讨了字符串的计数、搜索定位与替换、条件判断等功能。此外,还提到了ASCII值与字符的转化以及字符串的分割变换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串

1.什么是字符串

  • 用引号引起来的一串字符

  • 用引号来创建字符串

    ​ -单引号

    ​ -双引号

    ​ -三单引号

    ​ -三双引号

    #创建字符串
    name = "Hangzhou"
    area = 'Gongshu'
    history = "5000"
    famous_person = """苏轼,许仙,白素贞"""
    Captical0f='''吴越,南宋'''
    print(type(name),type(area),type(history),type(famous_person),type(Captical0f))
    

    结果:<class ‘str’> <class ‘str’> <class ‘str’> <class ‘str’> <class ‘str’>

    说明以上数据都是字符串

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

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

    pm = '''轻轻地我走了,
    正如我轻轻地来。'''
    print(pm)
    

    字符串的运算及常见操作

    (1)拼接

    a= “Hello”

    b= “,Python.”

    print(a + b)

    a = [“Hello”]

    b=[“,Python.”]

    print(a+b)

    拼接基于同一种数据类型

    (2)重复

    a = “City College”

    print(a*3)

    (3)索引(偏移)[] 切片[:] [::]

    len()方法语法:
    len( str )
    返回值:返回字符串长度。

    sr = "Python"
    print(len(sr))
    print(sr[5])
    
    切片
    
    #   ##0123456789012345678901234567890
    sr = "Life is short,you need python."
    print(len(sr))
    print(sr[1:4:2])
    #1代表起始值,4代表终止值(但取不到),2代表步长
    
    

    (4) 大小写互换

    sr .lower() :转小写

    sr .upper() :转大写

    sr .swapcase() :大小互换

    sr .title() :转为标题形式

    sr .capitalize() :首字母大写

    sr = "life is short,you NEED python."
    print(sr.lower())
    print(sr.upper())
    pring(sr.swapcase())
    pring(sr .title())
    pring(sr .capitalize())
    

    验证码确认

    certid = "AbCd"
    ipt = input("请输入验证码:")
    if ipt.lower() == certid.lower():
            print("输入成功")
    else:print(“弟弟”)
    #输入ABCD则也显示成功,无关大小写。
    

    (5)字符串的格式输出对齐

    -sr.center([len],[填充符号])

    -sr.ljust([len],[填充符号]),居左对齐

    -sr.zfill([len]),居右对齐,默认填充0

    sr = “Life is short, you need python.print(sr.ljust(41,#’))
    
    print(sr.rjust(41,'#'))

    (6)删除指定字符

    –sr.strip()

    –sr.lstrip()

    –sr.rstrip()

    sr = “#####Life is short, you need python.#####”
    
    print(sr.strip("#"))
    
    

    若不在同一行,则无法删除

    sr = “\n#####Life is short, you need python.#####\n”

(7)计数

– sr.count()

    ##0123456789012345678901234567890
sr = "Life is short, you need python."
print(sr.count('o',9,17))
#输出结果 2

(8)字符串搜索定位和替换

–sr.find(),查找元素并反返回第一次出现的元素的索引值;查找不到,返回-1

–sr.index(),查找元素并反返回第一次出现的元素的索引值;查找不到,报错

–sr.rindex(),从右往左

–sr.replace([现有],[替新])

    ##0123456789012345678901234567890
sr = "Life is short, you need python."
print(sr.find('z',19,25))
print(sr.index('e',19,25))
print(sr.rindex('e'))
print(sr.replace('t','T','1'))

(9)字符串条件判断

–isalnum(),判断字符串有字母或者数字组成

–isalpha(),仅有字母

–isdigit(), 仅有数字

#判断是否全为数字
>>> a ="123"
>>> a.isdigit()
True
>>> b ="a123"
>>> b.isdigit()
False

#判断是否全为字母
>>> d ="alx--e"
>>> d.isalpha()
False
>>> c ="alex"
>>> c.isalpha()
True

#判断是否全为数字或者字母
>>> e ="abc123"
>>> e.isalnum()
True

(10)制表符的转化

—sr.expandtabs()

nm = "012345678901234567890123456789"
sr = "Life is short,you nee\td python."
print(nm)
print(sr.expandtabs(4))

(11)字符串的分割变换

– join(),将指定字符插入到元素之间

–split(),以指定字符分割字符串并去除该字符

–partition(),以指定字符分割字符串并保留该字符

#sr = "Life is short,you need python."
#print('+'.join(sr))
li = ["I ","Love ","Python."]
print(''.join(li))
print(sr.split('o',2))
print(sr.partition('0'))

(12)ASCII值何字符转化

—chr()dight ---->alpha

—ord()alpha ---->dight

for i in range(ord('a'),ord('z')+1):
    print(chr(i),end=" ")

拓展

string模块

import string
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’]

import string
print(string.ascii_letters)

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.ascii_lowercase)

abcdefghijklmnopqrstuvwxyz

print(string.ascii_uppercase)

ABCDEFGHIJKLMNOPQRSTUVWXYZ

(13) 格式化输出

输出八进制数和十六进制数

for i in range(8):
    print(oct(i),end=" ")
print()
for i in range(16):
    print(hex(i),end=" ")
#输出结果:
0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7 
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 

print()
print('%o'%17)  #八进制
print('%x'%17)  #十六进制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值