python--字符串

字符串定义

字符串定义使用引号引起来 可以是'',也可以是"",还可以是三引号(单双都可)

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)
相关推荐
战略性的菠萝3 小时前
研究生基本功-Python快速入门(一)
python
啊哈一半醒4 小时前
Go 语言 Context 全方位详解:原理、实战与避坑
开发语言·后端·golang
铅笔侠_小龙虾4 小时前
rust 学习(9):结构体
开发语言·学习·rust
月光船幽幽4 小时前
门控函数SHS阈值与调制机制解析
人工智能·python·算法
测试19984 小时前
2026全新软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
此生决int4 小时前
深入理解C++系列(11)——stack、queue和priority_queue
开发语言·c++
周杰伦fans4 小时前
数列极限的定义
java·开发语言
Zane19944 小时前
map 比推导式快"是真的吗?一文讲透 map、filter、reduce 与 lambda 的真实性能与设计取舍
后端·python
过期的秋刀鱼!4 小时前
带替换的采样
人工智能·python·算法·决策树·机器学习