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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114470.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • VM15pro安装MacOS10.15.1系统(超详细,可用)[通俗易懂]

    VM15pro安装MacOS10.15.1系统(超详细,可用)[通俗易懂]前段时间去开发了款app需要用到打包,Android打包就不说了那个不涉及到环境,但是ipa打包就烦了,还要在mac的环境中去打包,但是作为一个底层程序员为了一个打包去买一个macpro就有点亏了,………

  • springboot集成elasticsearch注意事项

    springboot集成elasticsearch注意事项一、elasticsearch基础  这里假设各位已经简单了解过elasticsearch,并不对es进入更多的,更深层次的解释,如有必要,会在写文章专门进行es讲解。  Elasticsearch是一个基于ApacheLucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。  但是,Lucene只是一个…

  • Linux安装Redis(图文解说详细版)「建议收藏」

    Linux安装Redis(图文解说详细版)「建议收藏」最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!!富贵同学linux环境为CentOS7.8版本。这次说一下Redis的安装第一步,下载安装包https://redis.io/download第二步,上传安装包到/opt下(老规矩了,安装包在opt下)第三步,解压安装包tar-zxvfredis-6.2.6.tar.gz第四步,编译进入到reidis-6.2.6中输入make进行编译第五步,安装进入s

  • dedecms 使用中问题汇集

    dedecms 使用中问题汇集

    2021年11月17日
  • 玩客云 青龙面板_青龙京东签到

    玩客云 青龙面板_青龙京东签到玩客云安装青龙面板实现京东签到薅羊毛

  • Java自定义注解Annotation详解[通俗易懂]

    简介开发中经常使用到注解,在项目中也偶尔会见到过自定义注解,今天就来探讨一下这个注解是什么鬼,以及注解的作用和自定义注解。列举开发中常见的注解@Override:当重写父类的方法时一般都会在方法上标注上此注解(我们最经常看到的toString()方法上总能看到这货)@Deprecated:用于标记某个方法已经过期,请使用新的方法来替代已经废弃的方法@SuppressWarnings:让编译器或

发表回复

您的电子邮箱地址不会被公开。

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