python无效的类字符串_Python基础-字符串处理

​你好,我是goldsunC

让我们一起进步吧!

字符串操作与处理

字符串是编程语言中经常会遇见的东西,而字符串又和那些编程语句什么的不太一样,我们可能需要对一个字符串进行各种各样的处理,后面我将给出我整理的一些常用的对字符串进行处理的方法。

字符串创建

将一系列字符包裹在一对单引号或者双引号中即可创建字符串,就像这样:

>>> 'I am goldsunC'

'I am goldsunC'

>>> "I am goldsunC"

'I am goldsunC'

首先,不管你是用单引号还是双引号创建的字符串,在shell中输出的均为单引号的字符串,而实际上单引号和双引号创建出的字符串没有实质性不同,那为什么不规范成一种创建格式呢?因为它有一点作用,试想,假如你的字符串是一段话,里面还包括引号,比如:

>>> 'I said :"I am goldsunC"'

'I said :"I am goldsunC"'

这样就体现了有两种字符串的好处了:使得我们可以创建本身就含有引号的字符串。

我们都知道,Python语言中有四种数据类型,分别是:

布尔型、整型、浮点型、字符串型

布尔型:只表示真假,只有True和False两种取值。一般为逻辑表达式形式。

整型:整数,如1、3、5等。

浮点型:即带小数点的类型,如1.23、1.0e8等。

字符串型字符组成的序列,如"I am goldsunC",像字母、数字、空格等都可以作为字符。

因为在编程语言中经常会将一些对象赋值给一些变量,如果你想查看某个变量的类型,只需要这样输入即可:

type(variable)

#For example

>>> type(2)

>>> type(1+1<5)

# bool即为布尔型。

>>> type(1.23)

>>> type('I am goldsunC')

同时,你也可以将其他类型的数据转换为字符串类型,如下:

# 将整型转换为字符串类型

>>> str(100)

'100'

对浮点型来说转化为字符串是和整型一致的,布尔型也可以转化为字符串,但是可能无法转化为你想要的字符串,因为布尔型只有两种取值,你可以试着转化一下,会有下面的结果:

>>> str(1+1<5)

'Ture'

字符串处理

字符串相接

当你拥有两个字符串:'I am '、'goldsunC',你想把后者加在前者的后边成为一个新字符串'I am goldsunC',在Python语言中这个操作非常简单,你只需要输入:

>>> 'I am '+'goldsunC'

'I am goldsunC'

#当然,你也可以这样:

>>> a = 'I am '

>>> b = 'goldsunC'

>>> a+b

'I am goldsunC'

字符串复制

复制相同的已有字符串,用 '*' 即可,如:

>>> 'goldsunC' *3

'goldsunCgoldsunCgoldsunC'

提取字符串中的字符

提取字符串中的字符一般用方括号[]来解决

如字符串 'goldsunC' ,你如果想要提取出来其中的第四个字符d,那么你只需要输入:

>>> 'goldsunC'[3]

's'

你可能会想,为什么方括号中的索引值是3,而明明字符d是字符串中的第4个字符啊,而实际上,方括号中的索引值并不是代表你要提取的第几个字符,它的含义是你要提取的字符相对于其所在字符串中第一个字符的偏移量(向右侧偏移为正),对一个字符串来说,其中的第一个字符相对于第一个字符的偏移量为0,第二个的偏移量为1,以此类推,同样的,偏移量也可以为负数,即向左偏移,这也体现了Python语言聪明的一点,以上述字符串 'goldsunC' 为例:

>>> A = 'goldsunC'

>>> A[0]

'g'

>>> A[7]

'C'

>>> A[-1]

'C'

而实际上有时候我们不止需要提取一个字符,我们可能需要某个字符串中的半串,亦或者需要其中的某一个片段,那我们应该怎么做呢,没错,还是需要方括号[]来帮助我们:

#还是以'goldsunC'为例:

#假定我们需要提取它中的 sun ,你需要这样做:

>>> 'goldsunC'[4:7]

'sun'

>>> 'goldsunC'[-4:-1]

