Python | 不就是数据类型吗(字符串篇)

字符串(str)

人的一生作为一个软件/项目,整个人生中使用最多的数据类型为说话/沟通!反应到程序中就是字符串的使用。
字符串就是用来描述数据的信息。

一、声明

1.单引号
info = '字符串'
2.双引号
info = "字符串"
3.三引号
info = '''可以换行的字符串'''
info = """可以换行的字符串"""

一般长字符不被当做字符串使用,都被当做注释。

总结:单引号和双引号是可以穿插使用的,但是在开发过程中的时候还是要优先使用双引号来声明字符串。

二、字符串占位符号

1. 常规字符串的拼接
  • 逗号(,)
info = "我的姓名是"
info2 = "我的年龄是"
print(info, "王富贵,", info2, 18)	
# 我的姓名是 王富贵, 我的年龄是 18

逗号拼接时,逗号两边的数据类型可以不同。细心地你一定发现了,这句话中我在把字符串和变量用逗号拼接时,他们中间被空格分开了,有强迫症的小伙伴看着肯定会觉得有些不舒服,比如说我这个处女座,看到一句话中间被隔开,就总想把他们搞到一起,所以下面举例另一种拼接操作。

  • 加号(+)
info = "姓名:"
info2 = "年龄:"
print(info + "王富贵," + info2 + str(18))
# 姓名:王富贵,年龄:18

不知道细心的你有没有又发现点什么,那就是最后我把18做了一个强制类型转换成了字符串。为什么呢?这就好比英语中and两边要连接词性相同的单词,我们python中在用加号(+)做字符串的拼接时,加号两边的数据类型必须都是字符串

2. 字符串的占位符号(%)

类比生活,我去图书馆,但是我之前每次去自习室人都满了,于是我先用书占个地,告诉别人这里有人,你就不能坐了,然后我去了我直接坐那就行了。但是,一个萝卜一个坑就好,别多占,这也不是人干的事。
占位符号:顾名思义它就是占位用的,先占个位置,然后再向占得位置那里添加数据。

name = "王富贵"
gender = "女"
age = 18
print("我的姓名是:%s, 性别是:%s, 年龄是:%d" % (name, gender, age))
# 我的姓名是:王富贵, 性别是:女, 年龄是:18
  • 常用的字符串占位符
占位符描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%f格式化浮点数,可指定小数点后的精度
%10s填充后占10个字符宽度,默认右对齐展示 [%-10s 左对齐展示]
%05d填充后不满足宽度的字符用0填充。例:5→ 00005
%5.3f保留小数位数(是否四舍五入), 3.1415 → 3.142

三、字符串切片

字符串是由一组有顺序字符组成的。

1. 字符串字符顺序
  • 顺序(从左向右):0,1,2,3… 左侧从 0 开始排列
  • 倒序(从右向左):…-3 ,-2,-1 右侧从-1 开始排列
2. 基本语法
 S[开始位置:结束位置:步长]
注意:
  • 范围遵循左闭右开
  • 步长:间隔字符数(包含当前字符自己)
s = "hellopython"
s[0:8]		# hellopyt
s[0:8:1]	# hellopyt
s[0:8:2]	# hloy
# 字符串倒序[只设置步长为-1,字符串出现翻转]
s[::-1]		# nohtypolleh

四、字符串的转义

在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。
这里的描述更加详细

转义符号描述
\n换行
\r回车
\a警铃
\t制表符

五、字符串的内建函数

1.字符串变形
方法描述
capitalize()字符串首字母大写
title标题首字母大写
upper全部大写
lower全部小写
swapcase大小写转换
2.剔除空格

注意:字符串内部的空格不可删除

方法描述
strip去除字符串两边的空格(默认),去除内容可以指定
lstrip去除左边的空格
rstrip去除右边的空格
3.格式化字符串
方法描述
center(width,fillchar)返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
lljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
4.查询
方法描述
startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
endswith(suffix, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
find(str, beg=0, end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str, beg=0, end=len(string))查看是否包含指定字符,没有报错
rfind(str, beg=0,end=len(string))从右往左查询
rindex( str, beg=0, end=len(string))从右往左查询
5.字符串替换
方法描述
replace(old, new [, max])从左向右替换指定元素,可以指定个数.默认全部替换.
6.字符串的拆分和拼接
方法描述
split(str="", num=string.count(str))以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
partition按指定字符,将一个字符串拆分成三个字符串
join(seq)按指定字符,将多个字符串拼接成一个新的字符串
7.字符串混淆[初级加密/解密]
方法描述
maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
translate(table, deletechars="")根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

其他方法可以通过**dir(str)**查询

六、字符串的格式化输出

1.占位符(%形式,不推荐较麻烦)

python字符串格式化符号

占位符描述
%s格式化字符串
%d有符号整数(十进制)
%f浮点数,可以指定小数点后的精度
%c字符及其ASCII码
%10s填充后占10个字符宽度,默认右对齐(%-10s默认左对齐)
%05d填充后不满5个字符宽度用0填充
%5.3f保留3位小数(5表示是否四舍五入)

格式化操作符辅助指令

符号描述
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
< sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%%%‘输出一个单一的’%
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
2.使用{}作为占位符:format()
s = "python"
print("I love {}.".format(s))	# I love python.

print("Xiaoming also loves {s}.".format(s="python"))	# Xiaoming loves python.
3.f-string

f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。这也是我平常用的最多的格式化字符串方法,很方便。

s = "python"
print(f"I love {s}.")   # I love python.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值