【重识python day3】

字符得方法

一、独有

1.1 、startswith()、endswith()

startswith()判断字符串是否以 XX 开头,endswith()判断字符串是否以 XX 结尾,得到一个布尔值

v1 = "叨逼叨的一天,烦死了"

# True
result = v1.startswith("叨逼叨的一天")
print(result)  # 值为True

# 案例
v11 = input("请输入住址:")

if v11.startswith("北京市"):
    print("北京人口")
else:
    print("非北京人口")
v111 = "叨逼叨的一天,烦死了"

result = v111.endswith("烦死了")
print(result)  # 值为True

# 案例
address = input("请输入地址:")

if address.endswith('村'):
    print("农业户口")
else:
    print("非农户口")

1.2 、isdecimal()

判断字符串是否为十进制数,得到一个布尔值

v3 = "1238871"
result = v3.isdecimal()
print(result)  # True

# 案例,两个数相加。
v1 = input("请输入值:")  # ”666“
v2 = input("请输入值:")  # ”999“
if v1.isdecimal() and v2.isdecimal():
    data = int(v1) + int(v2)
    print(data)
else:
    print("请正确输入数字")



v31 = "123"
print(v31.isdecimal()) # True

v32 = "①"
print(v32.isdecimal()) # False

v33 = "123"
print(v33.isdigit()) # True

v34 = "①"
print(v34.isdigit()) # True

1.3 、strip()、lstrip()、rstrip()

strip()去除字符串两边空格,lstrip()去除左边空格,rstrip()去除右边的空格,去除换行符、制表符,得到一个新字符串

msg41 = " H e ll o啊,树哥 "
data41 = msg41.strip()
print(data41) # 将msg两边的空白去掉,得到"H e ll o啊,树哥 "

msg42 = " H e ll o啊,树哥 "
data42 = msg42.lstrip()
print(data42) # 将msg左边的空白去掉,得到"H e ll o啊,树哥 "

msg43 = " H e ll o啊,树哥 "
data43 = msg43.rstrip()
print(data43) # 将msg右边的空白去掉,得到" H e ll o啊,树哥"
# 补充:去除 空格、换行符、制表符.
# 案例
code = input("请输入4位验证码:") #  FB87
data = code.strip()
if data == "FB87":
	print('验证码正确')
else:
	print("验证码错误")
# 再补充:去除字符串两边指定的内容
msg44 = "哥H e ll o啊,树哥"
data44 = msg44.strip("哥")
print(data44) # 将msg两边的哥去掉,得到"H e ll o啊,树"

msg45 = "哥H e ll o啊,树哥"
data45 = msg45.lstrip("哥")
print(data45) # 将msg左边的哥去掉,得到"H e ll o啊,树哥"

msg = "哥H e ll o啊,树哥"
data = msg.rstrip("哥")
print(data) # 将msg右边的哥去掉,得到"哥H e ll o啊,树"

1.4 、upper()、lower()

upper()字符串变大写,得到一个新字符串

msg51 = "my name is oliver queen"
data51 = msg51.upper()

print(msg51) # my name is oliver queen
print(data51) # 输出为:MY NAME IS OLIVER QUEEN

# 案例
code52 = input("请输入4位验证码:")  # FB88   fb88
value52 = code52.upper()  # FB88
data52 = value52.strip()  # FB88

if data52 == "FB87":
    print('验证码正确')
else:
    print("验证码错误")

# 注意事项
"""
code的值"fb88 "
value的值"FB88 "
data的值"FB88"
"""

lower()字符串变小写,得到一个新字符串

msg61 = "My Name Is Oliver Queen"
data61 = msg61.lower()

print(data61) # 输出为:my name is oliver queen

# 案例
code62 = input("请输入4位验证码:")
value62 = code62.strip().lower()
if value62 == "fb87":
	print('验证码正确')
else:
	print("验证码错误")

1.5 、replace()

字符串内容替换,得到一个新的字符串

