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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • maven镜像还有不支持发型版本5

    maven镜像还有不支持发型版本5maven镜像<mirror> <id> alimaven </id> <mirrorOf> central </mirrorOf> <name> aliyunmaven </name> <url> http://maven.aliyun.com/nexus/content/repositories/central/ </u

    2022年8月21日
    7
  • linux时间戳转换成日期格式_数据库时间戳转换成时间

    linux时间戳转换成日期格式_数据库时间戳转换成时间//ConvertUnixtimestamptonormaldatestylepublicStringTimeStamp2Date(StringtimestampString){Longtimestamp=Long.parseLong(timestampString)*1000;Stringdate=newjava.text.S…

    2022年10月2日
    4
  • double 转BigDecimal 丢失精度问题解决

    double 转BigDecimal 丢失精度问题解决错误方式BigDecimalbigDecimal=newBigDecimal(0.11D);logger.info(“bigDecimal====”+bigDecimal);//bigDecimal0.11000000000000000055511151231257827021181583404541015625正确方式:BigDecimalbigDecimal1=bigDecimal.valueOf(0.11D);logger.info(“bigDecimal1″+bigDeci

    2022年6月1日
    39
  • 最详细的解决:UnboundLocalError: local variable ‘a‘ referenced before assignment

    最详细的解决:UnboundLocalError: local variable ‘a‘ referenced before assignment代码及报错如下解决很多人都非常困惑,为什么在test3中可以直接输出a,但是在test3中,使用a+=1的时候,就直接报错呢?首先,我们需要明确一个概念,就是全局变量与局部变量。如下图,大家觉得打印的a会是1还是3?答案是1,因为定义在test3外部的a是全局变量,而定义在test3内部的a是局部变量。此时,外面这个a与里面这个a没有任何关系。只不过是名字一样而已。其次,我们需要明确在函数内部是可以直接访问到全局变量的,所以上图中test1是可以直接输出a,b的。但是如果是直接在test2中实

    2022年6月16日
    45
  • oracle date_trunc_oracle中truncate用法

    oracle date_trunc_oracle中truncate用法PostgreSQL与Oracle对应的函数一、对应的函数1.sysdateoraclepgsqlsysdatecurrent_date、current_timestampnvlcoalescetruncdate_trunc(text,timestamp)…文章rayner2018-01-05842浏览量Oracle日期显示问题以及trunc方法的使用我们先来假设这么一个场景,只要输入一个…

    2025年7月25日
    4
  • 2021数模美赛A题翻译及思路

    2021数模美赛A题翻译及思路A题懒得看了,不占坑了,可以去看看我EF的思路(还在占坑)问题A:菌类2021美赛A题思路。2021美赛A题解法。2021美赛思路,2021美赛数学建模思路,欢迎加入秀儿为你弹奏东风破:752899821碳循环描述了整个地球地球化学循环中碳交换的过程,是地球生命的重要组成部分。碳循环的一部分包括化合物的分解,使碳得以更新并以其他形式使用。该过程的这一部分的关键组成部分是植物材料和木质纤维的分解。分解木质纤维的一些关键因素是真菌。最近关于真菌通过木材分解的研究文章的作者确定了决定分解速率的真菌性状,并

    2022年5月7日
    47

发表回复

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

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