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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.append('Paul')
    >>> print L
    ['Adam', 'Lisa', 'Bart', 'Paul']

    append()总是把新的元素添加到 list 的尾部。

    如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办?

    方法是用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

    >>> L = ['Adam', 'Lisa', 'Bart']
    >>> L.insert(0, 'Paul')
    >>> print L
    ['Paul', 'Adam', 'Lisa', 'Bart']

    L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。


    查看全部
  • 由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学:

    >>> L = ['Adam', 'Lisa', 'Bart']

    那我们如何从list中获取指定第 N 名的同学呢?方法是通过索引来获取list中的指定元素。

    需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。

    因此,要打印第一名同学的名字,用 L[0]:

    >>> print L[0]
    Adam


    查看全部
  • for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。

    查看全部
    0 采集 收起 来源:多层表达式

    2018-03-25

  • 要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算

    1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

    2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

    所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • 列表生成式的 for 循环后面还可以加上 if 判断

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

    2018-03-25

  • 因为Python把0空字符串''None看成 False其他数值非空字符串都看成 True

    查看全部
  • for a in set() 可以把set中的元素迭代出来进行判断

    查看全部
  • 为什么要区分整数运算和浮点数运算呢?这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数。

    那整数的除法运算遇到除不尽的时候,结果难道不是浮点数吗?我们来试一下:

    11 / 4    # ==> 2

    令很多初学者惊讶的是,Python的整数除法,即使除不尽,结果仍然是整数,余数直接被扔掉。不过,Python提供了一个求余的运算 % 可以计算余数:

    11 % 4    # ==> 3

    如果我们要计算 11 / 4 的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再运算就没问题了:

    11.0 / 4    # ==> 2.75


    查看全部
  • 如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

    # -*- coding: utf-8 -*-

    目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。


    查看全部
  • print L[0:10]#从第1个数元素开始取,到第11元素结束
    print L[2::3]#从第三元素开始取,每隔2个取一个元素
    print L[4:50:5]#从第五个取,每隔4个取一个,‘开始元素’:‘最后元素’:‘取元素间隔

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

    2018-03-25

  • 列表生成

    写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法

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

    2018-03-25

  • Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

    print u'中文'
    中文


    查看全部
  • 查看全部
    0 采集 收起 来源:Python之if语句

    2018-03-25

  • s = set (['Adam', 'Bart'])

    print 'Adam' in s

    返回值为ture

    大小写敏感

    查看全部
    0 采集 收起 来源:Python之 访问set

    2018-03-25

  • set() 中的元素是可迭代的

    查看全部

举报

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

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