IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python详解字符串 -> 正文阅读

[Python知识库]Python详解字符串

?Python 中最常用的数据类型,我们可以使用引号 ( ' 或 " ) 来创建字符串

一、是什么

? ? ? ? 1.不可变的字符序列

? ? ? ? 2.主流机制:Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。

主流机制的几种情况:(用交互模式进行检测)

  1. 字符串长度为0或1? ? ? ? ?
  2. 字符串符合可标识符(数字、字母、下划线)?
  3. 字符串只能在编译时进行驻留,而非运行时? ? ? ? ?

? ? 【注】因为c只有在运行时才会将字符串连接。

? ? ? 4.【-5,256】之间的整数数字

? ? ? ?

?

? ? ? 5.强制驻留sys中intern方法

? ? ?

?【注】Pycharm对字符串进行优化,所以用交互模式进行检验.

二、查询

? ? ? ? 1.index()字符串第一次出现的位置

s = 'hello,Python'
print(s.index('o')

4?

???????2.rindex()字符串最后一次出现的位置

s = 'hello,Python'
print(s.rindex('o')

10?

【注】如果查找不存在时会抛出ValueError异常

? ? ? ? 3.find()字符串第一次出现的位置

s = 'hello,Python'
print(s.index('o')

?4

?????????4.? rfind()字符串最后一次出现的位置

s = 'hello,Python'
print(s.index('o')

? ? 10?

【注】?如果查找不存在时会返回-1

三、大、小字母的转换

? ? ? ? 1.upper()所有的字符转为大写

s = 'hello,PYTHON'
print(s.upper())

HELLO,PYTHON

? ? ? ? 2.lower()所有字符串转为小写

sz = 'Python,Word'
print(sz.lower())

?python,word

? ? ? ? ?3.swapcase()所有字符串大写转小写,小写转大写

sz = 'Pyton,Word'
print(sz.swapcase())

? ? pYTHON,wORD

? ? ? ? ?4.capitalize()第一个字符转大写,其余转小写

sz = 'python,HELLO'
print(sz.capitalize())

Python,hello

? ? ? ? 5.title()每个单词首字母大写,其余转小写?

sz = 'python,HELLO'
print(sz.title())#会一一排查下去

Python,Hello

【注】转换大小写字母的会开辟新的空间

四、对齐方式

? ? ? ? 1.center()居中;参数(指定宽度(如果小于原字符串长度会返回原字符串),奇数时向下取偶),指定填充符(默认空格)?)

s = 'python,word'
print(s.center(20,'*'))

? ? ****python,word*****? ?

? ? ? ? 2.ljust()左对齐

sz = 'python,hello'
print(sz.ljust(20,'-'))

python,hello---------

? ? ? ? 3.rjust()右对齐?

sz = 'python,hello'
print(sz.rjust(20,'-'))

---------python,hello

? ? ? ? 4.zfill()右对齐;参数:只接受一个参数:字符串宽度(左边补0)

sz = 'python,hello'
print(sz.zfill(20))
print('-8841'.zfill(8))

000000000python,hello

-0008841

四、劈分

? ? ? ? 1.?split()从左边开始劈分,默认空格为劈分点,返回结果为列表;通过sep参数改变劈分符;maxsplit参数设定最大劈分次数,剩余的为一个整体(劈分次数结束)。

s2 = 'hello|word|python'
print(s2.split('|'))
print(s2.split(sep = '|',maxsplit=1))

['hello', 'word', 'python']?

['hello', 'word|python']

? ? ? ? ?2.rsplit()从左边开劈分

s2 = 'hello|word|python'
print(s2.rsplit(sep = '|',maxsplit=1))

?['hello|word', 'python']

五、判断

isidentifier()字符串是否合法(数字、字母、下划线组成)
isspace()字符串是否全部由空白字符组成(回车、换行、水平制表符)
isalpha()字符串是否全部由字母组成
isdecimal()字符串是否全部由十进制数组成
isnumeric()字符串是否全部由数字组成
isalnum()判断字符串是否由数字与字母组成(至少由一个字符)

六、替换与合并

? ? ? ? ? ? ? ? ? ? ? ?1.?replace()替换;参数:(指定被替换的字串,替换的字符串,最大替换次数)

s2 = 'hello,hello,hello,hello'
print(s2.replace('he','Wr',2))

Wrllo,Wrllo,hello,hello?

【注】原字符串不会发生改变。

? ? ? ? 2.join()合并;将列表或元组的字符串合并为一个字符串。

s3 = ['hello','Java','Python']
print('|'.join(s3))

s4 = ('hello','Java','100')
print(' '.join(s4))

print('&'.join('Python'))

?hello|Java|Python

hello Java 100

P&y&t&h&o&n

七、比较

? ? ? ? 1.用比较运算符:==,> ,>=,<=,<,!=;规则:一个一个字符比较下去,不相同时不在进行比较.

print('apple'>'app')
print('applq'>'banana')

True

False?

chr()将字符转换对应的ASCII值
ord()将ASCII值转换对应的字符

八、切片

s= 'hello,Python'
s1 = s[-6::1]
print(s1)

Python?

九、格式化

%s占位符:字符串
%d占位符:整数
%f占位符:浮点数
name = '张三'
age = 26
print('我叫%s,今年%d岁' % (name,age))

我叫张三,今年26岁?

? ? ? ? ?{ }

print('我叫{0},今年{1}岁'.format(name1,age1))

?我叫C罗,今年35岁

print('{0:.5}'.format(3.1415926))
print('{:10.3}'.format(3.1415926))#?共10位,3位小数;0是占位符可以省略.
print('%f' % 3.1415926)#默认保留6位数

?3.1416

? ? ? 3.14?

3.141593

【注】{ }的数字与format()中的位置时一一对应(从0开始)

? ? ? ? f—string

name = '张三'
age = 26
print(f'我叫{name},年龄{age}')

我叫张三,年龄26?

? ? ? ? 宽度与精度

%10d宽度为10(左边填充空格)
%.3f保留3为小数(默认保留6位)
%10.3f总宽度为10位,保留小数3位
print('%10.3f' % 3.1415926)

? ? ?3.142

?十、编码与解码

编码类型
GBK在GBK这种编码格式中,一个中文占2个字节
UTF—8

在UTF-8编码格式中,一个中文占3个字节

? ? ? ?【注】编码与解码的类型要一一对应

????????1.编码 encode()函数

s = '天涯何处无芳草'#七个字
print(s.encode(encoding="GBK"))
print(s.encode(encoding="UTF-8"))

b'\xcc\xec\xd1\xc4\xba\xce\xb4\xa6\xce\xde\xb7\xbc\xb2\xdd'? ?? 14
b'\xe5\xa4\xa9\xe6\xb6\xaf\xe4\xbd\x95\xe5\xa4\x84\xe6\x97\xa0\xe8\x8a\xb3\xe8\x8d\x89'?21? ?

? ? ? ? ?2.解码? ?decode()函数

byte = s.encode(encoding="UTF-8")#编码
print(byte.decode(encoding="UTF-8"))#解码

天涯何处无芳草?

? ? ? ? 我也一位开始学习Python的小白,感兴趣可以关注私信我,一起讨论学习。^o^

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????奋进! ^o^

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:53:29  更:2022-09-24 20:56:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 12:37:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码