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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环:

    >>> L = []
    >>> for x in range(1, 11):
    ...    L.append(x * x)
    ... 
    >>> L
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


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

    2018-05-24

  • 缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
    if 语句后接表达式,然后用:表示代码块开始。
    如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:
    查看全部
    0 采集 收起 来源:Python之if语句

    2018-05-24

  •  print('%s : %d' % (k, v))

    print 'average',':',sum(d.values()) * 1.0 / len(d)

    查看全部

  • 创建tuple和创建list唯一不同之处是用( )替代了[ ]

    查看全部
  • 递归:1.明确函数的最终结果

              2.明确起点,终点,过渡点

               只需要把精力放在完成最后‘一步’的步骤上。

    1. 执行move(n,a,b,c)的最终结果是,把a柱上n层转移到c柱上,同理,move(n-1,a,b,c)执行的最终结果是把a柱上n-1层转移到c柱上

    2. move(层数,起始位置,过渡位置,目标位置),所以如果写成move(n,c,b,a)则含义是把c柱上n层转移到a柱上,b柱作为过渡位置

    3. 回到move(n,a,b,c),该函数要如何完成?把上面n-1层看成一个整体,只需三步:a->b,a->c,b->c

      a->b实际上是把n-1层从a柱转移到b柱,c柱作为过渡位置,写成函数move(n-1,a,c,b)

      a->c是n=1,就是a->c

      b->c实际上是把n-1层从b柱转移到c柱,a柱作为过渡位置,写成函数move(n-1,b,a,c)

      至于move(n-1,a,b,c)此类函数如何执行,系统会自动根据上面的步骤下去

    查看全部
  • ,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:

    >>> for key, value in d.items():
    ...     print key, ':', value
    ... 
    Lisa : 85
    Adam : 95
    Bart : 59


    查看全部
  • Python 3.0 内的另一个重大改变是字典内dict.iterkeys(),dict.itervalues(),dict.iteritems()方法的删除。取而代之的是:dict.keys(),dict.values(),dict.items()

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

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

    for v in d.values():


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

    2018-05-24

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

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

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

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

    2018-05-24

  • 因为 Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。

    因此,迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素


    查看全部
    0 采集 收起 来源:什么是迭代

    2018-05-24

  • 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:

    >>> 'ABCDEFG'[:3]
    'ABC'

    字符串有个方法 upper() 可以把字符变成大写字母:

    >>> 'abc'.upper()
    'ABC'


    查看全部
    0 采集 收起 来源:对字符串切片

    2018-05-24

  • 对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试:

     L[-2:]
      L[:-2]
       L[-3:-1]
        L[-4:-1:2]


    查看全部
    0 采集 收起 来源:倒序切片

    2018-05-24

  • L = range(1, 101)


    print L[0:10]

    print L[2::3]

    print L[4:51:5]

    L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。(包含起始,不含结尾)

    第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

    查看全部
    0 采集 收起 来源:对list进行切片

    2018-05-24

  • def average(*args):

        if len(args) == 0:

            return 0.0

        if len(args) != 0:

            return sum(args)*1.0/len(args)

    print average()

    print average(1, 2)

    print average(1, 2, 2, 3, 4)


    查看全部
  • 如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:

    def fn(*args):
        print args

    可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:

    可变参数 args 是一个tuple,当0个参数传入时,args是一个空tuple。


    查看全部
  • 函数定义默认参数。默认参数必须在必须参数后面!!

    先给参数赋默认值,打印时引用此参数,引用格式'%s'%name

    调用只包含默认参数的函数可不传值,不传值打印默认参数值,传值则由赋值参数覆盖默认参数值

    def greet(name='world'):
        print'hello,%s'%name+'.'


    查看全部

举报

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

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