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第五章教学

刚过完年,这一章主要是字符串,正则表达式后续会单独开一章来详细的讲解。

五.字符串与正则表达式(正则表达式后面单独开一章来讲解)

1.字符串编码

在计算机内部,字符都是以某种编码的方式进行存储和处理的。就是字符编码提供一种映射,使屏幕上显示的内容和内存、磁盘中存储的内容对应起来。

s = '我'                 #默认为Unicode编码 
print(len(s))

s = s.encode('utf-8')   #指定为UTF-8编码
print(len(s))

print(s[0],s[1],s[2])   #分别输出“我”的3个字节编码的值(十进制)

s = s.decode('utf-8')   #解码为Unicode编码
s = s.encode('gbk')     #指定为GBK编码

print(len(s))

s = s.decode('gbk')     #解码为Unicode编码
print(len(s))

print(ord(s))

print(s[0])


--------------------------------------------------------------


1
3
230 136 145
2
1
25105
我

2.字符串的索引与分片

1.索引

s = 'hello'

print(s[0],s[-4])
h e

#当超出索引范围的时候,会报错下面的索引超出范围错误
print(s[5])
IndexError: string index out of range

#当出现这种错误的时候,是类型错误
print('H')
TypeError: string indices must be integers

2.分片

s = 'Hello World!'
print(s[0:7:2])

HloW
s = 'Hello World!'
print(s[-1:-5:-1])

!dlr
s = 'ABCDEFGIJK'

print(s[-100:100])
ABCDEFGIJK

3.字符串的操作

在python里面呢,字符串可以进行逻辑操作,还有连接操作。

1.字符串连接操作

(1)基本连接操作

print("wo"+"ai")

woai
print("age"+str(20))
age20

在python中,字符串是不可变类型:

s = 'abcdes'

s[1] = "2"

TypeError: 'str' object does not support item assignment

(2)重复连接操作

a = "ABC" * 2

print(a)

ABCABC

2.字符串逻辑操作

(1)单个字符比较,是比较字符的ASCII码

print('D'<'B')
False

print('8'>'2')
True

(2)等长字符比较,是从左往右一个一个比较,直到其中一个ASCII码大于另一个

print("SHANGHAI"<"SHANKONG")
True

(3)不等长字符比较,短字符后面补齐空格后比较

print("WHERE"<"WHEREVER")
True

4.字符串的常用方法

(1)字母大小写转换

  • s.upper()????????????????转为大写字母
  • s.lower()? ? ? ? ? ? ? ? ?转为小写字母
  • s.swapcase()? ? ? ? ? 字母大小写互换
  • s.capitalize()? ? ? ? ? ?首字母大写,其余小写
  • s.title()? ? ? ? ? ? ? ? ? ? 首字母大写
s = "Wo Shi yyx"

print(s.upper())
print(s.lower())
print(s.swapcase())
print(s.capitalize())
print(s.title())

----------------------------
WO SHI YYX
wo shi yyx
wO sHI YYX
Wo shi yyx
Wo Shi Yyx

(2)字符串对齐处理

  • s.ljust(width,[fillchar])? ? ? ? ? ?输出width个字符,s左对齐,右边不足部分用fillchar填充
  • s.rjust(width,[fillchar])? ? ? ? ? ?输出width个字符,s右对齐,左边不足部分用fillchar填充
  • s.center(width,[fillchar])? ? ? ? 输出width个字符,s中间对齐,两边不足部分用fillchar填充
  • s.zfill(width,[fillchar])? ? ? ? ? ? ?把s变成width长,并且右对齐,左边不足部分用0补齐
s = "Wo Shi yyx"

print(s.ljust(50,'*'))
print(s.rjust(50,'*'))
print(s.center(50,'*'))
print(s.zfill(50))

-----------------------------------
Wo Shi yyx****************************************
****************************************Wo Shi yyx
********************Wo Shi yyx********************
0000000000000000000000000000000000000000Wo Shi yyx

(3)字符串搜索

  • s.find(substr,[start,[end]])? ? ? ? ? ? 返回s中出现substr的第一个字符的编号,start和end作用就相当于范围
  • s.count(substr,[start,[end]])? ? ? ? ?计算substr在s中出现的次数
  • s.startswith(prefix[,start[,end]])? ?是否以prefix开始,是返回True,否返回False
  • s.endswith(prefix[,start[,end]])? ? ?是否以prefix结尾,是返回True,否返回False
s = "Wo Shi yyx"

print(s.find('o'))
print(s.count('o'))
print(s.startswith('W'))
print(s.endswith('W'))
-------------------------

1
1
True
False

(4)字符串替换

  • s.replace(oldstr,newstr,[count])把s中的oldstr替换为newstr,count为替换次数
s = "Wo Shi oyyx"

print(s.replace('o','a',1))

---------------------------------

Wa Shi oyyx

(5)字符穿的拆分与组合

  • s.split([sep,[maxsplit]])以sep为分隔符,把字符串s拆成一个列表,maxsplit表示拆分次数,默认为-1意思为无限次拆分
  • s.join(seq)把seq代表的序列组合成字符串,用s将序列各元素连接起来。(这个我也没太理解,我上俩段代码,好好看看)
a = 'asdasdasd'

print(a.split('a'))


s = 'yyx'
a = '123'

print(s.join(a))
print(a.join(s))

--------------------------------
['', 'sd', 'sd', 'sd']


1yyx2yyx3
y123y123x

(6)字符串类型测试

  • s.isalnum()? ? ?是否全为字母和数字,并至少有一个字符
  • s.isaplha()? ? ? 是否全为字母,并至少有一个字符
  • s.isdigit()? ? ? ? 是否全是数字,并至少有一个字符
  • s.isspace()? ? ? 是否全为空格,并至少有一个字符
  • s.islower()? ? ? s中的字母是否全是小写
  • s.isupper()? ? ? s中的字母是否全是大写
  • s.istitle()? ? ? ? ?s是否为首字母大写

这一个就不做测试了,这个返回的都是逻辑值。

这些呢,就是本章的全部内容了,下面有一些例题:

(1)将一个字符串中的字符按逆序打印出来

s = input("请输入字符串:\n")
for i in range(0,len(s)):
    print(s[len(s) - 1 - i],end='')


请输入字符串:
wo ai ni 
 in ia ow

(2)从键盘中输入5个字符串,将它们连接成一个字符串后输出

s = ''
for i in range(5):
    s5 = input("请输入字符串:\n")
    s = s + s5
print(s)



请输入字符串:
hao
请输入字符串:
hao
请输入字符串:
xue
请输入字符串:
python
请输入字符串:
o
haohaoxuepythono

(3)从键盘中输入几个数字,用逗号分隔,求这些数字之和

s = input("请输入几个数字(用逗号分隔):\n")
a = s.split(',')
sum = 0
for i in a:
    sum = sum + float(i)
print('sum=',sum)

--------------------------------

请输入几个数字(用逗号分隔):
20,10,20,30
sum= 80.0

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-07 13:41:15  更:2022-02-07 13:41:54 
 
开发: 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/15 23:52:08-

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