python初级:基础知识-字符串

python初级:基础知识-字符串

一、字符串

1.字符串声明

# 传统声明,使用单引号包含字符
s1 = '字符串'
# 常规声明,使用双引号包含字符
s2 = "字符串"
# 长字符串声明
s3 = """ 这是一个长字符串 长字符串可以包含换行 """

2.字符串赋值与删除

# 初始化字符串[第一次使用变量,并向变量中存储数据]
name = "TOM"
# 更新字符串数据[给已经存在的字符串重新赋值数据]
name = "JERRY"
# 获取字符串中的数据
print(name)
# 删除字符串数据
name = None   # 逻辑删除
del name       # 物理删除[删除了数据同时删除了变量]

3.字符串常规操作

(1)切片

与列表相同,每个字符相当于一个元素,可以顺序编号,也可以倒叙编号

(2)字符串变形

S.lower()	将字符串S中的所有字符转换成小写
S.upper()	将字符串S中的所有字符转换成大写
S.title()	将字符串S中的每个单词的首字母大写[标题]
S.capitalize()	将字符串S中的第一个单词的首字母大写[段落]
S.swapcase()	将字符串S中的所有大小写字母转换
info = "Hello World"

s1=info.upper()
print(s1)
#HELLO WORLD

s2=info.lower()
print(s2)
#hello world

s3=info.title()
print(s3)
#Hello World

s4=info.capitalize()
print(s4)
#Hello world

s5=info.swapcase()
print(s5)
#hELLO wORLD

4.字符串其他操作

可以利用字符串的切片操作例如S.index©,可以到达很多意料之外的功能,例如在地址中1获取文件名

S.center(width)	居中对齐
S.ljust(width)	左对齐
S.rjust(width)	右对齐

S.strip()	剔除字符串两侧的空格
S.lstrip()	剔除字符串左侧的空格
S.rstrip()	剔除字符串右侧的空格

S.split(c)	按照指定的字符串c,将字符串S拆分成多个字符串组成列表
S.rsplit(c)	反向
S.partition(c)	按照指定的字符串c,将字符串S拆分成三个字符串组成列表
S.rpartition(c)	反向

S.join(L)	使用指定的字符串,连接一串有顺序的字符串

S.index(c)	在字符串S中,查询字符串c第一次出现的位置查询不到数据会出现错误提示ValueError
S.rindex(c)
S.find(c)	在字符串S中,查询字符串c第一次出现的位置,查询不到数据会返回一个-1索引
S.rfind(c)

S.startswith(c)	判断字符串S是否以字符串c开头
S.endswith(c)	判断字符串S是否以字符串c结束
S.count(c)	在字符串S中,查询字符串c出现的次数

S.replace(o, n)	将字符串S中的o字符串替换成n字符串
S.translate(_tab)	比较少用,经常和maketrans()配合使用,用来进行特定的字符数据替换,是最原始的移位加密

S.isalnum()	判断字符串中是否包含 字母+数字
S.isalpha()	判断字符串中是否包含 字母
S.isnumeric()	判断字符串中是否包含 数字
S.isascii()	判断字符串中是否可以转换 ascii码
S.isdigit()	判断字符串中是否包含 整数
S.islower()	判断字符串中是否 小写
S.isupper()	判断字符串中是否 大写
S.istitle()	判断字符串中是否 标题
S.isspace()	判断字符串中是否 空格

二、字符串元字符与转义字符

python中为了字符串能表示各种类型的数据,提供了各种元数据表示不同的字符意义

(1)元字符

s = "xxx"	普通字符串;python3中就是unicode编码
python2中使用的ascii编码
s = u"xxx"	这是一个指定了unicode编码的字符串
python2中经常使用;python3中已经不用(默认)
s = b"xxx"	这是一个指定了的字节类型的字符串数据
b(bytes/binary)
s = f"xxx"	这是一个格式化的字符串数据,可以在字符串中直接渲染展示变量数据,参考字符串格式化展示
s = r"xxx"	这是一个防止字符串中转义符号的字符串,转义符号在r开头的字符串中没有作用

(2)转义字符

\	就是一个转义符号
\\	字符串中输出一个反斜杠
\n	换行
\r	回车
\t	水平制表符,表示的就是键盘上的tab按键

三、字符串格式化展示

字符串格式化展示:字符串数据和变量数据混合输出
(1)正常输出

# 人的信息
hero = "sun_jing"
win = 520
price = 1314.00

