廖雪峰python教程的第一个疑问】的更多相关文章

函数的参数一节中提到: def add_end(L = []); L.append('END') return L 正常调用add_end时(也就是有参数传入时): >>> add_end([1, 2, 3]) [1, 2, 3, 'END'] >>> add_end(['x', 'y', 'z']) ['x', 'y', 'z', 'END']当使用默认参数时: >>> add_end() ['END'] >>> add_end()…
1. 字符串的strip()方法 原文: “把一个序列中的空字符串删掉,可以这么写: def not_empty(s): return s and s.strip() list(filter(not_empty, ['A', '', 'B', None, 'C', ' '])) # 结果: ['A', 'B', 'C']” 疑问:如果改为, def not_empty(s):  return s.strip() 就会提示错误,AttributeError: 'Nonetype' object h…
这是小白的Python新手教程,具有如下特点: 中文,免费,零起点,完整示例,基于最新的Python 3版本. Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 出处:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000…
 No1: 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的 No2: 用r''表示''内部的字符串默认不转义 No3: 以'''开头,敲回车可以换行 No4: 布尔值True和False,注意大小写 No5: 空值None No6: python是动态语言,即定义变量不用申明变量类型(例:int i=0 int可以不用 i=0即可) No7: 全部大写的变量名表示常量:PI = 3.14159265359 No8: 除法 浮点型超出一定范围表示为inf(无穷大…
廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 本教程主要是个人的 Git 学习总结. 主要参考博客: 廖雪峰 Git 教程 Git-Cheat-Sheet 文章目录 廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 Git教程(廖雪峰) 安装Git 创建版本库 时光机穿梭 版本回退 工作区和暂存区 管理修改 撤销修改 删除文件 远程控制 添加远程库 从远程库克隆 分支管理 创建与合并分支 解决冲突 分支管理策略 Bug分支 Feature分支 多人协作 标…
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在GitHub上:笔记 还得时不时查看软工时期学习记录的坑以免走不动的尴尬... 更新:忽然发现我没有仔细看评论区,以后有时间复习时要再看一次(・`ω´・) 2018-11-8-更新:千峰教育-Git工作流介绍 偶然在pt上看到的,B站有视频,看了一下,前面略鸡肋,后两三节有干货,还有有收获的.开心.…
函数 1.注意:函数的默认参数必须指向不可变对象 未修改前: def add_end(L=[]): L.append('END') return L 存在的问题:如果连续调用多次,会出现多个 'END' 对象 原因解释: Python函数在定义的时候,默认参数L就被计算出来了,即 [] ,因为默认参数L指向了可变对象[],每次调用的时候,如果改变了L的内容,下次调用的时候,L指向的内容也发生了改变,不再是函数定义时候的 [] 了. 修改后: def add_end(L=None): if L i…
一.按照廖雪峰的教程,安装开发环境,问题不大. 1.异步框架aiohttp:$pip3 install aiohttp 2.前端模板引擎jinja2:$ pip3 install jinja2 3.安装mysql 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3.  sudo apt-get install libmysqlclient-dev 4.MySQL的Python异步驱动程序aiomysql:p…
generator(生成器)是ES6标准引入的新的数据类型.一个generator看上去像一个函数,但可以返回多次. ES6定义generator标准的哥们借鉴了Python的generator的概念和语法,如果你对Python的generator很熟悉,那么ES6的generator就是小菜一碟了.如果你对Python还不熟,赶快恶补Python教程!. 我们先复习函数的概念.一个函数是一段完整的代码,调用一个函数就是传入参数,然后返回结果: function foo(x) { return…
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 Python 教程 爬下来做成 PDF 电子书方便大家离线阅读. 开始写爬虫前,我们先来分析一下该网站1的页面结构,网页的左侧是教程的目录大纲,每个 URL 对应到右边的一篇文章,右侧上方是文章的标题,中间是文章的正文部分,正文内容是我们关心的重点,我们要爬的数据就是所有网页的正文部分,下方是用户的…
当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个想法. 想要把教程变成PDF有三步: 先生成空html,爬取每一篇教程放进一个新生成的div,这样就生成了包含所有教程的html文件(BeautifulSoup) 将html转换成pdf(wkhtmltopdf) 由于廖大是写教程的,反爬做的比较好,在爬取的过程中还需要代理ip(蘑菇代理) BeautifulSoup Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Pyt…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 六.分支管理 创建与合并分支 解决冲突 分支管理策略 Bug分支 Feature分支 多人协作 Rebase 6.0.0 分支是个啥? 分支就是<平!行!宇!宙!!!>,这两个平行宇宙互不干扰. 在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! (这个逗逼的例子哈哈哈哈…
OK,先附上教程--廖雪峰的官方网站 友情连接:git官网 简介 这里我只想引用他的原文: Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的.实际情况是这样的: Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下. Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至G…
基本上,Git就是以下面的命令顺序学习的.文中笔记是从廖雪峰老师的 Git教程 中总结出来的,方面查阅命令. 1.基础 git config --global user.name "Your Name"设置你的仓库用户名(用于标识提交者) git config --global user.email "email@example.com"设置你的仓库邮箱(用于标识提交者) git init 初始化一个git仓库 git add --all 添加所有更改的文件 git…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 四.时光机穿梭 版本回退 工作区和暂存区 管理修改 撤销修改 删除文件 git status:随时掌握工作区的状态,看文件是否被修改过 git diff:如果git status显示有文件被修改过,用git diff查看修改内容 ---------------------------------…
一 .集中式与分布式        先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆.        分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上.既然每个人电脑上都…
由于HTML文档被浏览器解析后就是一棵DOM树,要改变HTML的结构,就需要通过JavaScript来操作DOM. 始终记住DOM是一个树形结构.操作一个DOM节点实际上就是这么几个操作: 更新:更新该DOM节点的内容,相当于更新了该DOM节点表示的HTML的内容: 遍历:遍历该DOM节点下的子节点,以便进行进一步操作: 添加:在该DOM节点下新增一个子节点,相当于动态增加了一个HTML节点: 删除:将该节点从HTML中删除,相当于删掉了该DOM节点的内容以及它包含的所有子节点. 在操作一个DO…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 八.使用GitHub 在GitHub上,可以任意Fork开源仓库 自己拥有Fork后的仓库的读写权限 可以推送pull request给官方仓库来贡献代码 我们一直用GitHub作为免费的远程仓库, 其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与…
△命令行模式和Python交互模式 在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:\>:在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>.在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式. △Python文件名只能是英文字母.数字和下划线的组合.(但是实践证明中文也是可以的,但是不建议.)print()会依次打印每个字符串,遇到逗号“…
转自:https://www.liaoxuefeng.com/wiki/896043488029600 [标签管理] 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照. Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的. Git有comm…
面向对象编程 将计算机程序视为一系列的命令集合.包含: 数据 操作数据的函数 Python中,所有的数据类型都可以视为对象. 面向对象特点:封装,继承,多态. 类的函数和普通函数:类的第一个参数永远是实例变量self,并且调用时不用传递该参数. 如果要让内部属性不被外部访问,可以把属性名称前加上两个下划线__.如果实例的变量名以__开头,就变成了一个私有变量.可以内部访问,不能外部访问. 继承与多态 新的类称为子类(Subclass),而被继承的类被称为基类,父类或者超类(Base class,…
1.模块简介 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件中,这样每个文件包含的代码相对来说就比较少.一个.py文件就称之为一个模块(Module). 使用模块的好处: 提高了代码的可维护性 代码不需要从零开始编写 避免了函数名和变量名冲突(我们在自己编写模块时,不必考虑会和其他模块冲突,但是我们也要注意,不要与内置函数冲突) 同时引入了包按目录来组织模块的方法.引入了包以后,只要顶层包名不与别人冲突,那么所有的模块都不会与别人冲突.比如同有abc.py,但是一个是hzw.abc…
1.切片 L[0:3]表示,从索引0开始,直到索引3为止,但是不包括索引3.如果第一个索引是0,还可以省略L[:3] 倒数切片:L[-n:-1],-1是倒数第一个元素,L[-n:-1]不包括倒数第一个元素.L[-n:]表示取后n个数. L[:10:2]:前十个数,每两个取一个. 元组和字符串都可以用切片操作. 2.迭代 因为dict的存储不是按照list的方式顺序排列的,所以迭代出的结果顺序很可能不一样. 默认情况下,dict迭代的是key,如果要迭代value,可以用: for value i…
1.输入输出 输入? 2.文本编辑器中,需要把Tab键自动转换为四个空格,确保不混用Tab和空格. 3.数据类型和变量 1.整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(包括除法),而浮点数运算则可能会有四舍五入的误差. 2.字符串内部既包含'又包含"的话,可以用转义字符\来标识.可以用r来表示字符串不用转义 'I\'m \"OK\"!' #表示的字符串是: I'm "OK"! 3.如果字符串内部有很多换行,用\n写在一行不好阅读,为了…
当我们获得了某个DOM节点,想在这个DOM节点内插入新的DOM,应该如何做? 如果这个DOM节点是空的,例如,<div></div>,那么,直接使用innerHTML = '<span>child</span>'就可以修改DOM节点的内容,相当于"插入"了新的DOM节点. 如果这个DOM节点不是空的,那就不能这么做,因为innerHTML会直接替换掉原来的所有子节点. 有两个办法可以插入新的节点.一个是使用appendChild,把一个子…
JSON是JavaScript Object Notation的缩写,它是一种数据交换格式. 在JSON出现之前,大家一直用XML来传递数据.因为XML是一种纯文本格式,所以它适合在网络上交换数据.XML本身不算复杂,但是,加上DTD.XSD.XPath.XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范. 终于,在2002年的一天,道格拉斯·克罗克福特(Douglas Crockford)同学为了拯救深…
JavaScript的函数在查找变量时从自身函数定义开始,从"内"向"外"查找.如果内部函数定义了与外部函数重名的变量,则内部函数的变量将"屏蔽"外部函数的变量. 不在任何函数内定义的变量就具有全局作用域.实际上,JavaScript默认有一个全局对象window,全局作用域的变量实际上被绑定到window的一个属性: 'use strict'; var course = 'Learn JavaScript'; alert(course); //…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 三.创建版本库 两点: 1- 初始化仓库git init 2- 添加git add <file>.提交git commit -m <message> 一点基础: 版本库又名仓库,repository,一个目录,这个目录里面的所有文件都可以被Git管理起来 每个文件的修改.删除,Gi…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 五.远程仓库 添加远程库 从远程库克隆 ------------------------------------------ 5.0 远程仓库简介 "有了远程仓库,妈妈再也不用担心我的硬盘了."--Git点读机 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上. 最…
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总结 七.标签管理 创建标签 操作标签 7.0 标签介绍 Git的标签虽然是版本库的快照 但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动) 所以,创建和删除标签都是瞬间完成的. -----------------------------------------…