python基础—字符串

字符串

​ 在python中引号引起来的就是字符串,字符串用来存储少量数据
索引。

索引

​ 索引(下标)通过索引可以精确定位到某个元素

name = "meat"
meat 每一个字母叫做一个元素
# 0123       从左向右代表每一个字母
#-4-3-2-1    从右向左每一个字母
print(name[-1])  输出 t

name = "今天是个好日子"
      #  0 1 2 3 4 5 6
      # -7-6-5-4-3-2-1
a = name[0]
b = name[1]
print(a+b)    # 输出今天
切片
name = "todayisgood"
print(name[0:2])  #输出:to
# 顾头不顾尾  name[起始位置:终止位置)

print(name[:]) 
# 某个位置不指定的时候默认取最后或最前
print(name[:3])  #输出:tod
print(name[2:5]) #输出:day

print(name[-2:-5])

print(name[-2:-5:-1]) 
# [起始位置:终止位置:步长] 步长默认为1
name = "大黑哥吃大煎饼"
print(name[1:5])
# 输出 黑哥吃大
print(name[-2:-6:-1])
# 输出 煎大吃哥
print(name[-6:6])
# 输出 黑哥吃大煎
a = name[0]
# 输出 大
b = name[2]
# 输出 哥
c = name[4]
# 输出 大
d = name[6]

print(a+b+c+d)

print(name[::2])

print(name[100:105]) 
# 切片的时候起始位置和终止位置都超出的时候不会进行报错

print(name[100])  
 # 索引的时候索引值超出范围的时候会报错                          
s = 'Python最NB'
# 获取s字符串中前3个内容
s[0:3]
# 获取s字符串中第3个内容
s[2]
# 获取s字符串中后3个内容
s[-3:]
# 获取s字符串中第3个到第8个
s[2:8]
# 获取s字符串中第2个到最后一个
s[1:]
#获取s字符串中第1,3,5个内容
s[0:6:2]
#获取s字符串中第2,4,6个内容
s[1:7:2]
#获取s字符串中所有内容
s[:]
#获取s字符串中第4个到最后一个,每2个取一个
s[3::2]
#获取s字符串中倒数第5个到最开始,每3个取一个
s[-5::-3] 
f-string

​ f-string 是 python 3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。之前用%

name = 'Rookie'
print('Hello %s' % name)

​ f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表 达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,例如:

name = 'Rookie'
print(f'Hello {name}') # 替换变量
# 输出为 Hello Rookie
print('{1+2}')  # 使用表达式
# 输出3
w = {'name': 'Runoob', 'url': 'www.runoob.com'}
print(f'{w["name"]}: {w["url"]}')
# 打印 Runoob: www.runoob.com

注:这种方法不用判断是 %d 还是 %s,更简单。在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果。

x = 1
 print(f'{x+1}')   # Python 3.6
2
p
 x = 1
 print(f'{x+1=}')   # Python 3.8
'x+1=2'
python字符串内建函数
capitalize()方法
# 将字符串的第一个字符转换为大写
str = 'rookie'
print(str.capitalize())
# 注 1、首字符会转换成大写,其余字符会转换成小写。
#   2、首字符如果是非字母,首字母不会转换成大写,会转换成小写。
center()方法
#center() 方法返回一个指定的宽度 width 居中的字符串fillchar为填充的字符,默认为空格。
str.center(width[, fillchar])  width为字符串的总宽度,fillchar为所要填充的字符

str = "runoob"
print(str.center(10, '*'))  # 打印 **runoob**

'''注 1、如果 width 小于字符串宽度直接返回字符串,不会截断
   2、fillchar 默认是空格
   3、fillchar 只能是单个字符'''
endswitch()方法
str.endswith(suffix, start, end)
    suffix -- 该参数可以是一个字符串或者是一个元素。
    start -- 字符串中的开始位置。
    end -- 字符中结束位置。
    
Str='Rookie xiaohu uzi!!'
suffix='!!'
print (Str.endswith(suffix))
print (Str.endswith(suffix,12))
suffix='roo'
print (Str.endswith(suffix))
print (Str.endswith(suffix, 0, 19))
'''输出结果:True
		True
		False
		False'''