data71 = "你是个好人,但是好人不合适我"
value71 = data71.replace("好人","贱人")
print(data71)  # "你是个好人,但是好人不合适我"
print(value71) # "你是个贱人,但是贱人不合适我"

# 案例
video_file_name = "高清无码爱情动作片.mp4"
new_file_name = video_file_name.replace("mp4","avi") # "高清无码爱情动作片.avi"
final_file_name = new_file_name.replace("无码","步兵") # "高清步兵爱情动作片.avi"
print(final_file_name)

# 案例
char_list71 = ["草拟吗","逗比","二蛋","钢球"]

content71 = input("请输入评论信息")
for item in char_list71:
  content71 = content71.replace(item,"**")

print(content71)

1.6 、split()、rsplit()

字符串切割,得到一个列表

data81 ="123|ABC|com"
result81 = data81.split('|') # ["123","ABC","com"]

print(result81) # 输出 ["123","ABC","com"] 根据特定字符切开之后保存在列表中,方便以后的操作

# 案例:判断用户名密码是否正确
info81 = "123,root"   # 备注:字符串中存储了用户名和密码
user_list81 = info81.split(',')    # 得到一个包含了2个元素的列表 [ "123" , "root" ]

user81 = input("请输入用户名:")
pwd81 = input("请输入密码:")

if user81 == user_list81[0] and pwd81 == user_list81[1]:
	print("登录成功")
else:
	print("用户名或密码错误")
# 扩展
data82 = "123|ABC|com"
v82 = data82.split("|")   # ["123","ABC","com"]
print(v82)

v83 = data82.split("|", 1) # ['123', 'ABC|com']
print(v83)

# 再扩展
data83 = "123|ABC|com"

v83 = data83.rsplit(',')
print(v83) # ["123","ABC","com"]

v84 = data83.rsplit(',',1)
print(v84) # ['武沛齐,root', 'wupeiqi@qq.com']

1.7 、join()

字符串拼接,得到一个新的字符串

data_list91 = ["alex","是","大烧饼"]
v91 = "_".join(data_list91) # alex_是_大烧饼
print(v91)

1.8 、encode、decode

encode字符串转换为字节类型,decode字节类型转换为字符串

data11 = "嫂子"  # unicode,字符串类型

v111 = data11.encode("utf-8")  # utf-8,字节类型
v112 = data11.encode("gbk")  # gbk,字节类型

print(v111)  # b'\xe5\xab\x82 \xe5\xad\x90'
print(v112)  # b'\xc9\xa9 \xd7\xd3'

s111 = v111.decode("utf-8") # 嫂子
s112 = v112.decode("gbk") # 嫂子
print(s111)
print(s112)

1.9 、format()

格式化字符串,得到新的字符串

name10 = "{0}的喜欢干很多行业,例如有:{1}、{2} 等"
data10 = name10.format("老王","护士","嫩模")
print(data10) # 老王的喜欢干很多行业,例如有:护士、嫩模 等
print(name10) # "{0}的喜欢干很多行业,例如有:{1}、{2} 等"

name101 = "{}的喜欢干很多行业,例如有:{}、{} 等"
data101 = name101.format("老王","护士","嫩模")
print(data101) # 老王的喜欢干很多行业,例如有:护士、嫩模 等

name102 = "{name}的喜欢干很多行业,例如有:{h1}、{h2} 等"
data102 = name102.format(name="老王",h1="护士",h2="嫩模")
print(data102) # 老王的喜欢干很多行业,例如有:护士、嫩模 等

1.10 、center、rjust、ljust

将字符串内容居中、居左、居右展示

v121 = "王老汉"
data121 = v121.center(21, "-")
print(data121) #---------王老汉---------

data122 = v121.ljust(21, "-")
print(data122) # 王老汉------------------

data123 = v121.rjust(21, "-")
print(data123) # ------------------王老汉

1.11 、zfill

帮助你填充0

