专栏首页玄魂工作室如何学python-第三课 基础字符串操作

如何学python-第三课 基础字符串操作

在上一篇文章中,我们学习了有关变量和输出的一些基础知识。大家应该还记得在上一篇文章中出现的字符串类型(string)吧!说白了,string类型其实就是一堆单词的集合;把这些单词放在两个英文双引号之间,python就会把它识别为字符串类型。另外,python对大小写敏感,这意味着”Null-Byte”和”null-byte”是完全不同的两个东西。

为什么需要处理字符串

Python程序在接收用户的输入时,会默认把用户的输入当作字符串类型。所以,当我们对这些输入的数据进行操时,可能需要先进行一些处理。就像前面说的,如果我们每次都需要判断用户输入的到底是大写还是小写以及究竟如何处理,将会很麻烦。幸运的是,经过字符串操作,我们可以轻松处理这类问题。

方法/模式(Method)

其实模式(method)和方法(function)是有区别的。初学者姑且理解其为完成特定动作集合的一个神奇的指令就行。译者注

方法是python语言本身做好的一些指令,可以帮助我们方便的完成一些特定的任务。举例来说,假设我们不知道用户到底要输入的是大写还是小写,我们就可以用特定的‘方法’对字符串进行操作,把他们qu。方法的调用方式是在变量名称后面加上一个英文句号再加上具体的方法名,语法如下:

(VARIABLE NAME).method()

变量名.方法名()

就是这么简单。想必你也注意到了在方法末尾的括号了吧,没错,方法是可以接收参数的(参数就是其他的变量,具体传什么参数取决于你正在调用什么方法译者注),我们待会儿会做演示。

基础字符串操作方法

今天我们来介绍三个十分常用的字符串操作方法:

  • .upper()
  • .lower()
  • .split()

.upper()和.lower()方法的功能很类似,他们分别会把你输入的字符串类型变量转化成全部大写或者全部小写。下面是我们的测试语句与返回结果:

我们把变量test赋值为”Null-Byte”。然后在变量的后面加上英文句号和想要调用的方法名即可,我们先来试试.upper():

.lower():

我们可以看到,调用(call)test.lower()返回的结果与调用test.upper()得到的结果恰好相反。

下面我们来试试.split()方法。它跟上面两个不太一样,split()并不把字符串转换成任何东西;它把他们切分(split)开。

提示

python有一种可以把一堆同类型变量捆在一起使用的变量类型,这种类型被叫做list(列表)类型。在以后的文章里,我们会更经常的使用这种类型,但现在我们不准备进行更深入的讨论,你只需要知道一个列表类型是多个变量打包在一起的,就足够了。

.split()方法会把你给它的任何变量撕成一个列表。如果不带参数,它默认会以空格” ”作为切分标记。但是,如果我们给它传递一个string类型的参数,它就会转而以哪个string类型的参数为切分标记。先让我们试试默认的不带参数的split()方法吧:

由于”Null-Byte”字符串本身根本就没有空白格,所以它也不会被撕开。这么做之后的效果仅仅是整个字符串被放在了列表下面。

现在,再让我们试试传个参数进去,看看能不能把它切成”Null”和”Byte”:

我们可以看到,通过传入一个连字符”-”,我们成功的达到了把原先字符切成”Null”和”Byte”的目的,因为”-”就在Null和Byte中间。

好了,通过以上的这些练习,我们已经掌握了一些基本的字符串操作方法。我们会在下一节课中用这些方法来处理用户的输入。尽可能多的做些实验吧。

练习

创建你自己的实验变量,复现我们今天讲过的内容。你也可以在评论区里贴上你的实验结果,如果你乐意的话。

======================================================================

原文系列链接:http://null-byte.wonderhowto.com/how-to/python-training/

本文分享自微信公众号 - 玄魂工作室(xuanhun521),作者:玄魂工作室李三思

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hacker基础之Linux篇:基础Linux命令十五

    sar(System Activity Reporter),翻译过来就是<系统活动情况报告>,是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系...

    用户1631416
  • 如何学Python 第十四课 lambda和lambda操作符,另一些列表操作

    第十四课 lambda和lambda操作符,另一些列表操作 上节课我们介绍了一些列表的高级使用方法。在本节,我们更进一步,讨论一下lambda和lambda操作...

    用户1631416
  • 如何学python-第二课 基础输出/变量/变量类型

    在python和其他主流的脚本语言里,有几样东西会在你在漫长的编程生涯里一直伴随着你——不外乎输出,变量,以及变量的类型。我们会从输出介绍起,然后是变量和变量的...

    用户1631416
  • 定位+思路+方法,三步教你快速敲定前端JS结构

    闲话少说, --定位 就是说你现在要写的是什么东西?是一个页面?还是一个组件?还是一个function方法?不同的东西它的定位不同,结构就不同。 如果是页面,那...

    web前端教室
  • 记一次安全培训中对Yii框架数据库操作层若干接口安全性分析的总结

    给开发的同学们进行不定期的安全培训是安全建设中不可缺少的一环,也是非常重要的一环。以我的经验来看,安全培训或者说安全科普不能教条化,不能书面化,必须得动手实践,...

    FB客服
  • 解密回文——栈

    Zoctopus
  • RxJava使用总结

    1.RxJava在android中想要使用AndroidSchedulers.mainThread()这个线程,需要在你的gradle文件添加下面这个依赖

    夏洛克的猫
  • Java8新特性第1章(Lambda表达式)

    在介绍Lambda表达式之前,我们先来看只有单个方法的Interface(通常我们称之为回调接口):

    张磊BARON
  • Python数据类型之列表(后续)

    如图所示,有list1和list2两个列表,我们可以发现,原来列表竟然可以比较大小,在这里肯定有读者会说,123肯定小于234,但是如果我们往列表里面多添加几个...

    王强
  • 谷歌AI风投也用红绿灯,机器有权推翻人类决定

    【新智元导读】最近谷歌风投将AI用在决策中,可以直接推翻决策人的意见。AI在分析市场数据后形成三种颜色:绿色,黄色和红色。消息人士称,红色意味着投资不能通过,绿...

    新智元

扫码关注云+社区

领取腾讯云代金券