资讯专栏INFORMATION COLUMN

[零基础学python]玩转字符串(1)

eechen / 752人阅读

摘要:操练一下字符串吧。它是在告诉计算机,它里面包裹着的是一个字符串。连接字符串方法在中按照下面方法操作老齐教老齐教这是一种最简单连接两个字符串的方法。请看官字符编码就知道了。

如果对自然语言分类,有很多中分法,比如英语、法语、汉语等,这种分法是最常见的。在语言学里面,也有对语言的分类方法,比如什么什么语系之类的。我这里提出一种分法,这种分法尚未得到广大人民群众和研究者的广泛认同,但是,我相信那句“真理是掌握在少数人的手里”,至少在这里可以用来给自己壮壮胆。

我的分法:一种是语言中的两个元素(比如两个字)和在一起,出来一个新的元素(比如新的字);另外一种是两个元素和在一起,知识两个元素并列。比如“好”和“人”,两个元素和在一起是“好人”,而3和5和在一起是8,如果你认为是35,那就属于第二类和法了。

把我的这种分法抽象一下:

一种是:△ +□ = ○

另外一种是:△ +□ = △ □

我们的语言中,离不开以上两类,不是第一类就是第二类。

太天才了。请鼓掌。

字符串

在我洋洋自得的时候,我google了一下,才发现,自己没那么高明,看维基百科的字符串词条是这么说的:

  

字符串(String),是由零个或多个字符组成的有限串行。一般记为s=a[1]a[2]...a[n]。

看到维基百科的伟大了吧,它已经把我所设想的一种情况取了一个形象的名称,叫做字符串

根据这个定义,在前面两次让一个程序员感到伟大的"Hello,World",就是一个字符串。或者说不管用英文还是中文还是别的某种问,写出来的文字都可以做为字符串对待,当然,里面的特殊符号,也是可以做为字符串的,比如空格等。

操练一下字符串吧。

>>> print "good good study, day day up"
good good study, day day up
>>> print "----good---study---day----up"
----good---study---day----up

在print后面,打印的都是字符串。注意,是双引号里面的,引号不是字符串的组成部分。它是在告诉计算机,它里面包裹着的是一个字符串。也就是在python中,通常用一对双引号、或者单引号来包裹一个字符串。或者说,要定义一个字符串,就用双引号或者单引号。

爱思考的看官肯定发现上面这句话有问题了。如果我要把下面这句话看做一个字符串,应该怎么做?

小明说"我没有烧圆明园"

或者这句

What"s your name?

问题非常好,有道理。在python中有一种方法专门解决类似的问题。看下面的例子:

>>> print "小明说:"我没有少圆明园""
小明说"我没有少圆明园"

这个例子中,为了打印出那句含有双引号的字符串,也就是双引号是字符串的一部分了,使用了一个符号:,在python中,将这个符号叫做转义符。本来双引号表示包括字符串,它不是字符串一部分,但是如果前面有转义符,那么它就失去了原来的含义,转化为字符串的一部分,相当于一个特殊字符了。

下面用转义符在打印第二句话:

>>> print "what"s your name?"
what"s your name?

另外,双引号和单引号还可以嵌套,比如下面的句子中,单引号在双引号里面,虽然没有在单引号前面加转义符,但是它被认为是字符串一部分,而不是包裹字符串的符号

>>> print "what"s your name?"   #双引号包裹单引号,单引号是字符
what"s your name?
>>> print "what "is your" name" #单引号包裹双引号,双引号是字符
what "is your" name
变量连接到字符串

前面讲过变量了,并且有一个钓鱼的比喻。如果忘记了,请看前一章内容。

其实,变量不仅可以跟数字连接,还能够跟字符串连接。

>>> a=5
>>> a
5
>>> print a
5
>>> b="hello,world"
>>> b
"hello,world"
>>> print b
hello,world

还记得我们曾经用过一个type命令吗?现在它还有用,就是检验一个变量,到底跟什么类型联系着,是字符串还是数字?

>>> type(a)

>>> type(b)

程序员们经常用一种简单的说法,把a称之为数字型变量,意思就是它能够或者已经跟数字连着呢;把b叫做字符(串)型变量,意思就是它能够或者已经跟字符串连着呢。

