从零开始学Python Day02 ~字符串

从零开始学Python Day02 ~字符串

本文是上一篇文章的后续,详情点击该链接

        Python 的字符串是不可改变的,我们无法对原字符串做出任何修改。但是可以将原字符串的内容复制到新字符串里,达到看起来修改了的效果

        Python3支持Unicode,可以表示这个世界上任何书面语言的字符。Python3默认就是16位Unicode编码,ASCll码是Unicode的子集。

#使用内置函数 ord()可以把字符转换成对应的 Unicode 码
print(ord('G'))
#使用内置函数 chr()可以把十进制数字转换成对应的字符。
print(chr(67))

从零开始学Python Day02 ~字符串_第1张图片

字符串的一些常用方法

#创建两个字符串
st = "Python is Great programing language in the World"
strs = " hello world Python";
#字符串的长度
print('字符串 st 的长度是: ' , len(st))
#字符串的拼接
print("st 和 strs 两个字符串的拼接" , st + strs)
#字符串的复制
a = st*2
print("字符串的复制: " , a)
#不换行打印
print("不换行打印两个print内容: alvin" , end="")
print("is great")
#从控制台输入字符串
My = input("请输入姓名: ")
print("我的姓名是: " + My)
#数字转字符串
print("数字666转字符串: " , str(666))
#使用[]提取字符
print("st字符串 3 : 9: " , st[3:9])
#replace()实现字符串替换
print('修改st字符串,将Python改成Java: ', st.replace('Python','Java'))
#字符串切片slice 操作
#切片 slice 操作可以让我们快速截取子字符串。标准格式为: [起始偏移量 start:终止偏移量 end:步长 step]
print("截取整个字符串: ",st[:])
print("从 start 索引开始到结尾: ",st[7:])
print("[:end]从头开始直到 end-1 ",st[:9])
print("[start:end]从 start 到 end-1 ",st[9:15])
print("[start:end:step]仅 start 提取到 end-1,步长是 step ",st[1:2:5])

从零开始学Python Day02 ~字符串_第2张图片

split()分割和join()合并

        split()可以基于指定分隔符将字符串分隔成多个字符串(存储到列表中),如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。

st = 'Python is greate'
print(st.split())
print(st.split('t'))

从零开始学Python Day02 ~字符串_第3张图片

join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。

st = 'Python is greate'
print("#".join(st))

从零开始学Python Day02 ~字符串_第4张图片

+字符串连接对比join

import time

time01 = time.time()  # 起始时刻
a = ""
for i in range(1000000):
    a += "alvin"

time02 = time.time()  # 织止时刻

print("+连接运算时间:" + str(time02 - time01))

time03 = time.time()  # 起始时刻
li = []
for i in range(1000000):
    li.append("alvin")

a = "".join(li)

time04 = time.time()  # 织止时刻

print("join 连接运算时间 运算时间:" + str(time04 - time03))

从零开始学Python Day02 ~字符串_第5张图片

       使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。

       使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝, 仅新建一次对象。

常见查找方法

st = "我爱Java,爱Python,爱编程"
#以指定字符串开头
print(st.startswith('我爱'))
#以指定字符串结尾
print(st.endswith('编程'))
#第一次出现指定字符串的位置
print(st.find('爱'))
#最后一次出现指定字符串的位置
print(st.rfind('爱'))
#指定字符串出现了几次
print(st.count('爱'));
#所有字符全是字母戒数字
print(st.isalnum());

从零开始学Python Day02 ~字符串_第6张图片

大小写转换

st = "todAy is GrEat daY"
#产生新的字符串,首字母大写
print(st.capitalize())
#产生新的字符串,每个单词都首字母大写
print(st.title())
#产生新的字符串,所有字符全转成大写
print(st.upper())
#产生新的字符串,所有字符全转成小写
print(st.lower())
# 产生新的字符串,所有字母大小写转换
print(st.swapcase())

从零开始学Python Day02 ~字符串_第7张图片

其他方法

       isalnum() : 是否为字母或数字

       isalpha(): 检测字符串是否叧由字母组成(含汉字)。

        isdigit() 检测字符串是否叧由数字组成。

        isspace() 检测是否为空白符

        isupper() 是否为大写字母

        islower() 是否为小写字母

你可能感兴趣的:(从零开始学Python)