[Python] (Day-06) - 字符串

Make everything as simple as possible, but not simpler — Albert Einstein 把每件事,做简单到极致,但又不过于简单 - 阿尔伯特·爱因斯坦

字符串是 Python 中最常用的数据类型。

我们可以使用引号''或""来创建字符串。

str = 'Hello World!'
name = "Mazy"

访问字符串中的值

格式:字符串[下标位置 / 范围]

print(str)
print(name)
print(str[4])
print(name[1:3])

执行结果:

Hello World!
Mazy
o
az

转义字符

在字符中使用特殊字符时,需要使用转义字符进行转义

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页

字符串运算符

下表实例变量a值为字符串 "Hello",b变量值为 "Python":

操作符 描述 实例
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[:] 截取字符串中的一部分 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True H in a 输出结果 1
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True M not in a 输出结果 1
r/R 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符 print(r'\n'), 结果为"/n"
% 格式字符串 请看下面的格式化输入内容
a = "Hello"
b = "Python"

print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])

if ("H" in a):
    print("H 在变量 a 中")
else:
    print("H 不在变量 a 中")

if ("M" not in a):
    print("M 不在变量 a 中")
else:
    print("M 在变量 a 中")

print(r'\n')
print(R'\n')

以上实例输出结果为:

a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n

字符串格式化

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

格式化实例:


intro = "我叫 %s 今年 %d 岁!" % ('小明', 10)
print(intro) // "我叫 小明 今年 10 岁!"

# 另外一种格式化方法
intro1 = "my name is {name}, and i am {age} old"
# 格式化字符串
intro1.format(name='Mazy',age=21) // "my name is Mazy, and i am 21 old"

字符串基本内建函数总结

以下假设变量 str = "hello world"

方法 描述
str.capitalize() 将字符串的第一个字符转换为大写
str.count("l") 计算 l 在字符串中的个数
str.center(50,"-") 50个字符,不足50位补-,字符串居中
str.endswith("x") 是否以x 结尾, 返回 True / False
str.find("or") 查找到or所在的位置
str.isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
str.isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
str.isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false
str.isdigit() 如果字符串只包含数字则返回 True 否则返回 False
str.isidentifier() 判读是不是一个合法的标识符
str.isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
str.istitle() 如果字符串是标题化,则返回 True,否则返回 False
'+'.join( ['1','2','3']) 以指定字符串作为分隔符,将 seq中所有的元素合并为一个新的字符串
str.ljust(50,'*') 返回长度为50个字符串,不够在左边加"*"
str.rjust(50,'-') 返回长度为50个字符串,不够在右边加"-"
str.lower() 全部转换成小写
str.upper() 全部大写
str.lstrip() 删除字符串前面的空格
str.rstrip() 删除字符串末尾的空格
str.replace('l','L',1) 将第一个 l 改成 L
str.rfind('l') 从右往左查找 l 所在的位置
str.splitlines() 将字符串通过换行符分割成列表
str.swapcase() 大写转小写,小写转大写
str.title() 转化为标题格式,单词首字母大写
str.zfill(50) 填充到50个,不足补0

补充:Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

实例执行结果为:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [ 
 ]。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本节要介绍的是Python里面常用的几种数据结构。通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组...
    小黑y99阅读 65,753评论 0赞 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,197评论 19赞 139
  • 我不信任世界满满都是善意, 我不信任即时的快乐, 我不信任车水马龙, 人来人往。 我不信任人类刻意的笑容, 广播里...
    方脑壳儿阅读 224评论 0赞 0
  • 向日葵 军事武器
    爱暖心扉一悠悠阅读 431评论 0赞 0
  • 他是好莱坞最具个性的动作巨星之一, 也长期占据着全球演员富豪榜单之列, 这名不折不扣的吸金狂魔, 却一直抵触将私生...
    剧透社阅读 3,101评论 1赞 1

友情链接更多精彩内容