为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
初识Python_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 计算布尔值

    print 100<99


    查看全部
  • 默认参数只能定义在必须参数后面


    查看全部
  • 递归函数太精妙了

    查看全部
  • L[0],L[2]=L[2],L[0]

    解构赋值,学习了!厉害!

    查看全部
  • 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。

    查看全部
  • 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

    查看全部
  • 如果要表示多行字符串,可以用'''...'''表示:

    '''Line 1
    Line 2
    Line 3'''

    上面这个字符串的表示方法和下面的是完全一样的:

    'Line 1\nLine 2\nLine 3'

    还可以在多行字符串前面添加 r ,把这个多行字符串也变成一个raw字符串

    r'''Python is created by "Guido".
    It is free and easy to learn.
    Let's start learn Python in imooc!'''


    查看全部
  • 要调用一个函数,需要知道函数名称参数,比如求绝对值的函数 abs,它接收一个参数。

    可以直接从Python的官方网站查看文档:
    http://docs.python.org/2/library/functions.html#abs

    也可以在交互式命令行通过 help(abs) 查看abs函数的帮助信息。


    查看全部
  • !!!标注(看得懂不会写系列):

    if score < 60:
           return '<tr><td>%s</td><td >%s</td></tr>' % (name, score)
    如果 分数小于60:
          返回‘行开始’‘第一格开始’‘代替符(姓名)’‘第一格结束’‘第二格开始’‘表格变成红色’‘代替符(分数)’ ‘第二格结束’‘行结束’《代替符(姓名,分数)》

    查看全部
    0 采集 收起 来源:复杂表达式

    2018-04-13

  • 写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来

    任务

    请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]

    提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]

    • 把每次循环的 x 变成列表中的元素 x * (x + 1)

      参考代码:

      print [x * (x + 1) for x in range(1, 100, 2)]


    查看全部
    0 采集 收起 来源:生成列表

    2018-04-13

  • dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。

    如果我们希望迭代 dict 对象的value,应该怎么做?

    dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    print d.values()
    # [85, 95, 59]for v in d.values():    print v# 85# 95# 59

     itervalues() 方法:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    print d.itervalues()
    # <dictionary-valueiterator object at 0x106adbb50>for v in d.itervalues():
        print v
    # 85
    # 95
    # 59

    那这两个方法有何不同之处呢?

    1. values() 方法实际上把一个 dict 转换成了包含 value 的list。

    2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。

    3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。


    查看全部
    0 采集 收起 来源:迭代dict的value

    2018-04-13

  • 使用 enumerate() 函数,可在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:

    ['Adam', 'Lisa', 'Bart', 'Paul']

    变成了类似:

    [(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]

    因此,迭代的每一个元素实际上是一个tuple:

    for t in enumerate(L):
        index = t[0]
        name = t[1]
        print index, '-', name

    如果我们知道每个tuple元素都包含两个元素,for循环又可以进一步简写为:

    for index, name in enumerate(L):
        print index, '-', name

    这样不但代码更简单,而且还少了两条赋值语句。

    可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

    任务

    zip()函数可以把两个 list 变成一个 list:

    >>> zip([10, 20, 30], ['A', 'B', 'C'])
    [(10, 'A'), (20, 'B'), (30, 'C')]

    在迭代 ['Adam', 'Lisa', 'Bart', 'Paul'] 时,如果我们想打印出名次 - 名字(名次从1开始),请考虑如何在迭代中打印出来。

    提示:考虑使用zip()函数和range()函数


    查看全部
    0 采集 收起 来源:索引迭代

    2018-04-13

  • d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    查看全部
  • sum()函数接受一个list作为参数,并返回list所有元素之和。

    查看全部
  • 要调用一个函数,需要知道函数名称参数,比如求绝对值的函数 abs,它接收一个参数。

    查看全部

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!