'sun'

#亦或者你想每隔两个步长提取一个字符:

>>> 'goldsunC'[0:-1:2]

'glsn'

总结:通过上边的例子我们不难总结出来对字符串使用方括号提取字符的规律。首先,其有效引用格式为[start : end : step],其中:

start : 提取字符串的起始偏移位

end : 提取字符串的终止偏移位(不包括此位,提取到"end-1")

step : 提取步长。

其中除了start和end之间的冒号之外,所有参数均可省略。[:] : 提取从开头到结尾的整个字符串。

[start:] : 从start提取到结尾。

[:end] : 从开头提取到 end - 1。

以此类推,亲爱的你会举一反三吗哈哈哈。

另外需要注意的一点是:Python语言在提取操作中对于无效偏移位的容忍程度非常大,即在提取时,小于一个字符串起始位置的偏移量会被当作0,而大于终止位置的偏移位会被当做 -1 。

获取字符串长度

字符串长度即是字符串中包含的字符数,比如空格等字符也算入内,获得字符串的长度对我们对它进行相关处理非常有用,比如刚才学会的字符提取。而获得字符串长度的方法很简单,就像得到一个对象的数据类型一样,你只需要输入:

>>> len('goldsunC')

7

>>> len('I am goldsunC')

13

分割字符串

在之前的各种方法,在我看来都算是广义的操作方法,直接对字符串本身进行操作即可,而到这里,我们就需要用一些函数来实现我们想要的功能了,当然,你也可以选择不用函数,自己去编写程序获得你想要的结果,可是放着已经有的车不去开而去选择自己造一辆车是非常不明智的,正是各种函数的存在才极大的增加了我们的工作效率。

分割字符串需要用到split()函数,圆括号里面的参数为分割符号,如果为空则默认分割符号为空白字符即:换行符、空格、制表符(Tab)。

举例:

# 变量赋值

>>> str ='I am goldsunC. And everyone says I am handsome.'

# One

>>> str.split('.')

['I am goldsunC','And everyone says I am handsome','']

# Two

>>> str.split()

['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']

# Three

>>> str.split('d')

['I am gol', 'sunC. An', ' everyone says I am han', 'some.']

从上边的例子我们很容易知道split()函数的使用方法,就是圆括号里面是什么字符,就将原字符串以什么字符分割而已,很好理解。

合并字符串

既然有分割字符串,那么肯定有合并字符串,合并字符串的函数是join()函数,和分割函数split()相比,合并函数的引用方法似乎有些奇怪。

举例:

#创建链表

>>> str_list = ['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']

# One

>>> ' '.join(str_list)

'I am goldsunC. And everyone says I am handsome.'

# Two

>>> ','.join(str_list)

'I,am,goldsunC.,And,everyone,says,I,am,handsome.'

通过例子我们可以看出来,奇怪的地方在于引用方法,join()函数的圆括号里面不是合并符,而是我们要合并的对象,合并符号在函数之前,不过可能是Python语言这样设置是为了让我们有更好的理解吧,不管怎样,记住就得了哈哈哈。

常用字符串操作的函数

前边大致介绍了部分对于字符串的简单操作方法,而实际上,对字符串的操作还有很多很多,而Python中也提供了很多很多可让我们使用的处理函数,其中分割函数和合并函数被我单独拿出来讲的原因是因为它们跟其它的函数有些不同而且更长时间会使用到,接下来我列出一些其它的对字符串操作比较常用的函数。

函数名称作用startswith('str')判断是否以str开头,返回值为'True'或者'False'endswith('str')判断是否以str结尾,返回值为'True'或者'False'find('str')查看字符串中第一次出现str的偏移位rfind(‘str’)查看字符串中最后一次出现str的偏移位count('str')返回字符串中出现str的总次数isalnum('str')判断字符串中的所有字符是否都为字母或者数字(注意空格也是字符)capitalize()将字符串首字母变成大写title()将字符串中所有单词的开头字母变成大写upper()将字符串中所有字母变成大写lower()将字符串中所有字母变成小写swapcase()将所有字母的大小写转换center(num)将字符串在num个字符位里居中ljust(num)将字符串在num个字符位里左对齐rjust(num)将字符串在num个字符位里又对齐replace(str1,str2,num)将字符串中的str1更换成str2,num参数可省略,如果省略则默认只更换第一处,不省略则更改num处。strip('str')删除字符串首和尾的strlstrip('str')单删除字符串左侧(首)的strrstrip('str')单删除字符串右侧(尾)的str