#注 start 参数以 0 为第一个字符索引值。
   #end 参数以 1 为第一个字符索引值。
find()方法
检查字符串中是否包含子字符串
str1 = "rookie uzi!"
str2 = "uzi";
print (str1.find(str2))   #输出7
print (str1.find(str2, 5))  # 输出7
print (str1.find(str2, 10)) # 输出-1  未查找到

info = 'abca'
 print(info.find('a'))      # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
 print(info.find('a', 1))   # 从下标1开始,查找在字符串里第一个出现的子串:返回结果3
 print(info.find('3'))      # 查找不到返回-1
index()方法
index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
isalnum()方法
#salnum() 方法检测字符串是否由字母和数字组成 字符串中有汉字的话 也返回True
str = "kebe6234"  # 字符串没有空格
print (str.isalnum()) # 打印True
str = "www.python.com"
print (str.isalnum())# 打印False  
isalpha()方法
#Python isalpha() 方法检测字符串是否只由字母或文字组成
str = "rookie"
print (str.isalpha()) #打印True

# 字母和中文文字
str = "rookie肉鸡"
print (str.isalpha()) 3打印 True

str = "python爬虫!!!"
print (str.isalpha())  3打印 False
isdigit()方法
# Python isdigit()  #方法检测字符串是否只由数字组成
str = "123456";
print (str.isdigit())  # 返回True

str = "uzi"
print (str.isdigit()) # 返回False
大小写
s = "alex"
s1 = s.upper() #全部大写
print(s1)

s = "ALEX"
s1 = s.lower() # 全部小写
print(s1)

 # 应用场景   
s = input("验证码(AbC5)")
if s.upper() == "AbC5".upper():
     print("验证码正确")
else:
     print("验证码错误!")

join()方法
# Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
name = "jerry"
print("_".join(name)) 
# 输出 "j_e_r_r_y"

name = "jerry"
name1 = "*".join(name)
print(name1)
# 输出 j*e*r*r*y

name = "jerry"
print("&".join(name))
# 输出 :j&e&r&r&y
split()方法
# split() 方法将字符串拆分为列表。可以指定分隔符,默认分隔符是任何空白字符。
#注:若指定 max,列表将包含指定数量加一的元素。
# 使用逗号后跟空格作为分隔符,分割字符串:
txt = "hello, my name is Bill, I am 18 years old"
x = txt.split(", ")
print(x)
# 运行结果为:['hello', 'my name is Bill', 'I am 18 years old']

# 将字符串拆分为最多 2 个项目的列表:
txt = "apple#banana#cherry#orange"
# 将 max 参数设置为 1,将返回包含 2 个元素的列表!
x = txt.split("#", 1)
print(x)
# 运行结果为 ['apple', 'banana#cherry#orange']
strip()方法
# Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
# 注:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
str = "*****this g!*****"
print (str.strip( '*' ))  # 指定字符串 *
# 输出结果为: this g!
str = "123abcrunoob321"
print (str.strip( '12' ))  # 字符序列为 12
# 输出结果为:3abcrunoob3
# 注 1、strip() 处理的时候,如果不带参数,默认是清除两边的空白符,例如:/n, /r, /t, ' ')。
#    2、strip() 带有参数的时候,这个参数可以理解一个要删除的字符的列表,是否会删除的前提是从字符串最开头和最结尾是不是包含要删除的字符,如果有就会继续处理,没有的话是不会删除中间的字符的。
swapcase()方法
# swapcase() 方法用于对字符串的大小写字母进行转换。
str = "this"
print (str.swapcase())

str = "This"
print (str.swapcase())
title()方法
# Python title() 方法返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写。
str = "uzi ben rookie"
print (str.title())
# 注 非字母后的第一个字母将转换成大写
str = "uzi ben r2o4okie"
print (str.title()) 
# 输出结果为:Uzi Ben R2O4Okie
isdecimal()方法
# isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
tr = "runoob2016"
print (str.isdecimal()) # False

str = "23443434"
print (str.isdecimal())  # True

参考 菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值