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/114470.html原文链接:https://javaforall.net

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


相关推荐

  • (二)购物商城数据库设计-商品表设计

    (二)购物商城数据库设计-商品表设计大家好,今天我们来设计一下购物商城的商品表。我们的目标是表结构能够满足下面这张图的搜索:在设计表之前,我们先来了解下商品中的一个概念:SPU和SKUSPUSPU(StandardProductUnit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。SK…

    2022年6月20日
    46
  • 无锁编程 汇总

    无锁编程 汇总无锁编程主要是通过一系列原子操作实现。原子操作:1.  Read-Modify-Write(RMW)操作Win32上的_InterlockedIncrementandInterlockedDecrement,iOS上的OSAtomicAdd32以及C++11中的std::atomic::fetch_add。需要注意的是,C++11的原子标准不保证其在每个平台上的实现都是无

    2022年5月31日
    40
  • hive 配置文件以及join中null值的处理「建议收藏」

    hive 配置文件以及join中null值的处理

    2022年2月2日
    41
  • 一篇教会你写90%的shell脚本_flash动画脚本怎么写

    一篇教会你写90%的shell脚本_flash动画脚本怎么写如果将运维比作手链,将珍珠比作服务,那么将珍珠串起来的线就是Shell,作为实现Linux系统自动管理以及自动化运维所必备的Shell脚本,其重要性便不言而喻。每一位合格的Linux系统管理员或运维工程师,都应该将熟练编写Shell脚本视为基本技能之一,只有这样才能减少不必要的劳动。但是新人在编写脚本时却只会:#!/bin/bash,所以今天就给大家分享100个经典实用的脚本范例,手把手教你写Shell脚本。这100个脚本范例从基础到进阶均涵盖,有侧重地提高编写能力,结构清晰准确,PDF格式,可

    2022年10月3日
    2
  • springcloud学习(三)之Hystrix

    springcloud学习(三)之Hystrix前言雪崩效应在微服务架构中,⼀个应⽤可能会有多个微服务组成,微服务之间的数据交互通过远程过程调⽤完成。这就带来⼀个问题,假设微服务A调⽤微服务B和微服务C,微服务B和微服务C⼜调⽤其它的微服务,

    2022年7月4日
    22
  • JavaScript基础大总结

    JavaScript基础大总结✍初始JavaScirptJavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行来进行解释并执行现在也可以基于Node.js技术进行服务器端编程????浏览器执行JS简介浏览器分成两部分:渲染引擎和JS引擎渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的webkitJS引擎:也称为JS解释器。用来读

    2022年7月17日
    15

发表回复

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

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