# ① 正常输出
print("正常输出-->英雄名称:", hero, "; 获胜场次:", win, "; 价格:", price)
print("拼接输出-->英雄名称:" + hero + ";获胜场次:" + str(win) + ";价格:" + str(price))
正常输出-->英雄名称: sun_jing ; 获胜场次: 520 ; 价格: 1314.0
拼接输出-->英雄名称:sun_jing;获胜场次:520;价格:1314.0

(2)% 占位输出

# 人的信息
hero = "sun_jing"
win = 520
price = 1314.00


# % 占位输出
print("%%占位符-->英雄名称:%s,获胜场次:%d,价格:%f" % (hero, win, price))
print("%%占位符-->英雄名称:%10s,获胜场次:%d,价格:%.2f" % (hero, win, price))
%占位符-->英雄名称:sun_jing,获胜场次:520,价格:1314.000000
%占位符-->英雄名称:  sun_jing,获胜场次:520,价格:1314.00

(3)format()格式化输出

hero = "sun_jing"
win = 520
price = 1314.00

# format()格式化输出
print("format格式化--> 英雄名称{},获胜场次:{},价格:{}".format(hero, win, price))
print("format格式化--> 英雄名称{h},获胜场次:{w},价格:{p}".format(w=win, h=hero, p=price))
print("format格式化--> 英雄名称{h:^10},获胜场次:{w},价格:{p:.2f}".format(w=win, h=hero, p=price))
format格式化--> 英雄名称sun_jing,获胜场次:520,价格:1314.0
format格式化--> 英雄名称sun_jing,获胜场次:520,价格:1314.0
format格式化--> 英雄名称 sun_jing ,获胜场次:520,价格:1314.00

(4)f-string格式化字符串

# f-string格式化字符串 [format string]
print(f"f-string字符串--> 英雄名称:{
     hero}, 获胜场次:{
     win}, 价格:{
     price}")
print(f"f-string字符串--> 英雄名称:{
     hero:10}, 获胜场次:{
     win}, 价格:{
     price:.2f}")
f-string字符串--> 英雄名称:sun_jing, 获胜场次:520, 价格:1314.0
f-string字符串--> 英雄名称:sun_jing  , 获胜场次:520, 价格:1314.00
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114567.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ActionScript项目无法调试[通俗易懂]

    ActionScript项目无法调试[通俗易懂]C:\WINDOWS\system32\Macromed\Flash\Flash10b.ocx程序调试需要安装9版本的,这是已经安装的10版本的,需要再下一个flashplayer_10_ax_debug.exe来提供支持

    2022年10月14日
    2
  • VMware实现Android x86 8.1 从安装到使用———全网最全,全网首发,本人实测

    VMware实现Android x86 8.1 从安装到使用———全网最全,全网首发,本人实测VMware实现Androidx868.1从安装到使用虚拟机虚拟机Android安装托坑指南一些终端模拟器的指令

    2022年5月29日
    119
  • 有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」

    有什么软件方便画er图_数据库ER图绘制工具(DbSchema)「建议收藏」DbSchema是一款专业的数据库ER图绘制工具,也是一款通用数据库设计器和查询工具,可以将数据库以交互的视觉展现,支持文件创建报表,加载数据,生成随机数据等功能。有需要的小伙伴欢迎来西西下载体验。软件功能:1、ER图DBNAME图表设计器在DbSchema中,您将通过图表布局与模式交互。通过创建多个布局来更好地理解模式,每个布局都专注于模式的特定部分。布局和模式结构将保存在DbSchema项目文…

    2022年6月21日
    669
  • java孙鑫老师视频教程笔记「建议收藏」

    java孙鑫老师视频教程笔记「建议收藏」此笔记是我开始系统学习java孙鑫老师视频教程的笔记。可供初学者学习参考哈 今天先附上第一课Java的一些基本概念第二课Java面向对象编程后面的将陆续为大家奉上 但是如果你是初学者的话,我笔记里边可能有些东西只是点了一下,没有再详尽的描述了那是因为我以前学过一段java,有一定java基础,所以如果你需要这部分更的详细讲解的话还是得麻烦你自己在网上搜一

    2022年5月17日
    34
  • 使用JList遇到的奇怪问题

    使用JList遇到的奇怪问题

    2021年8月19日
    55
  • listagg小记录[通俗易懂]

    listagg小记录[通俗易懂]listagg的作用是将分组范围内的所有行特定列的记录加以合并成行。函数签名中的measure_expr为分组中每个列的表达式,而delimiter为合并分割符。如果delimiter不设置的话,就表示无分割符。  中间withingroup后面的order_by_clause表示的是进行合并中要遵守的排序顺序。而后面的over子句表明listagg是具有分析函数analyze

    2025年9月6日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号