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结束,返回逻辑值。