吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1002|回复: 19
收起左侧

[学习记录] Python学习笔记2:字符串操作

[复制链接]
BluseLee 发表于 2024-6-16 23:16
[Python] 纯文本查看 复制代码
#  1.常用的字符串拼接方法
#  1.1 加法拼接
str1 = 'hello'
str2 = "python!"
str3 = str1 + str2
print(str3)  # hellopython!

#  1.2 乘法拼接
str4 = 'a' * 10
print(str4)  # aaaaaaaaaa

#  1.3 字符串格式化操作符%拼接
#  %s,%d,%f的作用是占位作用,然后在字符串后面跟一个%,再在后面写拼到占位位置的内容。
# %s: 将一个字符串拼接到前面的字符串中
# %d: 将一个整型数字转换成字符串拼接到前面的字符串中,可以设置整数的位数,前面补0
# %f: 将一个浮点型数字转换成字符串拼接到前面的字符串中,可以设置小数点后的位数,后面补0

str5 = '12345%s12345' % '00000'
print(str5)  # 123450000012345
str6 = 'aaa%daaa' % 100
print(str6)  # aaa100aaa
str7 = 'bbb%.3fbbb' % 0.9
print(str7)  # bbb0.900bbb

#  1.4  str.format()方法拼接
str8 = 'hello {a} python{b} !'.format(a='你好', b='PYTHON')
print(str8)  # hello 你好 pythonPYTHON !

#  2.字符串截取 string[start: end: step]
# start:起点位置,子字符串的起始索引。该索引处的字符包含在子字符串中。start 为空时则默认为 0。
# end:终点位置,子字符串的终止索引。该索引处的字符不包括在子字符串中。end 为空时,或者指定的值超过字符串的长度,则默认它等于字符串的长度。
# step:步长,当前字符之后和目标字符之间的距离。step 为空时,则默认值为 1。
# string[start:end]:获取从 起点位置 到 终点位置 - 1 的所有字符
# string[:end]:获取从 字符串开头 到 终点位置 - 1 的所有字符
# string[start:]:获取从 起点位置 到字符串结尾的所有字符
# string[start:end:step]:获取从 起点位置 到 终点位置 - 1 的,每个之间距离 步长 的所有字符
str1 = '1a3b5c7d9e'
str2 = str1[1:3]
print(str2)  # a3
str3 = str1[:-2]
print(str3)  # 1a3b5c7d
str4 = str1[::2]
print(str4)  # 13579
str5 = str1[-3:]
print(str5)  # d9e
str6 = str1[1:-4]
print(str6)  # a3b5c

#  3.字符串替换常用 replace()
str1 = '123456123456'
str2 = str1.replace('123', '789')  # 替换所有
print(str2)  # 789456789456
str3 = str1.replace('123', '999', 1)  # 只替换第一个匹配项
print(str3)  # 999456123456

#  4.字符串分割
#  4.1 split()方法
# split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
# str.split(str="", num=string.count(str))
# str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
# num – 分割次数。
# 返回分割后的字符串列表。
str1 = '''hello
python
HELLO
PYTHON!'''
str_list1 = str1.split('\n', )
print(str_list1)  # ['hello', 'python', 'HELLO', 'PYTHON!']
str2 = 'https://www.52pojie.cn/thread-1930827-1-1.html'
str_list2 = str2.split('/', )
print(str_list2)  # ['https:', '', 'www.52pojie.cn', 'thread-1930827-1-1.html']

#  4.2 re.split()

import re

str1 = 'hello\n my; love python*!,'
# 四个分隔符为:,  ;  *  \n
str_list3 = re.split(r'\n|,|;|\*', str1)
print(str_list3)  # ['hello', ' my', ' love python', '!', '']

#  5.字符串包含
# 5.1 常用in 和not in
str1 = 'hello python!'
str2 = 'ell'
str3 = '999'
aaa = str2 in str1
print(aaa)  # True
bbb = str3 not in str1
print(bbb)  # True
ccc = str1.index(str2)
print(ccc)  # 1 返回指定子串在该字符串中第一次出现的索引,如果没有找到会抛出异常

#  5.2 用re.findall()
ddd = re.findall(str2,str1)
print(ddd)  # ['ell']
eee = re.findall(str3,str1)
print(eee)  # []

#  6.字符串比较
str1 = "Hello"
str2 = "hello"

# 使用 == 运算符检查字符串相等性(区分大小写)
if str1 == str2:
    print("字符串相等")
else:
    print("字符串不相等")
# 运行结果为: 字符串不相等
# 使用 casefold() 方法比较字符串(不区分大小写)
if str1.casefold() == str2.casefold():
    print("忽略大小写后字符串相等")
else:
    print("忽略大小写后字符串不相等")
# 运行结果为: 忽略大小写后字符串相等

#  7.字符串长度
#  使用len()函数。

str1 = 'www.52pojie.cn'
print(len(str1))  # 14

# 在 Python 中,数字、英文字母、小数点、下划线以及空格,各占一个字节,
# 一个汉字可能占 2~4 个字节,具体占多少个,取决于采用的编码方式。
# 汉字在 UTF-8 编码中一般占用 3 个字节 ,在GBK/GB2312 编码中占用 2 个字节。

str1 = '浮生若梦,学好Python!'  # 中文逗号,英文感叹号!
print(len(str1.encode()))  # 28
# 汉字加中文标点符号共 7 个,占 21 个字节,英文字母和英文的标点符号占 7 个字节,共占用 28 个字节

print(len(str1.encode('gbk')))  # 20  7*2+6=20

#  8.字符串转数字
str_num = "123"
num = int(str_num)
print(num)  # 123

num_str = "3.14"
num_float = float(num_str)
print(num_float)  # 3.14

免费评分

参与人数 4吾爱币 +4 热心值 +2 收起 理由
kavxc + 1 用心讨论,共获提升!
Yifan2007 + 2 我很赞同!
弹簧 + 1 我很赞同!
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

l60037527 发表于 2024-6-17 07:57
点赞,总结的很好
wangqm79 发表于 2024-6-17 08:02
zhcj66 发表于 2024-6-17 08:07
studyalife 发表于 2024-6-17 08:33
以前学习过一段时间,现在忘得差不多了,巩固巩固
csrenyi02 发表于 2024-6-17 08:49
图文学习,点赞,很好~
baigei2333 发表于 2024-6-17 09:20
怎么没有strip的
威熙i-顾赫鹏 发表于 2024-6-17 09:37
加油学,关注你了 我刚开始玩python这一块得东西
hamasakisong 发表于 2024-6-17 09:57
关注了,一起努力提高咯。
ceallan 发表于 2024-6-17 10:01
已阅,字符串操作还有很多其它的方法,望继续探索
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-13 16:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表