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)
相关推荐
Patrick在香港1 小时前
Python 拉取 C&SD 官方 API:香港 2022 年已跨过“超老龄线“,而抚养比正在爬回 1961
android·c语言·python·数据分析·时序数据库·数据可视化·香港
2601_962382431 小时前
Python零基础入门,看完直接上手写代码
python·机器学习·编程语言·数据科学·入门教程
信誓旦旦的程序猿1 小时前
【零依赖量化数据实战 #25】北交所技术指标与基本面
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
2601_966949651 小时前
Python 量化开发为什么适合使用金融数据 SDK?从数据获取到策略研究的工程化实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
科技小E1 小时前
训完怎么带走?AI模型私有化部署平台DLTM模型导出ONNX/PyTorch与离线部署跑遍产线边缘
人工智能·pytorch·python
晓窗科技1 小时前
专业的AI基座公司
人工智能·python
万年咸鱼1 小时前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
花间相见1 小时前
【LangChain组件02】—— create_agent函数详解
python
长友cy2 小时前
Qt官方示例Application源码阅读
开发语言·qt