Python程序设计基础教案14--字符串函数

Python程序设计基础教案14--字符串函数
Python程序设计基础教案14--字符串函数

授课教案

授课教案附页

教学设计说明一、旧课回顾

?字符串在内存中的存放形式:s = 'Hello World'

?字符串s的长度的获取:len(s)

?字符串中的字符是从0开始编号的,字符串中第一个字符的序号是0,最后一个字符的序号是len(s)-1,所以最后一个字符是s[len(s)-1].

?字符和编码的转换:

?大小写字母的转换:

大写字母X转小写字母x:ord(‘X’)+chr(ord(‘a’)-ord(‘A’))

小写字母x转大写字母X:ord(‘x’)-ord(‘a’))+chr(ord(‘A’)

?练习:

对任意一个字符串,将它反向显示。例如:输入字符串‘hello world’,输

出‘dlrow olleh’。

分析:

字符串中的字符是从0开始编号的,字符串显示是从第0个字符开始,一直

到第len(s)-1个字符;

要将字符串反向显示,只需要先显示第len(s)-1个字符,再显示第len(s)-2个

字符,... ,最后显示第0个字符即可。

很明显,使用for循环可以很容易实现。从第len(s)-1个字符开始,

start=len(s)-1,到第0个字符为止,stop=0 - 1= -1,步长step = -1.

代码示例:

注意:step>0时,到谁为止,stop = 谁+1;step<0时,到谁为止,stop=谁-1.

二、字符串的比较

?两个字符串a,b可以比较大小,比较规则是按各个对应字符的Unicode编码,编码大的一个为大。

?比较a[0]和b[0],如果a[0]>b[0]则a>b,如果a[0]

?如果a[1]>b[1]则a>b,如果a[1]

?...

?这个过程一直进行下去,直到比较出大小。

?如果比较完毕两个字符串的每个字符都相等且len(a)==len(b),则a==b;如果len(a)>len(b)则a>b;如果len(a)

举例:

随堂练习:

输入一个字符串,统计该字符串中大写字母、小写字母和数字字符的个数。

任务分析:

大写字母、小写字母和数字字符都是连续的字符;判断一个字符是否为大写字母,只需要判断条件:该字符>=’A’and 该字符<=’Z’是否成立,若成立,则该字符为大写字母,否则不是大写字母;

同理,判断一个字符是否为小写字母,只需要判断条件:该字符>=’a’and 该字符<=’z’是否成立,若成立,则该字符为小写字母,否则不是小写字母;

五、字符串去掉左右空格函数

?s.lstrip( )

作用:返回一个字符串,去掉了s中左边的空格

?s.rstrip( )

作用:返回一个字符串,去掉了s中右边的空格

?s.strip( )

作用:返回一个字符串,去掉了s中左边与右边的空格,等同s.lstrip().rstrip() 举例:

六、字符串分离函数

?s.split(sep)

作用:用sep分割字符串s,分割出的部分组成列表返回。

注意:其中sep是分隔符,结果是字符串按sep字符串分割成多个字符串,这些字符串组成一个列表,即函数split调用后返回一个列表。

举例:

随堂练习:

输入一个字符串,去掉字符串中的所有空格。例如:输入字符串‘I am learning Python ’,输出‘IamlearningPython’

分析:

通过s.split函数及其应用例子的讲解,我们应该可以总结出一些规律。

第一个例子中:使用逗号做分隔符,将字符串s分成了有两个元素的列表,去掉了逗号;

第二个例子中:使用空格做分隔符,将字符串s分成了有两个元素的列表,去掉了空格;

第三个例子中,使用字符b做分隔符,将字符串s分成了有4个元素的列表,去掉了字符b。

因此,可以总结中,以谁作为s.split()的参数,就可以将字符串s中的谁去掉。现在要去掉空格,所以可以使用空格作为分隔符。

>>> s = ' I am learning Python '

>>> s

' I am learning Python '

>>> s.split(' ')

['', '', '', 'I', '', 'am', '', 'learning', '', 'Python', '', '', '', '']

字符串s变成了有若干个元素的列表,该列表中各元素都没有了空格,要想得到一个没有空格的完整的字符串s1,只需要将列表中的所有元素拼接起来就可以。

代码示例:

注意:列表的使用暂时还没有学习,但列表的元素访问规则与方法和字符串中字符的访问方法相同。可以用s[i]访问列表s中的第i个元素,元素从0开始编号。(列表中的各个部分称为列表的元素)

七、字符串替换函数

?s.replace('c1','c2')

作用:把字符串s里面的c1全部替换为c2。

思考:去掉字符串s里的所有空格,能否使用s.replace('c1','c2')?

八、字符串查找函数

?s.find(t)

作用:返回在字符串s中查找t子串第一个出现的位置下标,如不存在就返回-1。

?s.rfind(t)

作用:返回在字符串s中查找t子串最后一个出现的位置下标,如不存在就返回-1。

举例:

九、字符串判断函数

?s.startswith(t)

作用:判断字符串s是否以子串t开始,返回逻辑值。

?s.endswith(t)

作用:判断字符串s是否以子串t结束,返回逻辑值。

相关主题
相关文档
最新文档