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)
相关推荐
1024奇点9 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
实名上网宋凯宣9 小时前
Django
后端·python·django
Warren2Lynch10 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
如若12310 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing0311 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by2099912 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河12 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新12 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
IT召唤狮12 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php