推荐一款男人都懂得app,seo行业,wordpress code插件,深圳做网站外包公司对于Python初学者来说#xff0c;舍得强烈推荐从《HeadFirst Python》开始读起#xff0c;这本书当真做到了深入浅出#xff0c;HeadFirst系列#xff0c;本身亦是品质的保证。这本书舍得已在《Python起步#xff1a;写给零编程基础的童鞋》一文中提供了下载。为了方便大家… 对于Python初学者来说舍得强烈推荐从《HeadFirst Python》开始读起这本书当真做到了深入浅出HeadFirst系列本身亦是品质的保证。这本书舍得已在《Python起步写给零编程基础的童鞋》一文中提供了下载。为了方便大家的学习舍得特意制作了Jupyter Notebook格式的笔记文章末尾舍得提供了笔记的下载地址。 读《HeadFirst Python》的同时最紧要的是及时做练习你甚至可以在快速浏览过一章后便拿起练习来做。 做练习的时候切记不要用书中建议的Python自带的IDLE。作为过来人舍得的建议是使用Jupyter Notobook。具体的安装方法舍得已在《Python起步写给零编程基础的童鞋》中讲得很清楚了每次你要练习的时候运行jupyter-notebook.exe便可以在程序打开的浏览器页面中进行代码输入了。Jupyter Notobook与Python自带的IDLE相比有着巨大的优势 增强版的代码自动补全输入代码过程中可尝试按Tab键程序会提示相应的代码 每次录入的代码程序会自动替你保存下来这就相当于你自己的学习笔记你可以在代码的前或后加入注释注释前面用一个“#”一个空格空格可以不加但舍得建议从一开始便养成良好的写代码习惯#后带空格是Python代码规范-PEP8的要求就可以了 Notebook给你保存的笔记你可以随时打开点RUN按钮或用AltEnter快捷键便可以运行选择中的某一段代码这是Python自带的IDLE根本无法做到的事情 在Notebook中你可以极为方便地输入多行代码而Python自带的IDLE在这方面有极大的限制 对于颜控来说Notebook的代码着色看起来更加舒服一些 …… 舍得会将书中每一章中提到的大部分练习收录到笔记中你可以在看完一章后拿舍得给你的笔记在Jupyter Notebook中进行练习。当然你也可以在看到书出给出一段代码时立刻在Jupyter Notobook中输入并运行。 舍得提供的笔记是ipynb格式ipy是指ipython, Notebook是用ipython来实现的。而nb则是notebook的缩写当你下载了笔记之后请将其放到“你的python安装文件夹默认是c:\python34\Scripts”文件夹下然后刷新一下浏览器中Jupyter Notebook的首页便可以看到这个笔记点击该笔记就可以浏览了。 如果你在Jupyter Notebook首页中已经点击过“New-Python 3”, 那么你可以使用菜单”File-Open“回到首页选择舍得提供的笔记。 下面舍得开始讲解第一章的要点。 文中”[in]:“后面的内容表示我们在Jupyter Notebook中输入的代码和注释内容中以”# “开头的是舍得的注释。 ”[out]:“后面的内容则是代码执行后的输出结果。 舍得在注释中标明了该段代码的页码方便你对照书本进行练习。书中有些内容的讲解比舍得更详细。 舍得对部分代码进行了改写但不影响代码的最终效果。 [in]: # 熟愁一下打印命令. # 第一章 p4 # 内容前面加一个#号表示注释, python会自动忽略#号后面的内容 if 43 42: print(Dont panic!) [out]: Dont panic! [in]: # 创建简单的Python列表 # 第一章 p8 # 标识符:movies, 你给这个列表起的名字 # 操作符:,把列表赋给标识符 # 列表格式:两端用中括号;列表中每一项用逗号隔开;电影名称两边加引号; movies [The Holy Grail, The Life of Brian, The Meaning of Life] print(movies) [out]: [The Holy Grail, The Life of Brian, The Meaning of Life] [in]: # 用中括号记法访问列表 # 第一章 p9 # 打印列表中第2个数据(第1个为0) print(movies[1]) [out]: The Life of Brian [in]: # 列表深入学习:len # 第一章 p10 # len:获取列表长度,即列表有几个数据项 cast [Cleese, Plain, Jones,Idle] print(cast) print(len(cast)) print(cast[0]) # 0表示第一个数据项, 你可以自己换不同的数字尝试一下 [out]: [Cleese, Plain, Jones, Idle] 4 Cleese [in]: # 列表深入学习:append # 第一章 p10 # append:在列表末尾增加一项数据 cast.append(Gillianm) print(cast) [out]: [Cleese, Plain, Jones, Idle, Gillianm] [in]: # 列表深入学习:pop # 第一章 p10 # pop:从列表末尾删除数据 cast.pop() [out]: Gillianm [in]: # 再打印一下,看看有何变化 print(cast) [out]: [Cleese, Plain, Jones, Idle] [in]: # 列表深入学习:extend # 第一章 p10 # extend:在列表末尾增加一个列表(两个列表合并) cast.extend([Gillianm, Chapman]) print(cast) [out]: [Cleese, Plain, Jones, Idle, Gillianm, Chapman] [in]: # 列表深入学习:remove # 第一章 p10 # remove:在列表中找到并删除一个特定的数据项 cast.remove(Chapman) print(cast) [out]: [Cleese, Plain, Jones, Idle, Gillianm] [in]: # 列表深入学习:insert # 第一章 p10 # insert:在列表中特定的位置前增加一个数据项 cast.insert(0, Chapman) # 0表示插入在最前面,你可以试试其它的数字 print(cast) [out]: [Chapman, Cleese, Plain, Jones, Idle, Gillianm] [in]: # 习题 # 第一章 p13 # 把每部电影的出品年代加到列表中 # 象下面这样: [The Holy Grail, 1975, 1975, 1979, # The Life of Brian, 1979, The Meaning of Life, 1983, 1983] # 把数字放进列表的时候,数字不用加引号 movies.insert(1, 1975) # 第1个插入到第2个列表项前 movies.insert(3, 1979) # 第2个插入到第4个列表项前(好好想想为什么用3) movies.append(1983) # 最后一个追加到末尾就行 print(movies) [out]: [The Holy Grail, 1975, The Life of Brian, 1979, The Meaning of Life, 1983] [in]: # 列表: 迭代 # 第一章 p15 # 迭代: 用一个for循环,把列表中所有的项逐个打印出来 # for ... in ...表示取这个列表的每一个数据 for i in movies: # 这里的i随便用哪个(一个或多个)字母都行 print(i) # 只要两个i保持一致.你可以试试用不同的字母 [out]: The Holy Grail 1975 The Life of Brian 1979 The Meaning of Life 1983 [in]: # 列表: 迭代 # 第一章 p16 # 迭代: 用一个while循环,把列表中所有的项逐个打印出来 # 效果和for循环一样 # while xx xxx表示:只要xx xxx,就一直执行下去, 直到这个条件不成立 count 0 while count len(movies): # 前面刚学过的len用法 print(movies[count]) # 前面刚学过的中括号记法 count 1 # 和书本上的count count 1相同, 表示让count自增1 [in]: # 列表:在列表中储存列表 # 第一章 p18 # 我们用movies这个列表来记录一部电影的数据. The Holy Grail这部电影全名叫 # 《Monty Python and the Holy Grail》巨蟒与圣杯1975年出品两个Terry是导演 # 同时也参加了演出。影片时长为91分钟Chapman是编剧同时也是主演。Michael这 # 一伙人既是编剧亦是配角。这帮人真是玩嗨了自编自导自演。 movies [The Holy Grail, 1975, Terry Jones Terry Gilliam, 91, [Graham Chapman, [Michael Palin, John Clseese, Terry Gilliam, Eric Idle, Terry Jones]]] print(movies) [out]: [The Holy Grail, 1975, Terry Jones Terry Gilliam, 91, [Graham Chapman, [Michael Palin, John Clseese, Terry Gilliam, Eric Idle, Terry Jones]]] [in]: # 用for循环处理这个列表 for i in movies: print(i) [out]: The Holy Grail 1975 Terry Jones Terry Gilliam 91 [Graham Chapman, [Michail Palin, John Clseese, Terry Gilliam, Eric Idle, Terry Jones]] [in]: # 列表:在列表中查找列表 # 第一章 p20 # isinstance: 判断标识符的类型 names [Michael, Terry] isinstance(names, list) # 判断它是不是列表(list)类型 [out]: True [in]: # 列表:在列表中查找列表 # 第一章 p20 # isinstance: 判断标识符的类型 # 换个方式 num_names len(names) isinstance(num_names, list) [out]: False [in]: # 列表:在列表中查找列表 # 第一章 p21 # 习题: 把上面那个movies列表中的每一个数据项都打印出来 # 用if ... else ...模式 # 结合isinstance for i in movies: if isinstance(i, list): # 先判断i是不是列表 for j in i: # 是的话用for循环 if isinstance(j, list): # 还要再往下挖一层, 因为还有一个嵌套的列表 for k in j: print(k) else: # 每一对if...else...要对齐 print(j) else: # 不是列表就直接打印 print(i) # 如果再来一层嵌套的列表, 怎么办? [out]: The Holy Grail 1975 Terry Jones Terry Gilliam 91 Graham Chapman Michail Palin John Clseese Terry Gilliam Eric Idle Terry Jones [in]: # 函数 # 第一章 p30 # 使用函数可以简化刚才写的那段代码, 再多来几层列表咱也不怕啦! # def关键字是define的缩写,python看到def就知道这个是函数 def print_lol(the_list): # print_lol就是我们定义的函数名,尽可能把名字起得有意义一点 for i in the_list: if isinstance(i, list): print_lol(i) # 如果是列表, 那么调用自己再次处理这个列表 else: print(i) [in]: # 函数 # 第一章 p30 # 我们来用print_lol这个函数来打印我们的列表movies print_lol(movies) # 看看,代码是不是精简了很多? [out]: The Holy Grail 1975 Terry Jones Terry Gilliam 91 Graham Chapman Michail Palin John Clseese Terry Gilliam Eric Idle Terry Jones 第一章完。 本文笔记下载地址: 链接http://pan.baidu.com/s/1eR4iJoI 密码t72j 本文版权归舍得学苑所有欢迎转载转载请注明作者和出处。谢谢 作者舍得 首发舍得新浪博客 转载于:https://blog.51cto.com/emagic/1882376