Python 字符串操作基础

1.Python 字符串

字符串可以看做是由单个文本字符构成的列表,每个字母构成一个列表元素,可以用下标取值,切片,用于for循环,用len()函数

name = 'Zophoie'
name[2]
name[-3]
name[0:3]'Zo'in name'ZO'in name
len(name)'ZOO'not in name
True
for i in name:print('*'*(len(name)))
*******
*******
*******
*******
*******
*******
*******

1.1 可变和不可变数据类型

字符串不可变,只能通过 切片 和 连接 构造新的字符串

sentence = 'Zophie loves me'new = sentence[:7]+'hates'+sentence[-3:]new
'Zophie hates me'

2.字符串操作

2.1 处理字符串

## 2.1.1 转义字符
### \t 表示制表符,相当于 tab键
print ('I\'m tall but dumb “baby”,that\'s what they call me\nI don\'t really care ,honestly speaking\nThis is a test \t \\')## 2.1.2 原始字符串
###引号前加 r ,忽略所有转义字符
print('I\'m lonely')
print(r'I \'m lonely' )## 2.1.3 三重引号的多行字符串
### “ 三重引号” 之间的所有引号、 制表符或换行, 都被认为是字符串的一部分。
print('''what if
I'm powerful enough 
to be weak
''')# 2.1.4 多行字符串可以用来注释
'''
三个引号就可以
做多行注释了吗
似乎不是一个好的方法
'''
I'm tall but dumb “baby”,that's what they call me
I don't really care ,honestly speaking
This is a test   \
I'm lonely
I \'m lonely
what if
I'm powerful enough 
to be weak'\n三个引号就可以\n做多行注释了吗\n似乎不是一个好的方法\n'
#2.1.5 字符串下标与切片
spam = 'Hello,bae'
spam[3]#2.1.6 字符串 in 和 not in 操作符
'Hello' in spam
True

2.2 有用的字符串方法

## 字符串方法 upper() , lower(), isupper(), islower()spam = spam.upper()
spam
spam.islower()
spam.lower().islower()
True

2.2.1 isX 字符串方法

方法true when
isalpha()非空 仅字母
isalnum()非空 仅字母 数字
isdecimal()非空 仅数字
isspace()非空 仅空格、换行、制表符
istitle()仅包含大写开头其余小写的单词(标题)

可以用来验证用户输入内容

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

'Hello world'.startswith('He')
True
'Hello world'.endswith('12')
False

2.2.3 字符串方法 join() split()

','.join(['I','like','you'])
'I,like,you'
' '.join(['I','miss',"you"])
'I miss you'
'My name is Carol'.split()
['My', 'name', 'is', 'Carol']
'Iabcloveabcyouabcdarling'.split('abc')
['I', 'love', 'you', 'darling']
' '.join('Iabcloveabcyouabcdarling'.split('abc'))  #join split 结合
'I love you darling'

2.2.4 rjust() , rjust() , center() 对齐文本

'hello world'.rjust(20)   #右对齐,
'         hello world'
'hello'.ljust(20,'+')    #左对齐
'+++++++++++++++hello'
'bazinga'.center(20,'=')  #居中
'======bazinga======='

2.2.5 strip() , rstrip() , lstrip() 删除空白字符串

'  Hello,world  '.strip()         #删除两边空白字符
'Hello,world'
'asbdiabafiaobfa'.strip('absf')   #删除两边指定字符,与顺序无关
'diabafiao'

2.2.6 用 pyperclip() 模块拷贝粘贴字符串

pyperclip 模块有 copy()和 paste()函数, 可以向计算机的剪贴板发送文本, 或从它接收文本。
将程序的输出发送到剪贴板, 使它很容易粘贴到邮件、文字处理程序或其他软件中。
pyperclip 模块不是 Python 自带的,要安装它.

import pyperclip
pyperclip.copy('What\'s the world like')
pyperclip.paste()
"What's the world like"
pyperclip.paste()
"'For example, if I copied this sentence to the clipboard and then called\r\npaste(), it would look like this:"

参考文献
《Python编程快速上手–让繁琐工作自动化》

转载于:https://www.cnblogs.com/blogofnickchen/p/7221635.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设置tableView的分割线从最左端开始

苹果原生的tableView的cell分割线默认是没有从最左端开始,有时候这样不免影响美观,有时也会有这样的需求,设置tableView的分割线从最左端开始: 不多说了,直接上代码吧: //分割线从顶端开始 --------适配iO…

java 定时 spring_Spring定时任务实现与配置(一)

朋友的项目中有点问题。他那边是Spring架构的,有一个比较简单的需要定时的任务执行。在了解了他的需求之后,于是提出了比较简单的Springquartz的实现方式。注意本文只是讨论,在已搭建完毕的Spring工程下,完成最简单的定时任务。第…

内核同步机制

内核中用于临界区保护下的互斥机制,它包括自旋锁、原子操作和信号量,三者保证了对临界资源访问的互斥型。 1.1 内核中的互斥机制 1.1.1 自旋锁 自旋锁用在多个CPU系统中。当一个线程在一个CPU上正使用资源,而另一个线程在另一个CPU上正忙等待…

makefile运行_NVDIA TX2入门 系列之三:运行Yolov3

