python免费视频教程(初高中级)+基础教程

上传人:gbs****77 文档编号:12951117 上传时间:2020-06-04 格式:DOCX 页数:157 大小:2.39MB
返回 下载 相关 举报
python免费视频教程(初高中级)+基础教程_第1页
第1页 / 共157页
python免费视频教程(初高中级)+基础教程_第2页
第2页 / 共157页
python免费视频教程(初高中级)+基础教程_第3页
第3页 / 共157页
点击查看更多>>
资源描述
以下是为大家找到的全部的免费视频课程列表 希望可以对大家有所帮助 下载客户端后这些课程都可以下载都手机上 离线学习的哟 课程名称 课时数 课程等级 台湾辅仁大学 Python Django 基初视频课程 13 初级 Python 公开课视频课程 基础篇 34 初级 Python 趣味百题 初级篇视频课程 10 初级 Python 成长之路 基础篇视频课程 20 初级 Python 运维系统开发 2014 年 3 月 老男孩 linux 高薪运维精讲视频 41 初级 Python 项目实训视频课程 网络爬虫 3 初级 Django 架构介绍和使用视频课程 5 初级 Python 自动化开发活动沙龙视频课 5 初级 Python 自动化开发活动沙龙视频课 5 初级 Linux 入门必备视频课程 三天搞定 Linux 15 初级 Python 开发实践 基础 12 初级 Python 开发编程实战视频 日志 7 初级 Python 从入门到精通 41 初级 Python 高级编程视频教程 37 初级 苏勇老师 Python 语言基础视频教程 13 中级 Python 零基础入门学习视频教程 34 中级 玩转 Python 编程语言视频教程 26 中级 用 Python Django 快速做出高大上的 BBS 论坛网 站 13 中级 TriAquae 快速上手视频课程 1 中级 使用 GIT 对 Python 代码版本控制视频 14 中级 利用 Python 快速构建运维自动化系系统实战视 频 老男孩高薪必备 9 中级 Python 类 Nagios 监控软件开发实战视 16 中级 利用 Python SOCKET 多线程开发 FTP 6 高级 老男孩高薪必备 Python 高级运维编程实战课 程 27 高级 如何用 Python 快速开发出高大上运维管理平台 实战课程 15 高级 温馨提示 你可以把 3 万个免费 编程开发视频课程 下载到手机学习 51CTO 学院 移动客户端 Python 第 1 课 安装 6 Python 第 2 课 print 7 Python 第 3 课 IDE 10 Python 第 4 课 输入 12 Python 第 5 课 变量 14 Python 第 6 课 bool 16 Python 第 7 课 if 19 Python 第 8 课 while 23 Python 第 9 课 random 26 Python 第 10 课 变量 2 28 Python 第 11 课 逻辑判断 29 Python 第 12 课 for 循环 30 Python 第 13 课 字符串 32 Python 第 14 课 字符串格式化 34 Python 第 15 课 循环的嵌套 35 Python 第 16 课 字符串格式化 2 37 Python 第 17 课 类型转换 38 Python 第 18 课 bool 类型转换 40 Python 第 19 课 函数 41 Python 第 21 课 函数的参数 46 Python 第 22 课 函数应用示例 47 Python 第 23 课 if elif else 49 Python 第 24 课 if 的嵌套 54 Python 第 25 课 初探 list 56 Python 第 26 课 操作 list 58 Python 第 28 课 字符串的分割 65 Python 第 29 课 连接 list 71 Python 第 30 课 字符串的索引和切片 72 Python 第 31 课 读文件 74 Python 第 32 课 写文件 76 Python 第 33 课 处理文件中的数据 77 Python 第 34 课 break 83 Python 第 35 课 continue 84 Python 第 36 课 异常处理 87 Python 第 37 课 字典 90 Python 第 38 课 模块 93 Python 第 39 课 用文件保存游戏 1 96 Python 第 40 课 用文件保存游戏 2 98 Python 第 41 课 用文件保存游戏 3 101 Python 第 42 课 函数的默认参数 105 Python 第 43 课 查天气 1 107 Python 第 44 课 查天气 2 108 Python 第 45 课 查天气 3 111 Python 第 46 课 查天气 4 113 Python 第 47 课 面向对象 1 116 Python 第 48 课 面向对象 2 117 Python 第 49 课 面向对象 3 118 Python 第 50 课 面向对象 4 120 Python 第 51 课 and or 技巧 123 Python 第 52 课 元组 124 Python 第 53 课 数学运算 125 Python 第 54 课 真值表 127 Python 第 55 课 正则表达式 1 128 Python 第 56 课 正则表达式 2 130 Python 第 57 课 正则表达式 3 131 Python 第 58 课 正则表达式 4 134 Python 第 59 课 正则表达式 5 135 Python 第 60 课 随机数 137 python 模块的常用安装方式 139 正则表达式 30 分钟入门教程 140 目录 140 本文目标 141 如何使用本教程 141 正则表达式到底是什么东西 142 入门 142 测试正则表达式 143 元字符 144 字符转义 146 重复 146 字符类 146 分枝条件 147 分组 147 反义 148 后向引用 148 零宽断言 149 负向零宽断言 150 注释 151 贪婪与懒惰 151 处理选项 152 平衡组 递归匹配 152 还有些什么东西没提到 154 联系作者 155 网上的资源及本文参考文献 155 更新纪录 155 Python 第 0 课 Why Python 为什么用 Python 作为编程入门语言 原因很简单 每种语言都会有它的支持者和反对者 去 Google 一下 why python 你会得到很多结果 诸如应用范围广泛 开源 社区活跃 丰富的库 跨平台等等等等 也可能找到不少对它 的批评 格式死板 效率低 国内用的人很少之类 不过这些优缺点的权衡都是程序员们 的烦恼 作为一个想要学点编程入门的初学者来说 简单才是最重要的 当学 C 的同学 还在写链表 学 Java 的同学还在折腾运行环境的时候 学 Python 的你已经像上图一样飞 上天了 当然 除了简单 还有一个重要的原因 因为我现在每天都在写 Python 虽然以后可能会 讲些手机编程之类 如果真的有那么一天 但目前这时候 各位也就看菜吃饭 有 啥吃啥了 每天 5 分钟 先别计较太多 况且 Python 还是挺有利于形成良好编程思维的一 门语言 推荐两本我个人比较喜欢的 Python 入门书籍 一本是 简明 Python 教程 我自己最开始 就是看着它学的 接下来也会大体参考里面的内容讲 另一本是 Head First Python Head First 系列都是非常浅显易懂的入门类书籍 虽然我只瞄过几眼 但感觉还是不错的 Python 第 1 课 安装 进入 Python 的官方下载页面 http www python org download 你会看到一堆下载链接 我们就选 Python 2 7 5 Windows Installer 如果是 64 位系统的 同学选下面那个 Python 2 7 5 Windows X86 64 Installer 为什么不选最上面那个 3 3 2 的 新版本 因为我在用 python2 7 x python3 改了不少地方 不熟 下载之后 就和装其他软件一样 双击 一路 Next 想换安装路径的同学可以换个位置 但不管换不换 请把这个路径复制下来 比如我的是 C python27 后面要用到它 安装结束还没完 我们还差最后一步 设置环境变量 这是什么东西我暂时先不解释 大 家照着做就好 右键单击我的电脑 不 是你的电脑 依次点击 属性 高级 环境变 量 在 系统变量 表单中点击叫做 Path 的变量 然后编辑这个变量 把 C Python27 也就是你刚才复制的安装路径 加到它的结尾 注意 要用英文分号和 前面已有的内容隔开 然后点确定 点确定 再点确定 完成 怎么知道你已经成功安装了 Python 呢 这时候你需要打开命令行 或者叫命令提示符 控 制台 方法是 点击开始菜单 程序 附件 命令提示符 或者直接在桌面按快捷键 Win r Win 键就是 Ctrl 和 Alt 旁边那个有 windows 图标的键 输入 cmd 回车 这时 候你就看到可爱的黑底白字了 在命令行里输入 python 回车 如果看到诸如 Python 2 7 5 default May 15 2013 22 43 36 MSC v 1500 32 bit Intel on win32 的提示文字 恭喜你 否则 请重新检查你哪里的打开方式不对 或者直接给我留言 接下来 你就可以输入那句程序员最爱的 print Hello World 向 Python 的世界里发出第一声啼哭 嗯 如果这么几步你还是被绕晕了 没关系 我还留了一手 打开你的浏览器 Google 一下 python online 点击第一条结果 Execute Python Script Online 或者直接打开 找到 Python 点进去 这是一个在线的 python 运行环境 你可以在这里练习 无需任何下载安装配置 左边页面 是写代码的地方 点击左上角的 Execute Sctipt 就可以在右边页面看到输出结果 那 Mac 的同学怎么办 Mac 上叫 终端 英文版叫 Terminal 可以在 应用程序 里找 到 也可以直接在你的 Mac 上搜索 终端 或者 Terminal 找到 打开之后输入 python 回车 就可以进入 python 了 好了 今天就这么多 快去试试你的 python 输出一行 Hello World 吧 完成的同学可 以截个屏发给我 欢迎各种建议 讨论和闲聊 当然更欢迎你把这里分享给更多的朋友 我今天发现昨天提供的 网站有时候会很慢 甚至无法正常运行 于是我 又找了一个 似乎要快一点 不过好像只能在电脑上的浏览器打开 另外就是 昨天忘了给 Mac 的同学 们说一下怎么打开命令行 Mac 上叫做 终端 或者 Terminal 可以在 应用程序 里 找到 也可以直接在 spotlight 里直接输入 Terminal 打开 打开后就可以通过 python 命令进入开发环境了 Python 第 2 课 print print 中文意思是打印 在 python 里它不是往纸上打印 而是打印在命令行 或者叫终 端 控制台里面 print 是 python 里很基本很常见的一个操作 它的操作对象是一个字符 串 什么是字符串 此处按住不表 且待日后慢慢道来 基本格式是 print 你要打印 的东西或者 print 你要打印的东西 这里一定要英文字符的括号 所有程序中出现的符号 都必须是英文字符 注意别被你的输入法坑了 各位同学可以在自己的 python 环境中试着输出以下内容 这里是命令行下的效果 使用在 线编辑器或者 IDE 的同学 只需要输入 后面的内容就可以了 print hello hello print world world print 1 1 print 3 14 3 14 print 3e30 3e 30 print 1 2 3 7 print 2 5 False 直接在 print 后面加一段文字来输出的话 需要给文字加上双引号或者单引号 大家发现 print 除了打印文字之外 还能输出各种数字 运算结果 比较结果等 你们试着自己 p rint 一些别的东西 看看哪些能成功 哪些会失败 有兴趣的话再猜一猜失败的原因 其实在 python 命令行下 print 是可以省略的 默认就会输出每一次命令的结果 就像这 样 Your YiDa Your YiDa 2 13 250 265 5 程序 Python 2 7 里找到它 打开后之后很像我们之前用过的命令行 没错 它就是的 在里面 print 一下试试 不知之前用命令行的同学有没有注意到 命令行 输一行命令就会返回结果 而且之前 print 了那么多 关掉之后也不知道到哪里去了 所以 它没法满足我们编写弱智小游戏的大计划 我们需要用新的方法 点击窗口上方菜单栏的 File New Window 会打一个长得很像的新窗口 但里面什 么也没有 这是一个文本编辑器 在这里面就可以写我们的 python 程序了 继续 print 几 行 这次可以多 print 一点 print Hello print IDE print Here I am 现在是 见证奇迹的时刻 点击 Run Run Module 或者直接按快捷键 F5 会提示 你保存刚才文件 随便取个名字 比如 lesson3 py py 是 python 代码文件的类型 虽 然不指定 py 也是可以的 但建议还按规范来 保存完毕后 之前那个控制台窗口里就会一 次性输出你要的结果 以后想再次编辑或运行刚才的代码 只要在 IDLE 里选择 File Open 打开刚才保 存的 py 文件就可以了 Mac 上的 IDLE 是预装好了 在 终端 里输入 IDLE 就可以启动 使用方法同 Windows 也可以在文件夹 usr bin 里可以找到 IDLE 如果是重新下载安装了 python 似乎 是可以在 应用程序 里找到 IDLE 的 Mac 的同学可以验证下 另外 Windows 下有一个第三方的免费 IDE 叫 PyScripter 把文件目录 文本编辑器 命 令行都整合到了一起 还增加了很多辅助功能 有兴趣的同学也可以去找来试试看 地址 用起来应该比 IDLE 方便 但有一点要注意 它的安装位置和 py 文件的保存位置都不要有 中文 不然可能会有问题 今天的内容有点长 配置开发环境这种事最麻烦了 大家耐心一点 毕竟一次投入 长期 受益 以后我们的课程都会在 IDE 中进行 基本不再往命令行里直接敲代码了 最后说下 有很多 python 程序员都不使用任何 IDE 至于原因嘛 可能就像优秀的手工艺 人是不会用机床来加工艺术品的吧 Python 第 4 课 输入 前 print 了那么多 都是程序在向屏幕 输出 那有来得有往 有借得有还 有吃 咳 咳 那啥 我们得有向程序 输入 信息的办法 才能和程序对话 进行所谓的 人机交 互 python 有一个接收命令行下输入的方法 input 注意 和 print 不同的是 这次我们必须得加上 了 而且得是英文字符的括号 好了 终于可以搬出那个弱智小游戏了 耶 游戏里我们需要跟程序一问一答 所以我们 先把话给说上 打开我们的 python 编辑器 不管是 IDLE 在线编辑器 还是其他的 IDE 在代码编辑器中 输入下面几句代码 print Who do you think I am input print Oh yes 然后 Run Forrest Run 你会在命令行中看到 程序输出了第一句之后就停住了 这 是 input 在等待你的输入 输入你的回答 回车 你会看到程序的回答 注意 引号 又是引号 和 print 一样 如果你输的是一串文字 要用引号 或者 引起来 如果是数字则不用 插一句 python 还有一个输入的方法 raw input 它把所有的输入都直接当作一串字 符 于是就可以不用加引号 有兴趣的同学可以试一试 体会一下两者的不同 关于这个 令人纠结的引号 我们以后会再讨论它 看上去不错哦 似乎就这么对上话了 是不是觉得离小游戏的完成迈进了一大步 可是大 家发现没有 即使你说 Idiot 程序仍然会淡定地回答 Oh yes 因为它左耳进右耳出 根本就没听进去我们到底说了啥 那怎么才能让它认真听话呢 啪 且听下回分解 回顾一下我们之前几节课 我们到现在一共提到了三种可以运行 print 的方式 1 命令行 包括 Win 下的控制台 CMD 和 Mac 下的终端 Terminal 它可以帮我们确认自己电脑上的 python 是不是正常 但是这种方法很难帮我们实现写一个 完整小程序的目标 2 IDE 包括 python 自带的 IDLE 和其他第三方的 IDE 不知道大家是不是都顺利搞定 并且能顺利保存并打开 py 文件了呢 以后我们课程里的内 容 你都可以在这里面进行 3 在线编辑器 compileonline 或者 pythonfiddle 他们同样包括代码编辑器 写代码的地方 和控制台 输出结果的地方 两部分 所以我 们在本地 IDE 里的操作都可以在其中实现 只不过保存文件会有些复杂 compileonline 是 点击 download files 打包下载 pythonfiddle 需要注册一下 当然 你也可以直接把你写好 的代码复制下来 保存在本地 下次再粘贴上去接着写 Python 第 5 课 变量 昨天说到 需要让程序理解我们输入的东西 那首先 就需要有东西把我们输入的内容记 录下来 好为接下来的操作做准备 Python 之神说 要有变量 于是就有了变量 变量 望文生义 就是变化的量 python 里创建一个变量的方法很简单 给它起个名字 然后给它一个值 举起几个栗子 name Crossin myVar 123 price 5 99 visible True 的作用是把右边的值赋予给左边的变量 这里说一下另外一个概念 叫做 数据类型 上面 4 颗栗子分别代表了 python 中较常见 的四种基本类型 字符串 表示一串字符 需要用 或 引起来 整数 浮点数 就是小数 bool 布尔 这个比较特殊 是用来表示逻辑 是 非 的一种类型 它只有两个值 True 和 False 注意这里没有引号 有了引号就变成字符串了 再次用到我们熟悉的 print 这次 我们升级了 要用 print 输出一个 变量 name Crossin print name 看到结果了吗 没有输出 name 也没有报错 而是输出了 Crossin 现在是不是能想 明白一些 为什么之前 print 一段文字没加引号就会报错 而 print 一个数字就没有问题呢 它叫变量 那就是能变的 所以在一次 赋值 操作之后 还可以继续给它赋予新的值 而且可以是不同类型的值 a 123 print a a hi print a 的右边还可以更复杂一点 比如是一个计算出的值 value 3 4 print value value 2 5 print value 甚至 也可以是 input name input print name 于是 我们又可以进化一下我们的小游戏了 把上次写的内容稍微改一下 加上变量 print Who do you think I am you input print Oh yes I am a print you 看来程序已经知道我们的输入了 接下来 就要让它学会对不同的答案做出判断 这个我 们留到下次再说 今天是周五 我觉得吧 到周末了 大家应该远离一下电脑 多陪陪家人朋友 吃吃饭 出去走走 祝大家周末愉快 Python 第 6 课 bool 昨天说到了 python 中的几个基本类型 字符串 整数 浮点数都还算好理解 关于剩下的 那个 bool 布尔值 我要稍微多说几句 逻辑判断在编程中是非常重要的 大量的复杂程序在根本上都是建立在 真 与 假 的 基本逻辑之上 而 bool 所表示的就是这种最单纯最本质的 True Flase 真与假 是与非 来看下面的例子 a 1 c 通过用 大于 大于等于 小于等于 等于 比较两个值是否相等 之所以用两个等号 是为了和变量赋值区分开来 不等与 not 逻辑 非 如果 x 为 True 则 not x 为 False and 逻辑 与 如果 x 为 True 且 y 为 True 则 x and y 为 True or 逻辑 或 如果 x y 中至少有一个为 True 则 x or y 为 True 关于 bool 值和逻辑运算其实远不止这些 但现在我们暂时不去考虑那么多 以免被绕得找 不到北 最基本的大于 小于 等于已经够我们先用一用的了 试试把 bool 加到我们的小游戏里 num 10 print Guess what I think answer input result answernum print too big print result result answer num print equal print result 代码比之前稍微多了一点 解释一下 第一段代码 先创建一个值为 10 的变量 num 输出一句提示 然后再输入一个值给变量 answer 第二段代码 计算 answer num 的结果 记录在 result 里 输出提示 再输出结果 第三段 第四段都与第二段类似 只是比较的内容不一样 看看结果是不是跟你预期的一致 虽然看上去还是有点傻 但是离目标又进了一步 现在数数你手上的工具 输入 输出 用来记录数值的变量 还有可以比较数值大小的逻 辑运算 用它们在你的 python 里折腾一番吧 Python 第 7 课 if 继续上次的程序 我们已经能让判断我们输入的值了 但这程序还是有点呆 不过怎样都 要把话说三遍 因为到目前为止 我们的程序都是按照顺序从上到下一行接一行地执行 有同学发来问题了 怎么能让它根据我们输入的结果来选择执行呢 答案就是 if 来看一张图 纯手绘 渣画质 解释一下 程序顺序往下执行遇到 if 语句的时候 会去判断它所带条件的真假 如果 为 True 就会去执行接下来的内容 如果 为 False 就跳过 语法为 if 条件 选择执行的语句 特别说明 条件后面的冒号不能少 同样必须是英文字符 特别特别说明 if 内部的语句需要有一个统一的缩进 一般用 4 个空格 python 用这种方 法替代了其他很多编程语言中的 你也可以选择 1 2 3 个空格或者按一下 tab 键 但必 须整个文件中都统一起来 千万不可以 tab 和空格混用 不然就会出现各种莫名其妙的错 误 所以建议都直接用 4 个空格 上栗子 thisIsLove input if thisIsLove print 再转身就该勇敢留下来 试试看 输入 True 就会得到回答 输入 False 什么也没有 如果你那里输出中文有问 题 请自行改成英文 所以 我们的游戏可以这样改写 num 10 print Guess what I think answer input if answernum print too big if answer num print BINGO if 在编程语言中被称为 控制流语句 用来控制程序的执行顺序 还有其他的控制流语句 后面我们会用到 重新发一下代码 thisIsLove input if thisIsLove print 再转身就该勇敢留下来 num 10 print Guess what I think answer input if answernum print too big if answer num print BINGO Python 第 8 课 while 先介绍一个新东西 注释 python 里 以 开头的文字都不会被认为是可执行的代码 print hello world 和 print hello world 输出一行字 是同样的效果 但后者可以帮助开发者更好地理解代码 在接下来的课程中 我会经常用注释来解释代码 用 if 改进完我们的小游戏后 功能已经基本实现了 很多同学做完后纷纷表示 每次只能 猜一次 完了之后又得重新 run 感觉好麻烦 能不能有办法让玩家一直猜 直到猜中为 止 答案很显然 如果这种小问题都解决不了 那 python 可就弱爆了 最简单的解决方法就是 while 同 if 一样 while 也是一种控制流语句 另外它也被称作循环语句 继续来看渣画质手绘流 程图 程序执行到 while 处 当 条件为 True 时 就去执行 while 内部的代码 当 条件为 False 时 就跳过 语法为 while 条件 循环执行的语句 同 if 一样 注意冒号 注意缩进 今天的栗子 a 1 先 a 设为 1 while a 0 a 不等于 0 就一直做 print please input a input print over 想想怎么用 while 改进小游戏 有多种写法 大家自己思考下 我不多做说明了 下图给 出一种方法 注意 这里出现了两层缩进 要保持每层缩进的空格数相同 到此为止 小游戏已经基本成型了 不过好像还差一点 每次自己都知道答案 这玩起来 有神马意思 明天来讲 怎么让你不知道电脑的答案 Python 第 9 课 random 之前我们用了很多次的 print 和 input 方法 它们的作用是实现控制台的输入和输出 除此 之外 python 还提供了很多模块 用来实现各种常见的功能 比如时间处理 科学计算 网络请求 随机数等等等等 今天我就来说说 如何用 python 自带的随机数模块 给我们 的小游戏增加不确定性 引入模块的方法 from 模块名 import 方法名 看不懂没关系 这东西以后我们会反复用到 今天你只要记住 你想要产生一个随机的整 数 就在程序的最开头写上 from random import randint 之后你就可以用 randint 来产生随机数了 还记得 input 后面的 吗 我们使用 randint 的时候后面也要有 而且 还要在括号中提供 两个数字 先后分别是产生随机整数范围的下限和上限 例如 randint 5 10 这样将会产生一个 5 到 10 之间 包括 5 和 10 的随机整数 放到我们的小游戏里 用 answer randint 1 100 替代 answer 10 程序在运行时候 会产生一个 1 到 100 的随机整数 存在 answer 里 我们也不知道是多少 真的全靠猜了 好了 觉得还有点意思么 我们终于一步步把这个弱智小游戏给做出来了 有没有一丁点 的成就感呢 如果你对其中的某些细节还不是很理解 恭喜你 你已经开始入门了 相信你会带着一颗 追求真相的心 在编程这条路上不断走下去 我们的课程 也才刚刚开始 Python 第 10 课 变量 2 变量这东西 我们已经用过 有了变量 就可以存储和计算数据 今天来讲点变量的细节 变量命名规则 变量名不是你想起就能起的 第一个字符必须是字母或者下划线 剩下的部分可以是字母 下划线 或数字 0 9 变量名称是对大小写敏感的 myname 和 myName 不是同一个变量 几个有效的栗子 i my name name 23 a1b2 c3 几个坏掉的栗子 想一下为什么不对 2things this is spaced out my name 变量的运算 我们前面有用到变量来存储数据 num 10 answer input 也有用到变量来比较大小 answer num 除此之外 变量还可以进行数学运算 a 5 b a 3 c a b python 中运算的顺序是 先把 右边的结果算出了 再赋值给左边的变量 下面这个 例子 a 5 a a 3 print a 你会看到 输出了 8 因为先计算出了右边的值为 8 再把 8 赋给左边的 a 通过这种方法 可以实现累加求和的效果 它还有个简化的写法 a 3 这个和 a a 3 是一样的 于是 利用变量 循环 累加 可以写一个程序 来完成传说中高斯大牛在小时候做过的 题 1 2 3 100 从 1 加到 100 等于多少 提示 你可以用一个变量记录现在加到几了 再用一个变量记录加出来的结果 通过 while 来判断是不是加到 100 了 Python 第 11 课 逻辑判断 之前粗略地提到 bool 类型的变量 又说到 if 和 while 的判断条件 有些同学反馈说没怎么 理解 为什么一会儿是 bingo False 一会又是 bingo False 一会儿是 while 在条件为 True 的时候执行 一会儿又是 while 在 bingo False 的时候执行 别急 你听我说 首先 要理解 一个逻辑表达式 其实最终是代表了一个 bool 类型的结果 比如 1 3 Falseprint a 2 1 Trueb 3 print a b 2 2 True 比较容易搞混的 是 bool 变量的值和一个逻辑表达式的值 比如 a Falseprint a False print a False True 虽然 a 本身的值是 False 但是 a False 这个表达式的值是 True 说人话 a 是错的 但 a 是错的 这句话是对的 回到上面那几个概念 bingo False 把 bingo 设为一个值为 False 的变量 bingo False 判断 bingo 的值是不是 False 如果是 那么这句话就是 True while 在判断条件条件为 True 时执行循环 所以当 bingo False 时 条件为 True 循环是 要执行的 晕了没 谁刚学谁都晕 不晕的属于骨骼惊奇百年一遇的编程奇才 还不赶紧转行做程序 员 逻辑这东西是初学编程的一大坑 我们后面还要在这个坑里挣扎很久 留个习题 a True b not a 不记得 not 请回复 6 想想下面这些逻辑运算的结果 然后用 print 看看你想的对 不对 bnot ba ba ba and ba or b1 或者 MyMacBook crossin 之类的 这个提示符表示了当前命令行所在目录 在这里 我们输入 python 就可以进入 python 环境了 但今天我们暂 时不这么做 第一个常用的命令是 dir windows 环境下 ls mac 环境下 dir 和 ls 的作用差不多 都是显示出当前目录下的文件和文件夹 具体效果可参见文末的附图 第二个常用命令是 cd 目录名 通过 dir 或 ls 了解当前目录的结构之后 可以通过 cd 目录名 的方式 进入到当前目录下的子目录里 如果要跳回到上级目录 可以用命令 cd 另外 Windows 下如果要写换盘符 需要输入 盘符 比如从 c 盘切换到 d 盘 C Documents and Settings Crossin d 有了以上两个命令 就可以在文件目录的迷宫里游荡了 虽然没可视 化的目录下的操作那么直观 但是会显得你更像个程序员 于是乎 再说个高阶玩法 现在你可以不用 idle 那套东西了 随便找 个顺手的文本软件 把你的代码写好 保存好 最好是保存成 py 文件 然后在命令行下进入到 py 文件保存的目录 使用命令 python 你把程序保存的文件名 就可以运行你写的程序了 嗯 这才像个 python 程序员的样 其他常用命令 诸如拷贝文件 删除文件 新建文件夹之类的 请自 行搜索相关资料 很容易的 比如你搜 mac 终端 常用命令 就可以 找到很多了 PS 贴吧里转了一篇关于怎么把 py 文件转成别人电脑上也可执行的 exe 文件 稍稍有点复杂 想挑战的可以去试试 Python 第 21 课 函数的参数 今天发现了一个 iPad 上的游戏 叫 Cargo Bot 这个游戏需要你用指 令控制一个机械臂去搬箱子 游戏里蕴含了很多编程的思想 包括循 环 函数调用 条件判断 寄存器 递归等等 挺有意思的 更厉害 的是 这个游戏是用一个叫 Codea 的 app 直接在 iPad 上编写出来的 有 iPad 的同学不妨玩玩看 挑战一下你的 程商 言归正传 在 19 课里 我们讲了怎样定义一个自己的函数 但我们没 有给他提供输入参数的功能 不能指定参数的函数就好比你去餐厅吃 饭 服务员告诉你 不能点菜 有啥吃啥 这显然不能满足很多情况 所以 如果我们希望自己定义的函数里允许调用者提供一些参数 就 把这些参数写在括号里 如果有多个参数 用逗号隔开 如 def sayHello someone print someone says Hello 或者 def plus num1 num2 print num1 num2 参数在函数中相当于一个变量 而这个变量的值是在调用函数的时候 被赋予的 在函数内部 你可以像过去使用变量一样使用它 调用带参数的函数时 同样把需要传入的参数值放在括号中 用逗号 隔开 要注意提供的参数值的数量和类型需要跟函数定义中的一致 如果这个函数不是你自己写的 你需要先了解它的参数类型 才能顺 利调用它 比如上面两个函数 我们可以直接传入值 sayHello Crossin 还是注意 字符串类型的值不能少了引号 或者也可以传入变量 x 3 y 4 plus x y 在这个函数被调用时 相当于做了 num1 x num2 y 这么一件事 所 以结果是输出了 7 Python 第 22 课 函数应用示例 前两课稍稍介绍了一下函数 但光说概念还是有些抽象了 今天就来 把之前那个小游戏用函数改写一下 我希望有这样一个函数 它比较两个数的大小 如果第一个数小了 就输出 too small 如果第一个数大了 就输出 too big 如果相等 就输出 bingo 函数还有个返回值 当两数相等的时候返回 True 不等就返回 False 于是我们来定义这个函数 def isEqual num1 num2 if num1num2 print too big return False if num1 num2 print bingo return True 这里说一下 return 是函数的结束语句 return 后面的值被作为这个函 数的返回值 函数中任何地方的 return 被执行到的时候 这个函数就 会结束 然后在我们的小游戏里使用这个函数 from random import randint num randint 1 100 print Guess what I think bingo False while bingo False answer input bingo isEqual answer num 在 isEqual 函数内部 会输出 answer 和 num 的比较结果 如果相等 的话 bingo 会得到返回值 True 否则 bingo 得到 False 循环继续 函数可以把某个功能的代码分离出来 在需要的时候重复使用 就像 拼装积木一样 这会让程序结构更清晰 Python 第 23 课 if elif else 今天补充之前讲过的一个语句 if 为什么我跳要着讲 因为我的想法 是先讲下最最基本的概念 让你能用起来 之后你熟悉了 再说些细 节 关于 if 可以发送数字 7 回顾之前的课程 它除了我们之前讲的用 法外 还可以配合 elif 和 else 使用 使程序的运行顺序更灵活 之前说的 if 是 如果 条件满足 就做 xxx 否则就不做 else 顾名思义 就是 否则 就做 yyy 当 if 后面的条件语句不满足时 与之相对应的 else 中的代码块将被执 行 if a 1 print right else print wrong elif 意为 else if 含义就是 否则如果 条件满足 就做 yyy elif 后面 需要有一个逻辑判断语句 当 if 条件不满足时 再去判断 elif 的条件 如果满足则执行其中的代 码块 if a 1 print one elif a 2 print two if elif else 可组成一个整体的条件语句 if 是必须有的 elif 可以没有 也可以有很多个 每个 elif 条件不满足时会进入下一个 elif 判断 else 可以没有 如果有的话只能有一个 必须在条件语句的最后 if a 1 print one elif a 2 print two elif a 3 print three else print too many 我们昨天刚改写的小游戏中的函数 isEqual 用了三个条件判断 我们 可以再改写成一个包含 if elif else 的结构 def isEqual num1 num2 if num1num2 print too big return False else print bingo return True Python 第 24 课 if 的嵌套 和 for 循环一样 if 也可以嵌套使用 即在一个 if elif else 的内部 再 使用 if 这有点类似于电路的串联 if 条件 1 if 条件 2 语句 1 else 语句 2 else if 条件 2 语句 3 else 语句 4 在上面这个两层 if 的结构中 当 条件 1 为 True 条件 2 为 True 时 执行语句 1 条件 1 为 True 条件 2 为 False 时 执行语句 2 条件 1 为 False 条件 2 为 True 时 执行语句 3 条件 1 为 False 条件 2 为 False 时 执行语句 4 假设需要这样一个程序 我们先向程序输入一个值 x 再输入一个值 y x y 表示一个点的坐标 程序要告诉我们这个点处在坐标系的哪一个象限 x 0 y 0 输出 1 x 0 输出 2 x 0 y 0 y 0 if x 0 print 1 else print 2 else if x score 1 print You Win else print You Lose Python 第 29 课 连接 list 今天要说的方法是 join 它和昨天说的 split 正好相反 split 是把一个字符串分割成很 多字符串组成的 list 而 join 则是把一个 list 中的所有字符串连接成一个字符串 join 的格式有些奇怪 它不是 list 的方法 而是字符串的方法 首先你需要有一个字符 串作为 list 中所有元素的连接符 然后再调用这个连接符的 join 方法 join 的参数是被 连接的 list s li apple pear orange fruit s join li print fruit 得到结果 apple pear orange 从结果可以看到 分号把 list 中的几个字符串都连接了起来 你也可以直接在 shell 中输入 join apple pear orange 得到同样的结果 用来连接的字符串可以是多个字符 也可以是一个空串 join hello world 得到 helloworld 字符串被无缝连接在一起 点球小游戏 昨天的代码已经能实现一个完整的点球比赛过程 但有同学提出 这不符合真实比赛规则 说好的提前结束比赛呢 关于这个 我想了下 可以有好几种解决方法 但似乎都有些绕 所以放到明天单独来讲 把这个小游戏收尾 Python 第 30 课 字符串的索引和切片 之前说了 字符串和 list 有很多不得不说的事 今天就来说说字符串的一些与 list 相似 的操作 1 遍历 通过 for in 可以遍历字符串中的每一个字符 word helloworld for c in word print c 2 索引访问 通过 加索引的方式 访问字符串中的某个字符 print word 0 print word 2 与 list 不同的是 字符串能通过索引访问去更改其中的字符 word 1 a 这样的赋值是错误的 3 切片 通过两个参数 截取一段子串 具体规则和 list 相同 print word 5 7 print word 5 print word 4 连接字符 join 方法也可以对字符串使用 作用就是用连接符把字符串中的每个字符重新连接成一个 新字符串 不过觉得这个方法有点鸡肋 不知道在什么场景下会用到 newword join word Python 第 31 课 读文件 之前 我们写的程序绝大多数都依赖于从命令行输入 假如某个程序需要输入很多数据 比如一次考试的全班学生成绩 再这么输就略显痛苦了 一个常见的办法就是把学生的成 绩都保存在一个文件中 然后让程序自己从这个文件里取数据 要读取文件 先得有文件 我们新建个文件 就叫它 data txt 在里面随便写上一些话 保存 把这个文件放在接下来你打算保存代码的文件夹下 这么做是为了方便我们的程序 找到它 准备工作就绪 可以来写我们的代码了 打开一个文件的命令很简单 file 文件名 这里的文件名可以用文件的完整路径 也可以是相对路径 因为我们把要读取的文件和代 码放在了同一个文件夹下 所以只需要写它的文件名就够了 f file data txt 但这一步只是打开了一个文件 并没有得到其中的内容 变量 f 保存了这个文件 还需要 去读取它的内容 你可以通过 read 函数把文件内所有内容读进一个字符串中 data f read 做完对文件的操作之后 记得用 close 关闭文件 释放资源 虽然现在这样一个很短的 程序 不做这一步也不会影响运行结果 但养成好习惯 可以避免以后发生莫名的错误 完整程序示例 f file data txt data f read print data f close 是不是很简单 读取文件内容的方法还有 readline 读取一行内容 readlines 把内容按行读取至一个 list 中 去替换程序的第二行 看看它们的区别 Python 第 32 课 写文件 打开文件我们昨天已经讲过 但 python 默认是以只读模式打开文件 如果想要写入内容 在打开文件的时候需要指定打开模式为写入 f file output txt w w 就是 writing 以这种模式打开文件 原来文件中的内容会被你新写入的内容覆盖掉 如果文件不存在 会自动创建文件 不加参数时 file 为你默认为 r reading 只读模式 文件必须存在 否则引发异常 另外还有一种模式是 a appending 它也是一种写入模式 但你写入的内容不会覆盖之 前的内容 而是添加到文件中 打开文件还有一种方法 就是 open 用法和 file 是一致的 写入内容的方法同样简单 f write a string you want to write write 的参数可以是一个字符串 或者一个字符串变量 示例程序 data I will be in a file nSo cool out open output txt w out write data out close 在你的程序保存目录下 打开 output txt 就会看到结果 留两道课后作业 1 从一个文件中读出内容 保存至另一个文件 2 从控制台输入一些内容 保存至一个文件 Python 第 33 课 处理文件中的数据 比如我现在拿到一份文档 里面有某个班级里所有学生的平时作业成绩 因为每个人交作 业的次数不一样 所以成绩的数目也不同 没交作业的时候就没有分 我现在需要统计每 个学生的平时作业总得分 记得我小的时候 经常有同学被老师喊去做统计分数这种 苦力 现在电脑普及了 再 这么干就太弱了 用 python 几行代码就可以搞定 看一下我们的文档里的数据 scores txt 刘备 23 35 44 47 51 关羽 60 77 68 张飞 97 99 89 91 诸葛亮 100 1 先把文件读进来 f file scores txt 2 取得文件中的数据 因为每一行都是一条学生成绩的记录 所以用 readlines 把每 一行分开 便于之后的数据处理 lines f readlines f close 提示 在程序中 经常使用 print 来查看数据的中间状态 可以便于你理解程序的运 行 比如这里你可以 print lines 看一下内容被存成了什么格式 3 对每一条数据进行处理 按照空格 把姓名 每次的成绩分割开 for line in lines data line split 接下来的 4 5 两个步骤都是针对一条数据的处理 所以都是在 for 循环的内部 4 整个程序最核心的部分到了 如何把一个学生的几次成绩合并 并保存起来呢 我 的做法是 对于每一条数据 都新建一个字符串 把学生的名字和算好的总成绩保存 进去 最后再把这些字符串一起保存到文件中 sum 0 for score in data 1 sum int score result s t d n data 0 sum 这里几个要注意的点 对于每一行分割的数据 data 0 是姓名 data 1 是所有成绩组成的列表 每次循环中 sum 都要先清零 score 是一个字符串 为了做计算 需要转成整数值 int result 中 我加了一个制表符 t 和换行符 n 让输出的结果更好看些 5 得到一个学生的总成绩后 把它添加到一个 list 中 results append result results 需要在循环之前初始化 results 6 最后 全部成绩处理完毕后 把 results 中的内容保存至文件 因为 results 是一 个字符串组成的 list 这里我们直接用 writelines 方法 output file result txt w output writelines results outpus close 大功告成 打开文件检验一下结果吧 以下是完整程序 把其中 print 前面的注释符号去掉 可以查看关键步骤的数据状态 不 过因为字符编码的问题 list 的中文可能会显示为你看不懂的字符 f file scores txt lines f readlines print lines f close results for line in lines print line data line split print data sum 0 for score in data 1 sum int score result s t d n data 0 sum print result results append result print results output file result txt w output writelines results output close Python 第 34 课 break while 循环 在条件不满足时 结束 for 循环 遍历完序列后 结束 如果在循环条件仍然满足或序列没有遍历完的时候 想要强行跳出循环 就需要用到 break 语句 while True a raw input if a EOF break 上面的程序不停接受用户输入 当用户输入一行 EOF 时 程序结束 for i in range 10 a raw input if a EOF break 上面的程序接受用户 10 次输入 当用户输入一行 EOF 时 程序提前结束 回到我们最早的那个猜数字小游戏 用 break 可以加上一个功能 当用户输入负数时 游 戏就结束 如此一来 假如有玩家猜了几次之后仍然猜不中 一怒之下想要直接退出游戏 就猜一个负数 添加的代码是 if answer 0 print Exit game break 与 break 类似的还有一个 continue 语句 明天说 Python 第 35 课 continue break 是彻底地跳出循环 而 continue 只是略过本次循环的余下内容 直接进入下一次循 环 在我们前面写的那个统计分数的程序里 如果发现有成绩不足 60 分 就不记入总成绩 当 然 你可以用 if 判断来实现这个效果 但我们今天要说另一种方法 continue for score in data 1 point int
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!