python支持char型吗_python之不就是数据类型吗(字符串篇)

本文聚焦Python字符串的使用。介绍了字符串的声明方式,包括单引号、双引号和三引号;阐述了字符串占位符号、切片、转义的用法;还讲解了字符串的内建函数,如变形、剔除空格、查询、替换等操作;最后介绍了字符串的格式化输出,有占位符、format()和f-string三种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串(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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值