资讯专栏INFORMATION COLUMN

[零基础学Python]玩转字符串(2)(更新发布)

yearsj / 2907人阅读

摘要:根据这个定义,在里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符表示那个位置是整数,表示那个位置应该是字符串。啰嗦半天,占位符是不是理解了呢下面我们就用占位符来连接字符串。

感谢网友白羽毛的帮助。

上一章中已经讲到连接两个字符串的一种方法。复习一下:

>>> a= "py"
>>> b= "thon"
>>> a+b
"python"

既然这是一种方法,言外之意,还有另外一种方法。

连接字符串的方法2

在说方法2之前,先说明一下什么是占位符,此前在讲解变量(参数)的时候,提到了占位符,这里对占位符做一个比较严格的定义:

来自百度百科的定义:

  

顾名思义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。

根据这个定义,在python里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符:%d——表示那个位置是整数,%s——表示那个位置应该是字符串。下面看一个具体实例:

>>> print "one is %d"%1
one is 1

要求打印(print)的内容中,有一个%d占位符,就是说那个位置应该放一个整数。在第二个%后面,跟着的就是那个位置应该放的东西。这里是一个整数1。我们做下面的操作,就可以更清楚了解了:

>>> a=1
>>> type(a)
    #a是整数
>>> b="1"
>>> type(b)
    #b是字符串
>>> print "one is %d"%a
one is 1
>>> print "one is %d"%b     #报错了,这个占位符的位置应该放整数,不应该放字符串。
Traceback (most recent call last):
  File "", line 1, in 
  TypeError: %d format: a number is required, not str

同样道理,%s对应的位置应该放字符串,但是,如果放了整数,也可以。只不过是已经转为字符串对待了。但是不赞成这么做。在将来,如果使用mysql(一种数据库)的时候,会要求都用%s做为占位符,这是后话,听听有这么回事即可。

>>> print "one is %s"%b
one is 1
>>> print "one is %s"%a     #字符串是包容的
one is 1

好了。啰嗦半天,占位符是不是理解了呢?下面我们就用占位符来连接字符串。是不是很有意思?

>>> a = "py"
>>> b = "thon"
>>> print "%s%s"%(a,b)  #注
python

注:仔细观察,如果两个占位符,要向这两个位置放东西,代表的东西要写在一个圆括号内,并且中间用逗号(半角)隔开。

字符串复制

有一个变量,连接某个字符串,也想让另外一个变量,也连接这个字符串。一种方法是把字符串再写一边,这种方法有点笨拙,对于短的到无所谓了。但是长的就麻烦了。这里有一种字符串复制的方法:

>>> a = "My name is LaoQi. I like python and can teach you to learn it."
>>> print a
My name is LaoQi. I like python and can teach you to learn it.
>>> b = a
>>> print b
My name is LaoQi. I like python and can teach you to learn it.
>>> print a
My name is LaoQi. I like python and can teach you to learn it.

复制非常简单,类似与赋值一样。可以理解为那个字符串本来跟a连接着,通过b=a,a从自己手里分处一股绳子给了b,这样两者都可以指向那个字符串了。

字符串长度

要向知道一个字符串有多少个字符,一种方法是从头开始,盯着屏幕数一数。哦,这不是计算机在干活,是键客在干活。键客,不是剑客。剑客是以剑为武器的侠客;而键客是以键盘为武器的侠客。当然,还有贱客,那是贱人的最高境界,贱到大侠的程度,比如岳不群之流。

键客这样来数字符串长度:

>>> a="hello"
>>> len(a)
5

使用的是一个函数len(object)。得到的结果就是该字符串长度。

>>> m = len(a)  #把结果返回后赋值给一个变量
>>> m
5
>>> type(m)     #这个返回值(变量)是一个整数型

字符大小写的转换

对于英文,有时候要用到大小写转换。最有名驼峰命名,里面就有一些大写和小写的参合。如果有兴趣,可以来这里看自动将字符串转化为驼峰命名形式的方法。

在python中有下面一堆内建函数,用来实现各种类型的大小写转化

S.upper() #S中的字母大写

S.lower() #S中的字母小写

S.capitalize() #首字母大写

S.istitle() #是否单词首字母大写的,且其它为小写,网友白羽毛指出,这里表述不准确。非常感谢他。为了让看官对这些大小写问题有更深刻理解,我从新写下面的例子,请看官审查。再次感谢白羽毛。

S.isupper() #S中的字母是否全是大写

S.islower() #S中的字母是否全是小写

看例子:

>>> a = "qiwsir,python" 
>>> a.upper()       #将小写字母完全变成大写字母
"QIWSIR,PYTHON"
>>> a               #原数据对象并没有改变
"qiwsir,python"
>>> b = a.upper()
>>> b
"QIWSIR,PYTHON"
>>> c = b.lower()   #将所有的小写字母编程大写字母
>>> c
"qiwsir,python"

>>> a
"qiwsir,python"
>>> a.capitalize()  #把字符串的第一个字母变成大写
"Qiwsir,python"
>>> a               #原数据对象没有改变
"qiwsir,python"
>>> b = a.capitalize() #新建立了一个
>>> b
"Qiwsir,python"

>>> a = "qiwsir,github"    #这里的问题就是网友白羽毛指出的,非常感谢他。
>>> a.istitle()
False
>>> a = "QIWSIR"        #当全是大写的时候,返回False
>>> a.istitle()
False
>>> a = "qIWSIR"
>>> a.istitle()
False
>>> a = "Qiwsir,github"  #如果这样,也返回False
>>> a.istitle()
False
>>> a = "Qiwsir"        #这样是True
>>> a.istitle()
True
>>> a = "Qiwsir,Github" #这样也是True
>>> a.istitle()
True

>>> a = "Qiwsir"
>>> a.isupper()
False
>>> a.upper().isupper()
True
>>> a.islower()
False
>>> a.lower().islower()
True

顺着白羽毛网友指出的,再探究一下,可以这么做:

>>> a = "This is a Book"
>>> a.istitle()
False
>>> b = a.title()     #这样就把所有单词的第一个字母转化为大写
>>> b
"This Is A Book"
>>> a.istitle()       #判断每个单词的第一个字母是否为大写
False

字符串问题,看来本讲还不能结束。下一讲继续。有看官可能要问了,上面这些在实战中怎么用?我正想为你的,请键客设计一种实战情景,能不能用上所学。

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

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

相关文章

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

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

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

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

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

    摘要:操练一下字符串吧。它是在告诉计算机,它里面包裹着的是一个字符串。连接字符串方法在中按照下面方法操作老齐教老齐教这是一种最简单连接两个字符串的方法。请看官字符编码就知道了。 如果对自然语言分类,有很多中分法,比如英语、法语、汉语等,这种分法是最常见的。在语言学里面,也有对语言的分类方法,比如什么什么语系之类的。我这里提出一种分法,这种分法尚未得到广大人民群众和研究者的广泛认同,但是,我相...

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

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

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

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

    AJie 评论0 收藏0

发表评论

0条评论

yearsj

|高级讲师

TA的文章

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