字符串定义
字符串定义使用引号引起来 可以是'',也可以是"",还可以是三引号(单双都可)
name = '123'
三引号既有换行功能,又有代码解释文档作用
字符串的方法
字符串下标 从左到右依次从0开始递增
find方法
找子字符串在字符串中的下标位置,默认从头到尾去找,如果找不到则返回-1,用户可以指定起始索引和截止索引进行筛选
school_name = '''商洛学院'''
print(school_name.find('洛', 2, 3)) -1
print(school_name.find('学院')) 2
rfind方法
是从右侧开始查找,返回的是从左至右的索引值,具体功能跟find一致 print(school_name.rfind('洛')) 1
strip方法
去除字符串左右两边的空格
print(school_name.strip())
index方法
返回子字符串在整个字符串中的下标位置,如果要找的字符串不在其中,则会抛堆栈错误
print(school_name.index('院')) 3
replace方法
用于在字符串中替换子字符串,产生的值是新的值,不会更改原先的值 print(school_name.replace('学院', '大学'))
print(school_name)
格式化
format字符串格式化输出
age = 18
sex = '男'
username = '小明'
print("我的名字叫" + username + "我今年" + str(age) + "岁了" + "我是一个" + sex + "性")
print("我的名字叫{},我今年{}岁,我是一个{}生".format(username, age, sex))
%s 格式化
print("我叫%s,我%d岁了,我是一个%s生" % (username, age, sex))
f-string字符串格式化方法,python3.6版本开始支持
print(f"我是一个{sex}生,我叫{username},我今年{age}岁")
capitalize
首字母变大写(少用)
university_name = 'yale university'
print(university_name.capitalize()) #Yale university
count方法
用于计算子字符串在原字符串中出现的次数
print(university_name.count('i')
startswith和endswith 以什么开头或以什么结尾
filename = 'a.txt' print(filename.endswith('.txt')) True
print(filename.startswith('a')) True
upper转大写,lower转小写
upper转大写
print(university_name.upper())
lower转小写 ,通常获取用户的输入,然后判断用户输入的字符串是否是某个字符串(英文),可以使用lower进行转换后进行判断,防止可能性太多
user_content = input("请输入水果的单词:")
if user_content.lower() == 'apple':
print("您输入的是苹果")
elif user_content.lower() == 'banana':
print("您输入的是香蕉")
else:
print("您输入错误")
字符串切片
字符串是一个序列,可以使用切片操作符进行切片
使用方法字符串起始索引:结束索引:步长
- 起始索引 :从哪个位置开始截取(包含该位置字符)
- 结束索引 :到哪个位置停止(不包含该位置字符)
- 步长:截取的间隔(默认是 1,可不写)
反向索引 从右往左依次从-1开始递增 反向切片
s = "HelloPython" #
索引:0 1 2 3 4 5 6 7 8 9 10
字符:H e l l o P y t h o n
1.截取指定范围 start:end
s2:5 从索引2到4,结果:'llo'
s0:5 截取前5个字符,结果:'Hello'
s:5 从头截到索引4,结果:'Hello' (省略起始索引 :end)
s5: 从索引5截到最后,结果:'Python' (省略结束索引 start:)
s: 结果:'HelloPython' (省略所有 :复制整个字符串)
2.负数索引(倒数截取)
-1是最后一个字符-2是倒数第二个字符s-3: 截取最后3个字符,结果:'hon'
s:-2 截取除了最后2个字符的内容,结果:'HelloPyth'
s-5:-2 倒数第5位到倒数第3位,结果:'yth'
s::2 从头到尾,每隔1个字符取一个,结果:'Hloyhn'
s::-1 反转整个字符串,结果:'nohtyPolleH'
- 切片不会修改原字符串,会生成一个新字符串
- 起始 / 结束索引超出范围不会报错,会自动截取到边界
- 步长为正数:从左往右截取;步长为负数:从右往左截取
len函数
用于计算字符串的长度
print(len(content))
range函数
用于生成一个序列,序列中的元素从0开始递增,直到指定的结束值 range(start,stop,step)
for i in range(3):#遍历数字
print(i)
list(range(4)) # 0,1,2,3
计算1到100的和
range(start, stop) 左取右不取
sum = 0
for i in range(0,101):
sum = sum + i
print(f"当前的数字为{i},当前的sum的和为{sum}")
print("循环结束后,sum的值为:",sum)
大写字母和变量 upper_counts 小写字母和变量 lower_counts的个数
content = "I Love Python Programing" upper_counts = 0 lower_counts = 0 for index in range(len(content)): if content[index].isupper(): upper_counts += 1 if content[index].islower(): lower_counts += 1 print(f"大写字母的个数为{upper_counts},小写字母的个数为{lower_counts}")
统计下这个content变量中出现重复字母的次数
content = "I Love Python Programing" unqiue_content = ' ' for char in content: if char not in unqiue_content and char.isalpha(): unqiue_content += char print(unqiue_content) for s in unqiue_content: print(s,content.count(s)) print(content)