Python入门——字符串

Python快速入门(1)------字符串

最近需要使用到python,本系列适合有其他编程语言(C/C++/Java)基础的同学,帮助大家一起快速上手Python,主要介绍Python编程常用操作与其他语言的区别。本节主要介绍python的字符串

字符串

Python字符串常用操作
索引/下标访问
常用方法
常用
倒序访问
截取/切片
长度
判空
大小写
删除空白
分割
title()
upper()
lower()
strip()
lstrip()
rstrip()
spilt()
partition()

索引访问
常用

与其他语言一样,python的字符串支持下表访问

python 复制代码
message = "flower,flow,flight"
# 访问第一个字符
message[0]

除此之外,python字符串下标访问还支持倒序访问截取

倒序访问

python支持倒序访问,message[-n]即倒数第n个字符,但是无论正序还是倒序都会有越界访问检查,越界时出现IndexError

python 复制代码
message = "flower,flow,flight"
# 访问倒数第1个字符t
message[-1]
# 越界IndexError: string index out of range
message[-100]
截取/切片

其他语言截取字符串一般需要通过方法substring(),python直接根据索引可以切片,且与大多数编程语言一样是左闭右开 。python支持倒序访问截取,且遵循startIndex < endIndex,否则直接返回空字符串。

切片的完整语法:[起始索引:结束索引:步长],步长默认是 1(正向,如果为负则为负向),起始索引与结束索引可选,默认为0和字符串长度-1

步长为 0(无效,直接报错),索引不会报错自动终止

python 复制代码
message = "flower,flow,flight"
# 截取flower
message[0:6]
# 倒序访问截取flight
message[-7:-1]
# 空字符串
message[-1:-7]

这里有一些常用的技巧

  • 步长n,取所有字符(每隔n-1个取1个)s[::n]
  • 取偶数索引子字符串s[::2]
  • 取奇数索引子字符串s[1::2]
  • 反转字符串s[::-1]
常用方法
长度
python 复制代码
print(len(message))
判空
python 复制代码
empty_str = ""
# 方法一 if not
if not empty_str:
    print("空字符串")
# 方法二 == ""
print(empty_str == "")
# 方法三 判断长度
print(len(empty_str) == 0)
# 如果有空格
print(" ".isspace())
大小写
python 复制代码
message = "flower,flow,flight"
# 所有单词
print(message.title())
# 全大写
print(message.upper())
# 全小写
print(message.lower())
删除空白

python的strip()仅能删除ASCII码下的半角空格,这个是与JDK11中strip()的区别,相当于trim()

python 复制代码
# 输出:message
print(" message ".strip())
# 输出:message[空格]
print(" message ".lstrip())
# 输出:[空格]message
print(" message ".rstrip())
# 输出:essage[空格]
print(" message ".rstrip(" m"))
分割
  • split():按分割符分割为多个部分,返回列表

  • partition():按分割符分割为2部分,并保留分割符,返回元组

python 复制代码
message = "flower,flow,flight"
# 输出 ['flower', 'flow', 'flight']
print(message.split(","))
# 输出 ('flower', ',', 'flow,flight')
print(message.partition(","))
相关推荐
小糯米6019 分钟前
C++顺序表和vector
开发语言·c++·算法
froginwe1115 分钟前
JavaScript 函数调用
开发语言
阔皮大师19 分钟前
INote轻量文本编辑器
java·javascript·python·c#
独望漫天星辰19 分钟前
C++ 多态深度解析:从语法规则到底层实现(附实战验证代码)
开发语言·c++
小法师爱分享22 分钟前
StickyNotes,简单便签超实用
java·python
深蓝电商API23 分钟前
处理字体反爬:woff字体文件解析实战
爬虫·python
开源技术24 分钟前
Claude Opus 4.6 发布,100万上下文窗口,越贵越好用
人工智能·python
张3蜂37 分钟前
深入理解 Python 的 frozenset:为什么要有“不可变集合”?
前端·python·spring
无小道37 分钟前
Qt——事件简单介绍
开发语言·前端·qt
devmoon42 分钟前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity