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、双引号?

?2、转义字符

3、原始字符串

?用三重引号的多行字符串

?多行注释?

?字符串下标和切片

?字符串的in和not in 操作符

?有用的字符串方法

字符串方法upper()、lower()、isupper()和islower()

upper()和lower()方法

?islower()、isupper()检测字符串是否全为小写、大写

?isX字符串方法

字符串方法startswith()和endswith()

?字符串方法join()和split()

join()方法:

split()方法:

?用rjust()、ljust()和center()方法对齐文本

?用strip()、rstrip()和lstrip()删除空白字符

?项目练习:密码保管箱

项目练习:在wiki标记中添加无序列表


处理字符串

Python提供写入、打印和访问字符串的一些方法

如何在字符串中输入单引号

字符串以单引号开始和结束,但是如何在字符串中内使用单引号呢?

可以看到直接在字符串中使用单引号会报错,可使用如下方法在字符串中使用单引号:

1、双引号?

?2、转义字符

\'? ? ?单引号

\"? ? ?双引号

\n? ? 换行符

\t? ? ?制表符

\\? ? 反斜杠

3、原始字符串

在字符串引号之前加r,就表示原始字符串,原始字符串忽略有所的转义,打印出字符串内所有的内容。

?用三重引号的多行字符串

使用换行符可以使字符串进行换行,但是使用多行字符串换行更加直观、容易。

?必须加转义字符\n才能达到相同的效果

?否则就会报错呀

多行注释?

三重引号也可以用作多行注释

# 表示一行注释

字符串下标和切片

?spam[0:5] 包含spam[0]到spam[4]的全部内容

字符串切片并没有修改原来的字符串,但可以将切片保存在另一个变量里面

?字符串的in和not in 操作符

用in和not in连接两个字符串得到的表达式,将求值为布尔值True或False。

?有用的字符串方法

字符串方法upper()、lower()、isupper()和islower()

upper()和lower()方法

1、返回一个新的字符串,不改变原来的字符串

2、将原来字符串中所有的字母转换成大小写

3、非字母字符不变

?作用:用户输入的时候,有写用户输入大写、有些输入小写,使用upper()和lower()方法就可以同一大小写,然后带入程序进行比对。

没有加大小写转换,运行就报错

?加入大小写转换

print('How are you?')
answer=input()
if answer.lower()=='great':
    print('I feel great too')
else:
    print('I hope you happly,if you can play computergame')

?islower()、isupper()检测字符串是否全为小写、大写

1、字符串至少有一个字母

2、全为大写、小写才会返回True

大小写混合为假

?没有字母也返回False

?全大写、全小写为真

?isX字符串方法

isalpha():字符串只包含字母,非空

isalnum():只包含字母和数字,非空

isdecimal():只包含数字,非空
isspace():只包含空格、制表符、换行,非空

istitle():字符串仅包含以大写字母开头、后面都是小写字母的单词。

?作用:验证用户输入

while True:
    print('please input age')
    age=input()
    if str(age).isdecimal():
        break
    print('please input age again')
while True:
    print('please input password')
    password=input()
    if password.isalnum():
        break
    print('password can only have letters and numbers.')

字符串方法startswith()和endswith()

?判断字符串开头是啥、结尾是啥

print('hello world'.startswith('hell'))
print('hello world!'.endswith('world!'))
print('abc123'.startswith('abc'))
print('abc123'.endswith('3'))
print('hello world'.startswith('hello world'))

?字符串方法join()和split()

join()方法:

1、在字符串上调用

2、参数是一个字符串列表

3、返回一个字符串,返回的字符串由传入的列表中每个字符串连接而成

a=['123','abc','456','def']
print('.'.join(a))
print('----'.join(a))
print('- —— -'.join(a))
print('ABC'.join(a))

split()方法:

1、针对一个字符串调用

2、返回一个字符串列表

?用rjust()、ljust()和center()方法对齐文本

就是左对齐、右对齐、居中对齐,在Word里面对齐都是空格,在Python里面可以自定义对齐填充的字符。

左对齐在字符串右面填充字符:

由于字符串a长度为11,因此会填充19个-,和9个*,本人亲数

?右对齐:

?居中对齐:

?作用:打印表格式数据,可以留出正确的空格。也可以使输出更加好看。

def printPicnic(itemsDict,l,r):
    for k,v in itemsDict.items():
        print(k.ljust(l,'.')+str(v).rjust(r))
picnicItems={'apples':4,'banana':7,'cups':9}
printPicnic(picnicItems,20,2)

?用strip()、rstrip()和lstrip()删除空白字符

删除字符串左边、右边或两边的空白字符(空格、制表符\t、换行符\n)

strip()返回一个新的字符串

rstrip()和lstrip()在原字符串上操作,删除左边或右边的空白字符

?这些方法有个可选的字符串参数,指定两边的那些字符应该删除。

可以看到删除了字符串两边的123,也可以看到,与传入的字符串的顺序无关。

?用pyperclip模块拷贝粘贴字符串

?pyperclip模块有copy()和paste()函数,就是电脑上的复制粘贴,可以向计算机的剪贴板发送文本,或者从剪贴板接收文本。

如果程序之外的某个程序改变了剪贴板的内容,paste()函数就会返回它。我直接在电脑上复制一段话,调用paste()方法,就会直接返回复制的话:

?

?项目练习:密码保管箱

#! python3
# pw.py -An insecure password locker program
import sys,pyperclip
PASSWORD={'email':'123456','blog':'shy014','luggage':'qwer1234'}
if len(sys.argv)<2:
	print('Usage:py -3 pw.py [account] - copy account password')
	sys.exit()

account=sys.argv[1]

if account in PASSWORD:
	pyperclip.copy(PASSWORD[account])
	print('password for'+account+'clied to clipboard.')
else:
	print('There is no account named'+account)

?注意:1、sys.argv[0]是程序的名称,在这个程序中就是pw.py

项目练习:在wiki标记中添加无序列表

就是将你复制下的东西,变成无序列表(每行前面加*号),然后再复制到剪贴板中。

#! python3
# bulletPonitAdder.py - Adds * in every line heads

import pyperclip
text=pyperclip.paste()

lines=text.split('\n')
for i in range(len(lines)):
	lines[i]='*'+lines[i]
text='\n'.join(lines)
print(text)
pyperclip.copy(text)

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

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