《笨办法学Python》 第25课手记
2016-01-27 22:44
721 查看
《笨办法学Python》 第25课手记
本节课内容较多,如果不理解可以先尝试做正确,然后再来理解。我们的学习已经由最初的简单向复杂转变了,希望你能咬牙坚持下来,只要能没有遗漏的学到最后,相信我们都能掌握好Python。同时通过这么长时间的学习,我理解了很多人喜欢Python的原因。因为相较与C家族,Python真的有一种简洁的美感,而且易懂。原代码如下:
def break_words(stuff): """This function break up words for us.""" words = stuff.split(' ') return words def sort_words(words): """sorts the words.""" return sorted(words) def print_first_word(words): """prints the first word after popping it off.""" word = words.pop(0) print word def print_last_word(words): """Prints the last word after popping it off.""" word = words.pop(-1) print word def sort_sentence(sentence): """Takes in a full sentence and returns the sorted words.""" words = break_words(sentence) return sort_words(words) def print_first_and_last(sentence): """Prints the first and last words of the sentence.""" words = break_words(sentence) print_first_word(words) print_last_word(words) def print_first_and_last_sorted(sentence): """Sorted the words then prints the first and last one.""" words = sort_sentence(sentence) print_first_word(words) print_last_word(words)
这段代码定义了7个函数,里面用”“”括起来的英文解释了每个函数的功能。
而且在命令行界面输入help(函数名)可以调出”“”里面的内容,因此可以看做是帮助文档。由此可以窥见预定义函数可能也是以该种形式定义的。
这段代码涉及的新的用法:
def sort_sentence(sentence): """Takes in a full sentence and returns the sorted words.""" words = break_words(sentence) return sort_words(words)
在一个函数的定义中调用了另一个函数,注意调用的函数必须是先前定义的,即遵循先定义再调用的顺序。这里不同于C语言可以先写一个函数声明,然后可以将函数定义写到后面的做法。
这里的7个函数实际上组成了一个模组,这和我们过去使用sys模组类似,但sys是预先就定义好的,ex25这个模组,是我们自己手动定义的。是不是感觉很棒呢!你现在已经可以自己定义模组了呢!
结果如下:
(>>>是你手动输入的内容,其他的是解释器输出的内容)
在这里面有两处与书中给出的结果不一样的地方:
1.
这是因为我将words打成了wrods而引起的错误,如果你是对的,则不会出现图片中的内容。
2.
这里的^D是在键盘上按下Ctrl+D的意思,但这里出错是因为Windows Power Shell环境下退出是Ctrl+Z,所以^Z才是正确用法。当出现PS C:\Users\你电脑的用户名时,说明当前处于无任何操作状态,在这里表示成功退出。
以该种方式运行之后,ex25.py所在文件夹会自动生成一个叫ex25.pyc的文件
本节课涉及的知识:
1.stuff.split(’ ‘),以空格为标志分割字符串,默认全部分割,可以在括号里”后面指定参数以使解释器按规定次数分割。比如stuff.split(”,1)只分割一次,分割结果是’All’和’good things come to those who wait.’
2.sorted(words),以字母表顺序为依据将words变量所包含的字符串中的英文单词进行排序,英文句号在该过程中将被舍弃。
3.word = words.pop(0),弹出一个元素后关闭,括号内的参数表示弹出元素的位置。0代表第一个,-1代表最后一个。暂不清楚单位是不是之前类似的字节,之前碰到位置参数时,数字代表的是第几个字节数。请记住这种用法,也记住这个疑问。稍后再碰到一些具体的例子就能理解了。
4.用法:先排序,在输出第一个或者最后一个,是求最值的常用方法,SQL语言中可以先将SC表中的Grade降序排序,然后输出第一个求最高分。也请记住这种用法。
相关文章推荐
- 转: Python集合(set)类型的操作
- python 的ini操作
- Python常见错误
- python中tuple/list/dict/set常用方法
- 安装python
- 【Python学习笔记】输出现在的时间
- Python入门学习笔记
- Coursera课程《大家的编程》(Python入门)中课程目录
- python学习笔记 day1
- 5.python(迭代器,装饰器,生成器,基本算法,正则)
- python实现一个控制台下的进度条
- 条形码识别(1)——基础知识
- PyProjects:Python项目大集合
- Python异常处理
- Python for everyone chapter 1
- python学习----------socket
- python 装饰器
- python访问mysql
- python有面向过程、面向对象、函数式编程,面向切面编程、泛型编程多种编程范式
- Coursera课程《大家的python》(Python for everyone)课件