当然,关于字符串处理的函数还有很多,这些只是其中的一部分,如果有其它需求还得自己去找才行,当然见得多用的多了才更好。

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

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

相关文章

phpstorm xdebug配置

phpstorm 8.0.3版本 1.本身自带xdebug插件 2.在xampp的php.ini中最后中添加&#xff08;如果有[XDebug]配置替换&#xff09; [XDebug]zend_extension "D:\Program Files\xampp\php\ext\php_xdebug.dll";xdebug.profiler_append 0;xdebug.profiler_enable 1;xdebu…

php xml 返回 微信,php版微信返回用户text输入的方法

本文实例讲述了php版微信返回用户text输入的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;获得用户输入的内容&#xff0c;并发回相同内容//获取post数据// $PostData $HTTP_RAW_POST_DATA;$PostData file_get_contents("php://input");//判断POST是…

python加密敏感信息_仅需10行代码,使用python加密用户敏感数据

原标题&#xff1a;仅需10行代码&#xff0c;使用python加密用户敏感数据数据分析师必须要遵守的一个规则就是数据保密&#xff0c;但在跨部门沟通的时候&#xff0c;难免会有数据泄露的情况&#xff0c;所以&#xff0c;对于用户的姓名、手机号、地址等敏感信息&#xff0c;一…

springmvc+ztree v3实现类似表单回显功能

在做权限管理系统时&#xff0c;可能会用到插件zTree v3,这是一个功能丰富强大的前端插件&#xff0c;应用很广泛&#xff0c;如异步加载菜单制作、下拉选择、权限分配等。在集成SpringMVC中&#xff0c;我分别实现了zTree的添删改查&#xff0c;本节主要实现类似表单回显功能。…

php数组基础知识,PHP 数组基础知识小结

php函数有很多&#xff0c;需要时查询api。/*#数组 没有限制大小&#xff1a;$arr[0]1;$arr[1]2; $arrarray("0","1");$list($num1,$num2)$arr;array range(int low,int high[,int step])low最小数&#xff0c;high最高数,step步长int array_unshift(array…

python通过跳板机连接服务器_使用pycharm、跳板机连接内网服务器

使用pycharm、跳板机连接内网服务器接手实验室服务器后&#xff0c;大部分同学在GPU集群上跑程序都是直接在ssh界面上跑&#xff0c;这里想着通过pycharm通过跳板机来连接服务器。总体就是实验室服务器仅限内网访问&#xff0c;同时实验室也提供了一个跳板机&#xff0c;可以先…

C语言事实上不简单:sizeof

问&#xff1a;C语言中一共同拥有多少个keyword&#xff1f; 答&#xff1a;32个。 答不上来的没关系。非常正常。我们玩的是程序的艺术。而不是背数字。只是这个特殊的数字1<<5也是非常好记的-.-。 问&#xff1a;sizeof是函数还是keyword&#xff1f; 第一次看到这个问…

php的可变函数,php之可变函数的实例详解

php之可变函数的实例详解php的可变函数&#xff0c;今天大概的了解下&#xff0c;是看php手册总结的&#xff0c;觉得用处不大&#xff1b;PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号&#xff0c;PHP 将寻找与变量的值同名的函数&#xff0c;并且尝试执行它。可…

Android应用安全开发之浅谈网页打开APP

一、网页打开APP简介 Android有一个特性&#xff0c;可以通过点击网页内的某个链接打开APP&#xff0c;或者在其他APP中通过点击某个链接打开另外一个APP&#xff08;AppLink&#xff09;&#xff0c;一些用户量比较大的APP&#xff0c;已经通过发布其AppLink SDK&#xff0c;开…

