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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • L = range(1, 101)

    print L[0:10]
    print L[2::3]
    print L[4:50:5]


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

    2018-05-10

  • range()函数可以创建一个数列:

    >>> range(1, 101)
    [1, 2, 3, ..., 100]

    请利用切片,取出:

    1. 前10个数;
    2. 3的倍数;
    3. 不大于50的5的倍数。


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

    2018-05-10

  • def average(*args):
        if len(args)!=0:
            return sum(args)*1.0/len(args)
        else:
            return 0.0

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


    查看全部
  • def greet(name='world'):
        print "Hello,%s." % name

    greet()
    greet('Bart')


    查看全部
  • #-*- coding:utf-8 -*-
    # move(n, a, b, c)表示的是有n个盘子在a柱子上,将要移到b柱子上面去
    def move(n, a, b, c):
    # 如果a柱子上面只有一个盘子,则直接移到c柱子上面去并输出路径,结束递归
        if n == 1: 
            print a, '-->', c
            return
    # 表示的是将n-1的盘子从a柱子上面移到b柱子上面去
        move(n-1, a, c, b)
    # 输出最下面个盘子移从a移到c的路径
        print a, '-->', c
    # 将b柱子上面的n-1个盘子移动到c柱子上面
        move(n-1, b, a, c)

    move(4, 'A', 'B', 'C')


    查看全部
  • . isinstance(x, str) 可以判断变量 x 是否是字符串;

    查看全部
    0 采集 收起 来源:条件过滤

    2018-05-10

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

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

    2018-05-10

  • 列表生成式则可以用一行语句代替循环生成上面的list:

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

    这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。


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

    2018-05-10

  • 首先,我们看看 dict 对象的 items() 方法返回的值:

    >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    >>> print d.items()
    [('Lisa', 85), ('Adam', 95), ('Bart', 59)]


    查看全部
  • 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


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

    2018-05-10

  • 方法是使用 enumerate() 函数:

    >>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
    >>> for index, name in enumerate(L):...     print index, '-', name


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

    2018-05-10

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

    注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:
    1. 有序集合:list,tuple,str和unicode;
    2. 无序集合:set
    3. 无序集合并且具有 key-value 对:dict


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

    2018-05-10

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

    >>> 'ABCDEFG'[:3]
    'ABC'
    >>> 'ABCDEFG'[-3:]
    'EFG'
    >>> 'ABCDEFG'[::2]
    'ACEG'


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

    2018-05-10

  • 取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:

    >>> r = []

    >>> n = 3

    >>> for i in range(n):

    ...     r.append(L[i])

    ... 

    >>> r

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

    对应上面的问题,取前3个元素,用一行代码就可以完成切片:

    >>> L[0:3]

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

    如果第一个索引是0,还可以省略:

    >>> L[:3]

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


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

    2018-05-10

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

    def fn(*args):
        print args


    查看全部

举报

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

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