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

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

我的分法:一种是语言中的两个元素(比方两个字)和在一起,出来一个新的元素(比方新的字);第二种是两个元素和在一起。知识两个元素并列。比方“好”和“人”,两个元素和在一起是“好人”。而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 'int'>
>>> type(b)
<type 'str'>

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

对数字。有一些简单操作,比方四则运算就是,假设3+5,就计算出为8。

那么对字符串都能进行什么样的操作呢?试试吧:

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

跟我那个不为大多数人认可的发现是一样的,你还不认可吗?两个字符串相加。就相当于把两个字符串连接起来。

(别的运算就别尝试了,没什么意义。肯定报错。不信就试试)

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

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


连接字符串


方法1:


在IDLE中依照以下方法操作

>>> a = "老齐"
>>> b= "教python"
>>> c = a+b
>>> print c
老齐教python
>>> c
'\xe8\x80\x81\xe9\xbd\x90\xe6\x95\x99python'

这是一种最简单连接两个字符串的方法。

注意上面样例的最后一行。怎么出现乱码了?那不是乱码,是字符编码的问题。这个你权当没看见好了。只是的确是看见了。

请看官google字符编码就知道了。

这里推荐一篇很好的文章:字符集和字符编码

老齐提示:看官做为学习者。一定要对所学的对象有一种好奇心,比方上面样例中,假设你满足于print c,发现结果跟自己所预料一样,这还远远不够。

假设你向下走了一行。就发现一个怪怪的结果了,这就让你在编程路上又前进一大步。所以,要有对世界好奇的心,不断探索、思考和尝试。反正在计算机上尝试,也没有多大成本。最坏的结果是关掉IDLE罢了。



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


声明

由于本博客不能公布超链接和URL地址,所以,请看官依照左边的栏目。进入到“零基础学python的完美版”




posted on 2019-05-15 08:45  xfgnongmin  阅读(245)  评论(0编辑  收藏  举报

导航