下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 71 | 如何分析源代码并设计合理的代码结构
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

零基础学Python

共71讲 · 71课时·约540分钟
16024
免费
01 | Python语言的特点
免费
02 | Python的发展历史与版本
免费
03 | Python的安装
免费
04 | Python程序的书写规则
免费
05 | 基础数据类型
免费
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与s...
46 | 正则表达式库替换函数sub...
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹...
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumP...
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代...
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式ge...
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链...
68 | Beautiful Soup的安装和...
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下...
71 | 如何分析源代码并设计合理...
本节摘要

课程源码、课件及课后作业地址:

https://github.com/wilsonyin123/geekbangpython

精选留言(25)

  • 2018-06-18
    老师,python还会出进阶教程吗?

    作者回复: 暂时不会出进阶教程,因为python基础是通用的,通过app或者电脑看视频会有一定的收获,从0到1或者只是到0.1,但这些都不是最理想的学习方法,需要大家掌握python基础语法之后,经过大量的练习,掌握计算机原理、掌握所需要行业的函数库之后,再去学习python高级知识才更有成效。比如web开发可以关注flask、django框架的编写,从事机器学习可以关注tensorflow库的编写等等。

    10
  • 2018-08-03
    有没有主流爬虫框架可以介绍,延伸一下视野?

    作者回复: python爬虫框架非常多,比较流行主要有Scrapy、PySpider
    个人用的较多的是Scrapy,因为有XPath和CSS选择器,从个人使用习惯更好用一些
    据使用过两个爬虫框架的人说,pyspider更简单,上手较快,其他区别可以通过搜索引擎进行比较。
    还有值得学习的有urllib2、urllib3、selenium这些包,简单的爬虫用urllib就可以实现了
    selenium可以调用浏览器,完整的解析js,当然执行速度上要慢,这些都是编写爬虫常用的包

    5
  • 2018-08-03
    老铁,数据库内容不包含吗

    作者回复: 你好,课程中没有包括数据库编程相关的内容,我在这里介绍一下Python数据库编程的学习思路

    首先应该对SQL语句做一定的学习,简单的DDL、DML需要掌握

    其次要了解数据库的类型和连接数据库的方式

    在Python中连接数据库方式可以分为数据库接口和ORM方式



    数据库接口方式访问关系型数据库,如MySQL可以使用MySQLdb,MySQL,Oracle数据库使用Oracle包,使用pip安装即可

    非关系型数据库,如MongoDB,可以使用pyMongo3、MongoDB包

    需要去熟悉各种包的用法,掌握连接方式,他们的操作方式统一是使用SQL语句方式



    另一种连接数据库方式是ORM方式,使用ORM方式不用显式的给出SQL命令,将SQL语句抽象成对象。如Django Web框架连接数据库就使用了ORM方式。



    建议参考资料 《Python官方文档》《Django官方文档》《Python核心编程》

    5
  • 2018-12-03
    非常期待老师出进阶的课程!

    作者回复: 会有的,在打磨一下,让大家易学易懂,有收获。

    4
  • 2019-01-08
    老师,我终于看完了,虽然老师讲的不深,也没面面俱到,但是给我开了个好头,谢谢老师!

    作者回复: 第一遍学习,就是要将Python的重点概念和你已知的知识进行连接,这也是视频的目的;接下来要细抠每一个技术细节,了解常用库、模块、框架,这才是学习一门语言的好方法。

    3
  • 2018-10-04
    老师,docx、pdf、xlsx的文件读写,文件之间转换的库有哪些好用的呢?

    作者回复: 像是word excel pdf 都有专门处理的库,一般我在处理陌生格式的文档时也是通过搜索引擎现用现查的,比如excel使用xlrd和xlwt库,也可以使用openpyxl库,要看哪个功能更符合你期望的需求。甚至有时候为了简化库的使用,先做格式转换,例如将excel先转换为csv,可以直接用文本方式处理了。

    3
  • 非常期待老师的进阶教程,感谢🙏
    2
  • 2018-06-20
    老师你好 请问有没有运维工程师常用的库推荐?

    作者回复: 运维工程师用到的库很多,要根据需要选择学习,如做配置文件操作会需要re、jinja2库做文本替换,对文件目录操作的os、shutil、tarfile库,处理交互模式的pexpect、paramiko库,集中化管理的ansible库,web框架django、flask库等等

    2
  • 2019-09-30
    感谢老师的精彩课程 我已经把老师的python和Linux课程都看了一遍 准备再看一遍python 现在有个问题就是python 如何在mac下编译成windows可执行exe文件
    网上都是用PyInstaller打包但是发现 这个好像受开发环境影响 有没有打包的教程链接呢 感谢老师

    作者回复: 推荐官方文档啊,没有任何人比作者更了解他的程序了。
    另外不建议跨平台打包,python没有那么牛的兼容性,会引入很多奇怪的bug进来

    1
  • 2019-08-17
    老师,我是做测试的,想做自动化测试,但是目前没有一个明确的方向,不知道python学到什么程度可以做自动化的测试,还请老师赐教

    作者回复: 您好,python自动化测试我在职业工作中没有涉及,不敢随便推荐,我提供一个思路,一般我会以“python”“自动化测试”作为关键字,找畅销书,根据图书的好评度甄选一些图书作为参考,如果需要转行可以找目标公司相关的岗位,或者大厂的岗位,看看招聘方需要什么样的技能组合和知识积累,来作为自己努力的目标,希望对你有所帮助。

    1
  • 2019-08-15
    老师,如果我想用python做一个数独游戏,实现这个想法的步骤可以是怎么样的呢?编程新手

    作者回复: 这个想法不错,我一般会这样思考:
    1 python是否适合做数独?要在哪个平台做(手机还是电脑、windows、linux还是mac)?
    2 数独游戏的规则,怎么样转化成编程语言
    3 怎样处理用户交互,是否要计算数独的解?
    4 基于你提问的场景,我相信你希望通过编写一些有趣的游戏来使学习不那么枯燥,也利用数独算法来磨炼你的python技能和递归算法的掌握,而不是过多关注游戏的趣味性,因此图形界面,游戏的可玩性可以先不用管,用字符界面开发一个有核心玩法的数独对自己的python技能提升会比较大,希望对你有所帮助。

    1
  • 2019-06-20
    老师,我是做运维的,想问一下,运维方面有哪些python框架需要学习的呢?

    作者回复: 运维工作涵盖的技能很多,也需要使用不同的框架。使用框架的目的是因为1 框架比我自己写的好,解决问题的思路比我成熟 2 不用重复造轮子 ,这是用框架的最直接的目的。
    所以如果在运维工作中,要根据你的具体需求来确定框架,比如做个运维支持工具需要web框架,你需要从django 、flask 中选择一个和业务场景贴近的,你最熟悉的来使用。

    1
  • 2019-04-29
    老师,你好!
    我从2008年从事Windows平台后端服务器软件开发工作,一直使用Delphi语言开发。
    当前是离职状态,希望学习Python以及日后使用这门语言去寻找工作,期间我也熟练掌握了Linux的基本命令等。

    学习这套视频教程中,我发现仍然需要自己寻找一本Python配套的语法书,否则,具体语法肯定会漏。

    如今Python语法学习结束后,发现仍然是很迷茫;我之前一直从的是桌面软件,非Web方向。
    Web方向的开发需要学习的东西真的是太多了,不知道从哪里下手;Python的工作大部门从事的是Web方向。

    老师能否帮我分析下现在我该从哪里入手,奔着我的目标前行。
    在此,望老师回复我的问题,不甚感激。
    展开

    作者回复: 您好,web方向功能的强大的确是目前的一个好的就业方向,但是庞大的功能也包含了很多知识,让大家学起来产生了很多困惑。我提供其中一个学习的思路给你做个参考:
    1 由于你之前从事过windows平台的后端开发,所以可以从比较python语法和delphi语法的特点开始,那么完整的python语法其实官方文档是最全的,可以从https://docs.python.org/zh-cn/3.6/ 这里了解完整的python基础数据类型,从https://docs.python.org/zh-cn/3.6/whatsnew/3.6.html 比较新引入的特性,这些特性可以用来干什么活,解决什么问题。
    2 语法了解清楚之后就要了解常用的web框架了,业界比较流行的就是django、flask两个看自己和公司的需求来确定,加上mysql、MongoDB数据库,组成基本的web后端,如果工作需求对前端要求不高就扩展自己的后端开发能力,如果对前端要求比较高那你需要继续学习前端知识。
    3 接下来要看你的业务场景是否需要自己开发前端,如果前端也要掌握那就进入了另一个领域H5了,少不了html5、css、js ,当然现在也是框架了比如bootstap、vue.js
    这些都学下来发际线少不了要后退几十厘米,还是要根据岗位需求和自己的喜好程度来加深某一方面技术的学习。

    1
  • 2019-03-29
    dbdb 为什么不能通过 pip 安装呢?

    作者回复: pip是python的包管理器, 它只能按照在PyPI 上的软件包,而dbdb没有提交到PyPI(或者说作者写了这个包,但是没有公布给大家下载,自己用),用pip命令就找不到这个软件包

    1
  • 2019-03-29
    不理解 __name = __ main__ 是什么意思?

    作者回复: __name__ 是内置变量,当你单独运行一个B包的时候,这个__name__的值就是__main__ ,当你用A包调用B包时,__name__的值就是A包, 用于区分这个包是单独执行还是被其他包调用;

    因此一般会看到一个包的写法如下:
    包名称.py
    def 一个函数():
         函数要做的事情

    if __name__ == '__main__' :
        执行一个函数

    如果单独运行 python 包名称.py ,就执行这个函数, 如果用 import 包名称 ,就声明这个函数而不执行它

    1
  • 2019-03-19
    进阶课程希望有一个项目的案例,然后把案例整体先讲完,然后倒叙来进阶;更希望从底层来详解py,不知道底层实现原理,以后遇到问题不知道什么病因;

    作者回复: 好的,我把您的建议发给产品同学,感谢您的反馈。

    1
  • 2018-12-31
    老师,做运维的python需要掌握到哪种水平才能适应当前的社会需求

    作者回复: 能自动化或者半自动化你的变更,能用python解决重复性的工作,能用web方式展示和操作你的系统更佳

    1
  • 2019-11-05
    跟完了,我是一名java程序员,学起来不是很吃力,再次感谢老师

    作者回复: 希望有所收获!

  • 2019-08-30
    老师能否推荐一下更深入的讲解核心技术原理的书籍,比如迭代器,生成器,装饰器,元类等,还有django,flask等web框架的书籍,大数据分析与挖掘等方面的书籍

    作者回复: python原理的话,有《流畅的Python》,flask 、django 这类框架还是建议看官方文档,非最新版本一般有中文版,数据挖掘方面没有深入研究,不敢随便推荐

    1
  • 2019-05-22
    希望可以介绍一些爬虫攻防的机制,尤其ip代理这一块。

    作者回复: 可以参考Scrapy模块使用ip代理池(ippool)的解决方法来实现