对字符串的简单操作

对数字,有一些简单操作,比如四则运算就是,如果3+5,就计算出为8。那么对字符串都能进行什么样的操作呢?试试吧:

>>> "py"+"thon"
"python"

跟我那个不为大多数人认可的发现是一样的,你还不认可吗?两个字符串相加,就相当于把两个字符串连接起来。(别的运算就别尝试了,没什么意义,肯定报错,不信就试试)

>>> "py"-"thon"
Traceback (most recent call last):
  File "", line 1, in 
  TypeError: unsupported operand type(s) for -: "str" and "str"

以上就是对字符串的第一种操作。

连接字符串

方法1:

在IDLE中按照下面方法操作

>>> a = "老齐"
>>> b= "教python"
>>> c = a+b
>>> print c
老齐教python
>>> c
"xe8x80x81xe9xbdx90xe6x95x99python"

这是一种最简单连接两个字符串的方法。注意上面例子的最后一行,怎么出现乱码了?那不是乱码,是字符编码的问题。这个你权当没看见好了。不过的确是看见了。请看官google字符编码就知道了。这里推荐一篇非常好的文章:字符集和字符编码

  
    

老齐提示:看官做为学习者,一定要对所学的对象有一种好奇心,比如上面例子中,如果你满足于print c,发现结果跟自己所预料一样,这还远远不够。如果你向下走了一行,就发现一个怪怪的结果了,这就让你在编程路上又前进一大步。所以,要有对世界好奇的心,不断探索、思考和尝试。反正在计算机上尝试,也没有多大成本。最坏的结果是关掉IDLE罢了。

对字符串的简单操作暂且到这里,下一篇文章继续,还没完,请明天再来。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37324.html

相关文章

  • [基础python]玩转符串(3)

    摘要:字符串是一个很长的话题,纵然现在开始第三部分,但是也不能完全说尽。字符串就是一个话题中心。也就是和是指向同一个字符。字符串截取有了编号,不仅仅能够找出某个字符,还能在字符串中取出一部分来。 字符串是一个很长的话题,纵然现在开始第三部分,但是也不能完全说尽。因为字符串是自然语言中最复杂的东西,也是承载功能最多的,计算机高级语言编程,要解决自然语言中的问题,让自然语言中完成的事情在计算机上...

    Cc_2011 评论0 收藏0
  • [基础python]玩转符串(2)

    摘要:根据这个定义,在里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符表示那个位置是整数,表示那个位置应该是字符串。啰嗦半天,占位符是不是理解了呢下面我们就用占位符来连接字符串。 上一章中已经讲到连接两个字符串的一种方法。复习一下: >>> a= py >>> b= thon >>> a+b python 既然这是一种方法,言外之意,还有...

    KnewOne 评论0 收藏0
  • [基础Python]玩转符串(2)(更新发布)

    摘要:根据这个定义,在里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符表示那个位置是整数,表示那个位置应该是字符串。啰嗦半天,占位符是不是理解了呢下面我们就用占位符来连接字符串。 感谢网友白羽毛的帮助。 上一章中已经讲到连接两个字符串的一种方法。复习一下: >>> a= py >>> b= thon >>> a+b python 既然这...

    yearsj 评论0 收藏0
  • [基础python]有容乃大的list(1)

    摘要:定义在中,用方括号表示一个,在方括号里面,可以是,也可以是类型的数据,甚至也能够是这种布尔值。前面在对进行操作的时候,有一些内置函数,比如,这是去掉左右空格的内置函数,也是的方法。 前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(注意,别搞混了,数字和数据是有区别的),也可能是文字、或者是声音、...

    lewif 评论0 收藏0
  • Python者的资源总结

    摘要:图文教程教程廖雪峰的编程教室微信公众号快速教程零基础学,地址老齐学习笔记第二版个人点评我是跟着的编程教室的微信公众号每天学习一课来学习的,当时的动力是据说女神也在学完习,后来也看过廖雪峰老师的教程,和老齐的没有看过。 之前看到了 汪汪汪不是我的语言 在 喵在野 的基础上写的这篇文章《Python 零基础入门资料整理(更新版)》,感觉实在是太简陋了。虽说是针对初学者的Python零基础入...

    AJie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<