上篇TX2安装完成OpenCV 3.4.0之后,基本软件包已经安装完成,本篇开始安装并运行大名鼎鼎的号称速度最快的目标识别分类算法Yolov3。Yolov3 是啥啊Yolov3是一款基于darknet深度学习框架的目标检测开源项目,目前已经发展到第3版本,即…

.NET7之MiniAPI(特别篇):.NET7 Preview3

.NET7的第三个预览版发布了,同样带来了mini api的更新,这次带来了路由过滤器,与mvc版的action 过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-preview-3/用官方的代码,跑不起来&…

C#实现树的双亲表示法

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace 树的实现 {public partial class Form1 : Form{public Form1(){Init…

C++编译之提示ld: can‘t open output file for writing: test1, errno=21 for architecture x86_64

1 问题 在mac 终端写了一个cpp文件,然后用命令编译运行提示错误如下 1111deMBP:code a1111$ g -stdc11 test1.cpp -o test1 ld: cant open output file for writing: test1, errno21 for architecture x86_64 clang: error: linker command failed with exit code…

MySQL存储写入速度慢分析

一、存储结构分析MySQL存储结构图:解析:1、读操作:内存读-->cache缓存读-->磁盘物理读读取到的数据会按上述顺序往回送。2、写操作:内存数据直接写入cache缓存(非常快)-->写入disk由上可知,MySQL之所以读写速…

windows 建立wifi热点

1、以管理员身份运行命令提示符:netsh wlan set hostednetwork modeallow ssidmywifi key123456其中ssid为wifi名称,key为wifi密码。2、设置Internet连接共享:在“网络连接”窗口中,右键单击已连接到Internet的网络连接&#xff0…

【C语言简单说】一:第一个C语言程序

注册CSDN有些年头了,但是从未写过任何任何的东西。 几年前的懵懵懂懂,现在虽然依旧懵懂但是还好,能够听得懂大触们大致再说神马东西了。 这段时间有点怀疑人生,由于本人才疏学浅,所以只好留下一点帮助小白级入门的干货…

腾讯视频VIP会员,周卡特价9元!腾讯官方直充,会员立即生效!

腾讯视频新剧热播,但去广告必须是腾讯视频VIP会员,今天就给大家推荐特价充值腾讯视频VIP会员的平台——幻海优品,官方在线直充,会员秒到!腾讯视频VIP会员特价充值周卡:原价12元,特价9元月卡&…

google+stackoverflow_哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题...

作者 | Nick Roberts编译 | AI科技大本营(ID:rgznai100)自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员。自那时以来,开发人员提出了数百万个关于开发领域的问题。但是,迫使开发者转向 Stack Overflow 的问题都是什么呢&am…

Android 中的接口回调

Android 中的接口回调转载于:https://www.cnblogs.com/zhujiabin/p/5223806.html

java 获取接口的注解_java反射注解妙用-获取所有接口说明

前言最近在做项目权限,使用shiro实现restful接口权限管理,对整个项目都进行了重构。而权限管理需要用到所有的接口配置,包括接口url地址,接口唯一编码等。想要收集所有的接口信息,如果工程接口很多,工作量可想而知。这…

C#窗体的Load事件与Shown事件的区别

Load&#xff1a;在第一次显示窗体前发生。 <pre name"code" class"csharp"> private void Form1_Load(object sender, EventArgs e){} Shown&#xff1a;只有在首次显示窗体时才会引发 Shown 事件&#xff1b;随后执行的最小化、最大化、还原、隐藏…

在CentOS7.0上制作openstack-juno本地yum源 .doc

在CentOS7.0上制作openstack-juno本地yum源参考文献&#xff1a; 2014/09/27 | http://www.kekeyun.net/?p222可可云计算网以http://www.kekeyun.net/?p222文为参考&#xff0c;在CentOS7.0上制作本地源&#xff0c;过程如下&#xff1a;一、创建CentOS7虚拟主机安装过程有…

【C语言简单说】二:第一个C语言程序详解(1)

如有错误请给与纠正… 上一个教程只说明了第一个C语言程序源码中的&#xff1a; printf("Hello Wrold!"); 这行代码的含义&#xff0c;现在我们来说说全部代码&#xff1b;当然为了各位的方便&#xff0c;我就把那个代码给复制过来了&#xff0c;如下: #include&…

C++之智能指针和普通指针单例模式两种实现

1 问题 实现c++的单例模式,这里测试分别写了通过智能指针返回对象和普通返回指针 2 代码测试 include <iostream> #include <mutex> #include <memory>using namespace std;class Single { public:static Single& getInstance(){std::mutex mt;if (…

mybatis 返回 插入的主键

2019独角兽企业重金招聘Python工程师标准>>> 一般返回的是 数据库的 自增的 主键&#xff0c;&#xff0c;&#xff0c; 百度了一通&#xff0c;&#xff0c;我 刚开始 以后 可以 通过 插入的方法的&#xff0c;&#xff0c; 返回值 可以获取到 自增的主键&#xff…

Source Generator实战

前言最近刷B站的时候浏览到了老杨的关于Source Generator的简介视频。其实当初.Net 6刚发布时候看到过微软介绍这个东西&#xff0c;但并没有在意。因为粗看觉得这东西限制蛮多的&#xff0c;毕竟C#是强类型语言&#xff0c;有些动态的东西不好操作&#xff0c;而且又有Fody、N…