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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • <img src="https://img1.sycdn.imooc.com//5acf14980001d03705000193.jpg" title="" alt="https://img1.sycdn.imooc.com//5acf14980001d03707520290.jpg" />
    查看全部
  • 1.迭代

    通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)迭代是通过 for ... in 来完成的,python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。迭代是一个动词,它指的是一种操作,在Python中,就是 for 循环。

    迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的

    2.索引迭代

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

    for key,value in enumerate(L):

        print key,":",value

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

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

    result:[(10, 'A'), (20, 'B'), (30, 'C')]

    3.迭代dict的value

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

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

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

    任何可迭代对象都可以作用于for循环

    4.迭代dict的key和value

    items() 方法把dict对象转换成了包含tuple的list,iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存

    eg: for k, v in d.iteritems(): 同for k, v in d.items()

        sum = sum + v

        print k,":",v


    查看全部
  • 遇到UnicodeDecodeError,可在第一行添加注释
    # -*- coding: utf-8 -*-
    查看全部
  • Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

    L = ['Adam', 'Lisa', 'Bart']
    for name in L:
        print name

    注意:  name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体


    查看全部
    0 采集 收起 来源:Python之 for循环

    2018-04-12

  • 要避免嵌套结构的 if ... else ...,我们可以用 if ... 多个elif ... else ...的结构,一次写完所有的规则:

    if age >= 18:
        print 'adult'elif age >= 6:
        print 'teenager'elif age >= 3:
        print 'kid'else:
        print 'baby'

    elif 意思就是 else if。这样一来,我们就写出了结构非常清晰的一系列条件判断。


    查看全部
  • 利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。

    注意: else 后面有个“:”


    查看全部
    0 采集 收起 来源:Python之 if-else

    2018-04-12

  • 切片:list tuple 字符串

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

     range(1, 101)

    [1, 2, 3, ..., 100]

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

    如果第一个索引是0,还可以省略只用一个 : ,表示从头到尾 L[:]实际上复制出了一个新list

    把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple

    倒序切片

    记住倒数第一个元素的索引是-1。倒序切片包含起始索引,不包含结束索引。

    L[-10:-1] 前面是小的数 切记


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

    2018-04-12

  • 缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

    注意: if 语句后接表达式,然后用:表示代码块开始。

    如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车


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

    2018-04-12

  •  Python代码的缩进规则。具有相同缩进的代码被视为代码块

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

    2018-04-12

  • tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

    理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。


    查看全部
  • #注释
    查看全部
  • 因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义


    查看全部
  • 逗号起到空格的作用

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

    2018-04-12

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

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

    查看全部

举报

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

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