python history文件_【python之路19】文件操作

一、打开文件文件句柄 open(文件路径, 模式)打开文件时&#xff0c;需要指定文件路径和以何等方式打开文件&#xff0c;打开后&#xff0c;即可获取该文件句柄&#xff0c;日后通过此文件句柄对该文件操作。打开文件的模式有&#xff1a;r &#xff0c;只读模式【默认】w&…

php微信拍照图库js接口,ThinkPHP微信实例——JSSDK图像接口多张图片上传下载并将图片流写入本地...

发布图片最多可添加9张作品发布wx.config({debug: false,appId: {$signPackage["appid"]},timestamp: {$signPackage["timestamp"]},nonceStr: {$signPackage["noncestr"]},signature: {$signPackage["signature"]},jsApiList: [// 所…

2、在控制台上输出1—100数字

public class Test {// 定义类 public static void main(String[] args) {// 主函数&#xff0c;程序的入口 for (int i 1; i < 100; i) { System.out.print(i " "); } }}转载于:htt…

vue防抖和节流是什么_JavaScript防抖与节流,你知道多少?

JavaScript 的节流和防抖已经是老生畅谈的问题了&#xff0c;对于前端行业技术大牛来讲不过是小菜一碟&#xff0c;而对于绝大多数前端小白或初级工程师&#xff0c;绝对是必备的知识&#xff0c;值得学习。接下来小郭就带大家一起学习“防抖”与“节流”。防抖不知道大家第一次…

php中循环跳过,php for循环的exit / break / continue /goto 停止、跳过循环、继续循环...

php 与 JavaScript 有很多相似的地方&#xff1b; for循环中也有两个相同&#xff1b; 只是 php 比 js 多了一个 exit &#xff0c; 其他用法一样&#xff1b;for($i 1;$i<11;$i){if($i3){// exit; //当$i 3 代码停止运行&#xff0c;包括循环外的&#xff0c;后面的也停止运…

checkbox:全选与反全选

$(document).ready(function () {//全选checkbox$("#selectAll").click(function () {var checked $(this).prop("checked");$(":checkbox").prop("checked", checked);});$("tbody :checkbox").click(function () {var is…

python连接influxdb_python 访问 InfluxDB 数据库

我们开发了一个基于 TelegrapgInfluxDBchonographkapacitor 的气象站监控演示系统。通过modular-2 连接了一个气象站传感器&#xff0c;采集温度&#xff0c;湿度&#xff0c;PM2.5&#xff0c;PM1.0 &#xff0c;照度&#xff0c;大气压等参数。通过MQTT 协议传送给Telegraph。…

location php,Nginx服务器中的location配置详解

语法location [|~|~*|^~] /uri/ {...}规则 &#xff1a; 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别)&#xff5e;&#xff1a; 表示区分大小写的正则匹配&#xff5e;*&#xff1a;表示不区分大小写的正则匹配!~ && !~*&#xff1a;表示区分大小写不匹…

codevs4203山区建小学

/* 状态&#xff1a;f[i][j] 前i个村庄已经建了j个学校 转移&#xff1a;f[i][j]min&#xff08;f[i][j],f[ii][j-1]s[ii1][i]&#xff09; 1<ii<i-1 */ #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include &l…

gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy

关于 Gson 解析JSON数据。。。1.首先&#xff0c;我是从服务器端传回来的JSON数据如下&#xff1a;{"info":"succeed","user_id":"1","user_password":"9999","user_email":"95469qq.com",&q…

android安装python opencv_Python、C++、Android OpenCV 开发环境的配置

在 Mac 上折腾了一下 OpenCV 的配置&#xff0c;分别配置了 Python 、C 和 Android 上的开发环境&#xff0c;中间还遇到点坑&#xff0c;简要记录一下。OpenCV 的安装OpenCV 的安装有两种方式&#xff0c;可以通过下载源码自行编译&#xff0c;也可以通过homebrew来安装。源码…