data13 = "alex"
v131 = data13.zfill(10)
print(v131) # 000000alex

# 应用场景:处理二进制数据
data132 = "101" # "00000101"
v132 = data132.zfill(8)
print(v132) # "00000101"

二、公共

2.1 、+

相加:字符串 + 字符串

v1 = "alex" + "大sb"
print(v1) # alex大sb

2.2 、*

相乘:字符串 * 整数

data2 = "嫂子" * 3
print(data2) # 嫂子嫂子嫂子

2.3 、len()

长度

data3 = "嫂子满身大汉"
value3 = len(data3)
print(value3) # 6

2.4 、获取字符串中的字符,索引

message4 = "来做点py交易呀"
#          0 1 2345 6 7
#           ... -3 -2 -1
print(message4[0]) # "来"
print(message4[1]) # "做"
print(message4[2]) # "点"

print(message4[-1]) # 呀
print(message4[-2]) # 呀
print(message4[-3]) # 呀
# 注意:字符串中是能通过索引取值,无法修改值。【字符串在内部存储时不允许对内部元素修改,想修改只能重新创建.]
message41 = "来做点py交易呀"
index41 = 0
while index41 < len(message41):
    value41 = message41[index41]
    print(value41)
    index41 += 1

message42 = "来做点py交易呀"
index42 = len(message42) - 1
while index42 >=0:
    value42 = message42[index42]
    print(value42)
    index42 -= 1

2.5 、获取字符串中的子序列,切片

message5 = "来做点py交易呀"

print(message5[0:2]) # "来做"
print(message5[3:7]) # "py交易"
print( message5[3:] ) # "py交易呀"
print( message5[:5] ) # "来做点py"

print(message5[4:-1]) # "y交易"
print(message5[4:-2]) # "y交"

print(message5[4:len(message5)]) # "y交易呀"
# 注意:字符串中的切片只能读取数据,无法修改数据。【字符串在内部存储时不允许对内部元素修改,想要修改只能重新创建]
message51 = "来做点py交易呀"

value51 = message51[:3] + "Python" + message51[5:]
print(value51) # 来做点Python交易呀

2.6 、步长,跳着去字符串的内容

name6 = "生活不是电影,生活比电影苦"

print(name6[0:5:2])   # 输出:生不电 【前两个值表示区间范围,最有一个值表示步长】
print(name6[:8:2])    # 输出:生不电,  【区间范围的前面不写则表示起始范围为0开始】、
print(name6[2::2])    # 输出:不电,活电苦
print(name6[2::3])    # 输出:不影活影
print(name6[::2])     # 输出:生不电,活电苦 【区间范围不写表示整个字符串】

print(name6[8:1:-1])  # 输出:活生,影电是不 【倒序】

print(name6[8:1:-1])  # 输出:活生,影电是不 【倒序】
print(name6[-1:1:-1])  # 输出:苦影电比活生,影电是不 【倒序】

# 面试题:给你一个字符串,请将这个字符串翻转。
value6 = name6[-1::-1]
print(value6)  # 苦影电比活生,影电是不活生

2.7 、循环

  1. while循环
message7 = "来做点py交易呀"
index7 = 0
while index7 < len(message7):
    value7 = message7[index7]
    print(value7)
    index7 += 1
  1. for循环
message71 = "来做点py交易呀"
for char7 in message71:
    print(char7)
  1. range,帮助我们创建一系列的数字
range(10) # [0,1,2,3,4,5,6,7,8,9]
range(1,10) # [1,2,3,4,5,6,7,8,9]
range(1,10,2) # [1,3,5,7,9]
range(10,1,-1) # [10,9,8,7,6,5,4,3,2]

  1. For + range
for i in range(10):
    print(i)

messag = "来做点py交易呀"
for i in range(5): # [0,1,2,3,4]
    print(messag[i])
for i in range( len(messag) ): # [0,1,2,3,4,5,6,7]
    print(messag[i])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值