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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。但是r'...'表示法不能表示多行字符串,也不能表示包含'"的字符串。

    如果要表示多行字符串,可以用'''...'''表示:

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

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

    查看全部
  • Python中替换元素

    假设现在班里仍然是3名同学:

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

    现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。

    另一个办法是直接用Paul把Bart给替换掉:

    >>> L[2] = 'Paul' >>> print L L = ['Adam', 'Lisa', 'Paul']

    对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。

    由于Bart还可以用 -1 做索引,因此,下面的代码也可以完成同样的替换工作:

    >>> L[-1] = 'Paul'


    查看全部
  • 字符串可以用''或者""括起来表示。字符串本身包含'时我们要表示字符串 I'm OK ,这时,可以用" "括起来表示;如果字符串包含",我们就可以用' '括起来表示;

    如果字符串既包含'又包含",就需要对字符串的某些特殊字符进行“转义”,Python字符串用\进行转义。例如:表示字符串 Bob said "I'm OK".可以表示为

    'Bob said \"I\'m OK\".'

    常用的转义字符还有:

    \n 表示换行
    \t 表示一个制表符
    \\ 表示 \ 字符本身

    查看全部
  • Python从list删除元素

    Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?

    如果Paul同学排在最后一个,我们可以用list的pop()方法删除:

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

    pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。

    如果Paul同学不是排在最后一个怎么办?比如Paul同学排在第三:

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

    要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉:

    >>> L.pop(2) 'Paul' >>> print L ['Adam', 'Lisa', 'Bart']


    查看全部
  • Python之添加新元素

    现在,班里有3名同学:

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

    今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢?

    第一个办法是用 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同学,以及后面的所有同学,都自动向后移动一位。


    查看全部
  • 在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头;

    在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量;(动态语言  更灵活)

    静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。(如Java,C)

    理解变量在计算机内存中的表示也非常重要。当我们写:a = 'ABC'时,Python解释器干了两件事情:

    1. 在内存中创建了一个'ABC'的字符串;

    2. 在内存中创建了一个名为a的变量,并把它指向'ABC'。也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据。

    查看全部
  • Python之倒序访问list

    我们还是用一个list按分数从高到低表示出班里的3个同学:

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

    这时,老师说,请分数最低的同学站出来。

    要写代码完成这个任务,我们可以先数一数这个 list,发现它包含3个元素,因此,最后一个元素的索引是2:

    >>> print L[2] Bart

    有没有更简单的方法?

    有!

    Bart同学是最后一名,俗称倒数第一,所以,我们可以用 -1 这个索引来表示最后一个元素:

    >>> print L[-1] Bart

    Bart同学表示躺枪。

    类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示:

    >>> print L[-2] Lisa >>> print L[-3] Adam >>> print L[-4] Traceback (most recent call last):   File "<stdin>", line 1, in <module> IndexError: list index out of range

    L[-4] 报错了,因为倒数第四不存在,一共只有3个元素。

    使用倒序索引时,也要注意不要越界。


    查看全部
  • Python的注释以 # 开头,后面的文字直到行尾都算注释

    查看全部
    0 采集 收起 来源:Python的注释

    2018-12-27

  • Python按照索引访问list

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

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

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

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

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

    >>> print L[0] Adam

    要打印第二名同学的名字,用 L[1]:

    >>> print L[1] Lisa

    要打印第三名同学的名字,用 L[2]:

    >>> print L[2] Bart

    要打印第四名同学的名字,用 L[3]:

    >>> print L[3] Traceback (most recent call last):   File "<stdin>", line 1, in <module> IndexError: list index out of range

    报错了!IndexError意思就是索引超出了范围,因为上面的list只有3个元素,有效的索引是 0,1,2。

    所以,使用索引时,千万注意不要越界。


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

    对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:

    >>> [m + n for m in 'ABC' for n in '123']
    ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']


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

    2018-12-27

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

    >>> [x * x for x in range(1, 11) if x % 2 == 0]
    [4, 16, 36, 64, 100]



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

    2018-12-27

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

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

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


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

    2018-12-27

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


    和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。

    查看全部
  • 我们已经了解了dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。


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


    dict除了values()方法外,还有一个 itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一样。


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

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


     

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

    2018-12-27

  • Python中,迭代永远是取出元素本身,而非元素的索引。

    对于有序集合,元素确实是有索引的。有的时候,我们确实想在 for 循环中拿到索引,怎么办?

    方法是使用 enumerate() 函数


    enumerate() 函数把:

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

    变成了类似:

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

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





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

    2018-12-27

举报

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

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