Python字符串

字符串的使用

# 字符串的使用区别


a = 'hello' \
    ' world'
print(a)   # 输出一行 hello world


c = '''hello 
world'''
print(type(c))
print(c)       # 换行输出hello world




d = """hello 
world"""
print(type(d))  # <class 'str'>
print(d)        # 会直接换行输出


# 打印 I'm Tom,使用单引号,必须使用转移字符,把他转义过去
e = 'I\'m Tom'
print(e)


# 要是有单引号出现可以使用双引号括住
f = "I' love Tom"
print(f)


============================================================================


# 字符串的输出 


name = 'Tom'
print('我的名字是%s' % name)
print(f'我的名字是{name}')


==============================================================================


# 字符串的输入
password = input('请输入您的密码')
print(f'您输入的密码是{password}')
# input接收到的用户输入的数据都是字符串
print(type(password))

下标和切片

(1)下标

str1 = 'abcdefg'
print(str1)
# 数据在运行过程中存储在内存
# 使用字符串中特定的数据
# 使用编号精确找到某个字符数据,下标索引值
# str[下标]
print(str1[0])  # 输出a
print(str1[1])  # 输出b

(2)切片

# 序列名[开始位置的下标:结束位置的下表:步长]
# 取值区间左闭右开的


str1 = '012345678'
# print(str1[2:5:1]) 234
# print(str1[2:5:2]) 24
# print(str1[2:5]) 234  # 如果不写步长,默认步长是1
# print(str1[:5]) 01234   # 如果不写开始,默认从0开始选取
# print(str1[2:]) 2345678 # 如果不写结束,表示选取到最后
# print(str1[:]) 012345678  # 如果不写开始和结束,表示选取所有


# 负数测试
# print(str1[::-1]) 876543210 # 如果步长为负数,表示倒叙选取
# print(str1[-4:-1])  567    下标为-1表示最后一个数据,依次向前类推


# 终极测试
# print(str1[-4:-1:1]) 567
print(str1[-4:-1:-1]) # 不能选取出数据:从-4开始到-1结束,选取方向从左到右,但是-1步长:从右向左选取
# 如果选取方向(下标开始到结束的方向)和步长方向冲突,则无法选取数据
print(str1[-1:-4:-1]) # 876 方向一致就可以正确输出

小总结: 下标是精确的找到某一个元素,切片可以利用下标找到某一部分元素(左闭右开)

字符串常用操作方法(查找、修改、判断)

(1)查找

mystr = 'hello world and itcast and itsmail and Python'


# 1. find()
print(mystr.find('and')) # 输出的是12,以为下标是从0开始数的
print(mystr.fing('and',15,30))
print(mystr.find('ands')) # -1,ands字串不存在


# 2. index
print(mystr.find('and')) # 12
print(mystr.find('and',15,30)) #23
print(mystr.index('ands')) #如果index查找字串不存在,报错


# 3. count()
print(mystr.count('and')) 3
print(mystr.count('and',15,30)) 1
print(mystr.count('ands')) 0


# 4. rfind()
print(mystr.rfind('and')) 35
print(mystr.find('ands')) -1 如果没找到,则返回-1


# 5. rindex()
print(mystr.rindex('and')) 35  就算是到着找,它的下标还是从左到右从下标0开始的
print(mystr.rindex('ands'))

(2)修改

# 遇到列表、字典,内部的数据可以直接修改,修改的就是原列表或者原字典。叫做可变类型。
# 字符串是一个不可变类型的数据


mystr = 'hello world and itcast and itheima and Python'
# replace() 把and换成he replace函数有返回值,返回值是修改后的字符串
new_str = mystr.replace('and','he')
# new_str = mystr.replace('and','he',1)
# 替换次数如果超出字串出席那的次数,表示替换所有这个字串
# new_str = mystr.replace('and','he',10)
print(mystr)
print(new_str)


# 调用了replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是replace函数的返回值
# 说明字符串是不可变数据类型
# 数据是否可以改变划分为 可变类型,不可变类型


# 2. split()  分割,返回一个列表,丢失分割字符
list1 = mystr.split('and')
print(list1)


# 3. join() 合并列表里面的字符串数据为一个大字符串
mylist = ['aa','bb','cc']
new_str = '...'.join(mylist)
print(new_str)

修改-非重点

# 一、字符串对齐
# mystr.ljust(10) 左对齐
# mystr.rjust(10) 右对齐
# mystr.rjust(10,'.') 以点作为填充效果
# mystr.center(10) 中间居中
# mystr.center(10,'.') 以点填充空白的地方






# 二、大小写转换
mystr = 'hello world and itcast and itheima and Python'
# 1. capitalize() 字符串首字母大写
# new_str = mystr.capitalize()
# print(new_str)


# 2. title():字符串中每个单词首字母大写
# new_str = mystr.title()
# print(new_str)


# 3. upper():小写转大写
# new_str = mystr.upper()
# print(new_str)


# 4. lower():大写转小写
# new_str = mystr.lower()
# print(new_str)




# 三、删除空白字符
str1 = "      hello world and itcast and itheima and Python  "
# 1. lstrip():删除字符串左侧空白字符
# print(str1)
# new_str = str1.lstrip()
# print(new_str)


# 2. rstrip():删除字符串右侧空白字符
new_str = str1.rstrip()
print(str1)
print(new_str)


# 3. strip():删除字符串两侧空白字符
# new_str = str1.strip()
# print(new_str)

(3)判断

# 判断开头或结尾
mystr = 'hello world and itcast and itheima and Python'
# 1. startswith(字串,开始位置下标,结束位置下标):判断字符串是否以某个字串开头
print(mystr.startswith('hello'))
print(mystr.startswith('hel'))
print(mystr.startswith('hels'))
print(mystr.startswith('hell',0,10)) 开始位置下标和结束位置下标可以省略


# 2. endswich(字串,开始位置下标,结束位置下标),始位置下标和结束位置下标可以省略
print(mystr.endswith('Python'))
print(mystr.endswith('Pythons'))


# 判断
3. isalpha():字母  纯字母才可以,如果中间有空格返回的false
print(mystr.isalpha())


# 4. isdigit():数字,中间也不能有空格,否则返回false
print(mystr.isdigit())
mystr1 = "12345"
print(mystr1.isdigit())


# 5. isalnum():数字或字母或组合
print(mystr1.isalnum()) # True
print(mystr.isalnum())  # False 因为中间有空格
mystr2 = 'abc123'
print(mystr2.isalnum())


# 6. isspace():判断是否是空白,是返回True
print(mystr.isspace())  # False
mystr3 = ' '
print(mystr3.isspace())	 # True


 0
 0
 分享
评论图片
评论