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(","))
相关推荐
张张123y2 小时前
后端第一课:输入 URL 后发生了什么?我用手写 Socket 把全链路跑通了
python·websocket·ai·socket·url·后端开发
白帽攻防录4 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
十年Java程序媛4 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
全栈弄潮儿4 小时前
Python实战第7期:字典与集合
后端·python·编程语言
2603_965148114 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
xixiaoyunya5 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
把我格子衫拿来5 小时前
Dice 很高就够了吗?分割评价中的 IoU、表面距离与 HD95
python·图像分割·模型评估·医学影像·dice
学逆向的5 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
曲径海盗6 小时前
【Python 学习第 31 天】复习:变量与数据类型 等 3 题
python·学习笔记·编程入门
Data_Journal6 小时前
如何绕过 Cloudflare:网页抓取的最佳方法
网络·python