为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
学习人数
综合评分9.43
3762人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀,表示这是一个 raw 字符串,里面的字符就不需要转义了。

    但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串(为什么?)

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

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

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

    上面这个字符串的表示方法和下面的是完全一样的:

    'Line 1\nLine 2\nLine 3'

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

    r'''Python is created by "Guido".
    It is free and easy to learn.
    Let's start learn Python in imooc!'''


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

    FE,a and b,a为true,输出a,若a为false则不输出

    a or b,a为true,输出a,若a为false,b为true输出b

    均为false,不输出

    查看全部
  • 如果要表示多行字符串,可以用'''...'''表示:

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

    'Line 1\nLine 2\nLine 3'与上完全相同

    查看全部
  • 吧新的元素增加到set 中,用set 的add()方法。

    如:

    >>>s = set ([1,2,3])

    >>>s.add(4)

    >>>print s 

    >>>set = ([1,2,3,4]),如果添加是元素已经在set 中,就加不上去;

    删除set 中的元素,用Set的remove()方法;如果删除的元素不存在,remove()会报错。

    查看全部
    0 采集 收起 来源:Python之 更新set

    2020-02-08

  • 切片:Slice,取指定索引范围,L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。

     L[::n]表示每n个取一个

    sum()函数可以对list、tuple求和

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

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

    2020-02-08

  • 可变参数:函数能接收任意个参数(0/1/多个),def average(*args)

    查看全部
  • set 内部结构和list 很像,区别在于set 不存储value;

    set 存储的 元素和dect 的key 类似,必须是不变对象,因此可变对象不能放入list中;

    set  的元素也是没有顺序的;

    查看全部
  • 默认参数的作用是简化调用,只能定义在必需参数的后面,如int('123')默认转换为十进制,int('123',8)转换为8进制

    查看全部
  • 存储的是无序集合。

    访问set 的某个元素实际上就是判断一个元素是否在set中。

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

    2020-02-08

  • print 可以用来判断真或错

    查看全部
  • 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。

    查看全部
  •  dict 对象的 items() 方法返回的值:
    >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    >>> print d.items()
    [('Lisa', 85), ('Adam', 95), ('Bart', 59)]

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

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

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


    查看全部
  • 有点难
    迭代dict的value我们已经了解了dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。如果我们希望迭代 dict 对象的value,应该怎么做?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 如果仔细阅读Python的文档,还可以发现,dict除了values()方法外,还有一个 itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一样:d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.itervalues() # <dictionary-valueiterator object at 0x106adbb50> for v in d.itervalues():     print v # 85 # 95 # 59 那这两个方法有何不同之处呢?1. values() 方法实际上把一个 dict 转换成了包含 value 的list。2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。


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

    2020-02-08

  • enumerate() 函数:
    列举(枚举)函数
    >>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
    >>> for index, name in enumerate(L):...     print index, '-', name
    ...


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

    2020-02-08

  • 递归:函数在内部调用自身,使用递归函数需注意防止栈溢出,函数调用就会加一层栈帧,函数返回会减一层栈帧。栈的大小有限,递归次数太多会导致栈溢出。

    阶乘 n! = 1 * 2 * 3 * ... * n,n!=n*(n-1)!,用fact()函数表示,fact(n)=n*fact(n-1)

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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