下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 27 | Python内建函数
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

精选留言(9)

  • 2018-09-26
    这个举例 减法 更加好,因为 加法 有交换律,而 减法 没有。
    然后我就被谁是x,是谁是y搞晕了。
    为什么后面的 [ ] list 是y,后面的 initial 是x,但是参数定义的顺序是前面是 x,后面是 y。

    作者回复: 好办法!

    3
  • 2018-10-17
    老师 我现在遇到这样一个问题。麻烦您有时间的时候帮我回复一下。先谢谢老师了。
    我们项目现在使用Python+AWS进行开发,让我开发的模块是异常处理部分,比如网络连接的时候出现问题,就要重试,如果重试了五次都没有成功,就更新AWS的dynamoDB中数据表的某些字段。我之前想使用现成的@retry这个语法糖,但是应该直接调用的时候应该是没办法做到。老师那边有什么好的建议吗?另外老师能不能帮我解释一下raise和try except的区别吗?谢谢老师了

    作者回复: 其实你可以模拟retry的方式,把写入数据的功能封装到自己的retry里面。
    try except简单来说是捕获异常,也就是发生了指定类型或者全部类型的异常可以用它来触发你想做的逻辑处理,而raise是默认的异常不满足你的需求,需要编写自己的异常的语句。例如try except可以捕获网络连接超时的timeout异常,但是如果用户反复输入错误密码,你也想当做异常捕获,是没有特定的异常捕获的,这时候你可以通过raise产生自己定义的这种异常,进行捕获并处理。

    1
  • 2019-12-03
    老师请问一下,下面代码中为什么只能输出第一个print
    d1=zip((1,2,3),(4,5,6))
    print(dict(d1))
    for i in d1:
        print(i)

    作者回复: d1的类型是<class 'zip'>,通过type(d1) 可以查到,
    zip类型是一个迭代器,通过dir(d1) 可以看到
    迭代器有个特点就是一次生成一个元素,是用dict(d1),相当于一次性把zip() 对象的内容都取走了,所以 后面的 for in 结构取不到数据(或者说for in 结构里面的d1 已经是空的了)

  • 2019-11-14
    tpl1 = (1, 2, 3), (4, 5, 6)
    for j in zip(tpl1):
        print(j)
    # 返回:
    # ((1, 2, 3),)
    # ((4, 5, 6),)

    for k in zip((1, 2, 3), (4, 5, 6)):
        print(k)
    # 返回:
    # (1, 4)
    # (2, 5)
    # (3, 6)

    怎么解释
    展开

    作者回复: print(tpl1)
    # ((1, 2, 3), (4, 5, 6))
    zip( ((1, 2, 3), (4, 5, 6)) ) 和
    zip( (1, 2, 3), (4, 5, 6) )
    比较一下他们的区别?

  • 2019-10-03
    没看到 filter 和 map 的区别,从示例上来看二者没什么区别。

    作者回复: 网上最多的演示就是取奇数的例子了,分别用filter和map看看返回值体会一下他们的差别
    >>> list(filter(lambda x:x%2 == 1 ,range(1, 10)))
    [1, 3, 5, 7, 9]
    >>> list(map(lambda x:x%2 == 1 ,range(1, 10)))
    [True, False, True, False, True, False, True, False, True]

  • 2019-08-28
    为什么item下标从1开始而不是item[0]呢
  • 2019-06-20
    老师这里的lambda x: x>2 是
    def a(x):
           if x>2:
             return x
    这个函数的lambda表达式吗
    如果return的不是x该怎么缩写呢 谢谢
    展开

    作者回复: 希望返回值是x 的时候 才使用 lambda 表达式,不是所有的函数都可以写成lambda 表达式的哦

  • dict1 = {'a':'aa', 'b':'bb'}
    dict2 = zip(dict1.values(),dict1.keys())
    print(dict1)
    print(dict(dict2))
    a = dict(dict2)
    print(a)

    老师,想问一下这里为什么 a的打印是一个空字典而不是dict2
    展开

    作者回复: dict2不是字典类型,它是zip类型,zip类型是可迭代的,因此无法像字典一样再次取得数据,可以通过type(dict2) help(dict2) 查看更多内容

  • 2018-09-18
    迭代器 iterator 和 列表 list 用途范围有区别么?filter 第二个参数不是说是 iterator 么,怎么就传入了一个 list 了呢?

    作者回复: iterator迭代器是函数,list是列表,同类型数据并列使用一般用列表,函数里可以使用列表和其他数据结构,也就是说函数可以包含更复杂的逻辑。另外通过help(filter)可以看到它对第二个参数的要求是iterable可迭代,而不是iterator迭代器,无论是iterator 还是list都有可迭代的能力,因此传入列表没有问题