Python学习日记---字符串基础学习(附代码)

Python学习日记—字符串基础学习
此文章基于B站视频(/Python从入门到精通https://www.bilibili.com/video/av59562092/?p=204)学习所写:

一、下标:

str1="asdfghjk"
print(str1)
print(str1[0])
print(str1[2])

二、切片:

str1="asdfhjkl"
print(str1)
print(str1[0])
#  切片:序列名[开始位置下标:结束位置下表:步长]
print(str1[2:5:1])
print(str1[2:5])
print(str1[:2])  # 如果不写开始,默认从0开始选取
print(str1[2:])  # 如果不写结束,表示选取到最后
print(str1[:])   # 如果不写开始和结束,表示选取所有
#  负数测试:
print(str[::-1])   # 如果步长为负数,表示倒叙选取
print(str[-4:-1])  # 下标-1表示最后一个数据,依次向前类推
#  终极测试
print(str[-4:-1:1])
print(str[-4:-1:-1])  # 不能选取出数据:从-4开始到-1结束,选取方向为从左到右,但是-1步长:从右到左选取
# *** 如果选取方向(下标开始到结束的方向)和步长有冲突,则无法选取数据
print(str[-1:-4:-1])

三、字符串操作常用方法:

# **** 查找
mystr = "hello world and itcast and iteame and Python"
#  1.find():检测某个子串是否包含在这个字符串中,若在返回这个子串下标,否则返回-1
#  语法:字符串序列.find(子串, 开始位置下标,结束位置下标)
print(mystr.find('and'))
print(mystr.find('and', 15, 30))
print(mystr.find('ands'))

#  2.index():检测某个子串是否包含在这个字符串中,若在返回这个子串下标,否则报异常
#  语法:字符串序列.find(子串, 开始位置下标,结束位置下标)
print(mystr.index('and'))
print(mystr.index('and', 15, 30))
#  print(mystr.index('ands')) #  报异常

#  3.count():#  返回某子串再在字符串中出现的次数
print(mystr.count('and', 15, 30))
print(mystr.count('and'))
print(mystr.count('ands'))

#  rfind():和find功能相同,但查找方向为右侧开始
#  rindex():和index功能相同,但查找方向为右侧开始


# **** 修改:
#  1.replace() 把and换成he #**说明replace函数有返回值,返回值是修改后的字符串
new_str1 = mystr.replace('and', 'he', 1)
new_str2 = mystr.replace('and', 'he')
new_str3 = mystr.replace('and', 'he', 10)
#  替换次数如果超过子串出现次数,表示替换所有这个子串
print(mystr)
print(new_str1)
print(new_str2)
print(new_str3)
#  调用了replace函数后,发现原有字符串的数据并没有做到修改,修改后的数据是其返回值,说明字符串是不可变数据类型
#  数据是否可以改变划分为 可变类型 和 不可变类型

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

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

#  aa...bb...cc
new_str4 = '...'.join(mylist)
print(new_str4)

#  4.大小写转换
#  capitalize() 字符串首字母大写
new_str5 = mystr.capitalize()

#  title() 字符串中每个单词首字母大写
new_str6 = mystr.title()

#  upper() 小写转大写
new_str7 = mystr.upper()

#  lower() 大写转小写
new_str8 = mystr.lower()

print(new_str5)
print(new_str6)
print(new_str7)
print(new_str8)

#  5.删除空白字符
mystr1 = "   I am good,and you?   "
#  lstrip():删除字符串左边的空白字符
print(mystr1.lstrip())
#  rstrip():删除字符串右边的空白字符
print(mystr1.rstrip())
#  strip():删除字符串两侧的空白字符
print(mystr1.strip())

#  6.字符串对齐
mystr2 = "hello"
#  ljust(长度,填充字符):返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
#  rjust(长度,填充字符):返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
#  center(长度,填充字符):返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
print(mystr2.ljust(10, '.'))
print(mystr2.rjust(10, '.'))
print(mystr2.center(10, ' '))


# **** 判断
#  1.startswith():检查字符串是否以指定子串开头,是返回Ture,否侧返回False。如果设置开始和结束的下标,则在指定范围内检查
#  语法:字符串序列.startswith(子串, 开始位置下标,结束位置下标)
print(mystr.startswith('hello'))  # Ture
print(mystr.startswith('hells'))  # Flase

#  2.endswith():检查字符串是否以指定子串结尾,是返回Ture,否侧返回False。如果设置开始和结束的下标,则在指定范围内检查
#  语法:字符串序列.endswith(子串, 开始位置下标,结束位置下标)
print(mystr.endswith('Python'))  # Ture
print(mystr.endswith('Pythons'))  # Flase

#  3.isalpha():如果字符串至少有一个字符且所有字符为字母则返回Ture否则返回False
mystr3 = 'hello'
mystr4 = 'hello123'
print(mystr3.isalpha())
print(mystr4.isalpha())

#  4.isdigt():如果字符串只包含数字则返回Ture否则返回False
mystr5 = '123456'
print(mystr3.isdigit())
print(mystr5.isdigit())

#  4.isalnum():如果字符串至少有一个字符且所有字符为字母或数字则返回Ture否则返回False
mystr6 = '123456-'
print(mystr3.isalnum())
print(mystr4.isalnum())
print(mystr5.isalnum())
print(mystr6.isalnum())

#  4.isspace():如果字符串只包含空白则返回Ture否则返回False
mystr7 = '1 2 3 4'
mystr8 = '       '
print(mystr7.isspace())
print(mystr8.isspace())

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值