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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 空flase ,非空为真,  短路计算/  


    查看全部
  • 在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:

    a = True
    print a and 'a=T' or 'a=F'

    计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?

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


    查看全部
  • 第一个索引是0,倒数第一个元素的索引是-1。顺序/倒序切片包含起始索引,不包含结束索引。

    查看全部
    0 采集 收起 来源:倒序切片

    2018-04-18

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

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


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

    2018-04-18

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

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

    >>> L[:3]
    ['Adam', 'Lisa', 'Bart']

    也可以从索引1开始,取出2个元素出来:

    >>> L[1:3]
    ['Lisa', 'Bart']

    只用一个 : ,表示从头到尾:

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

    因此,L[:]实际上复制出了一个新list。

    切片操作还可以指定第三个参数:

    >>> L[::2]
    ['Adam', 'Bart']

    第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

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


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

    2018-04-18

  • def move(n, a, b, c):
        if n == 1:
            print a, '-->', b
        else:
            move(n-1, a, c, b)
            print a, '-->', b
            move(n-1, c, b, a)
    
    def move2(n, a, b, c):
        if n == 1:
            print a, '-->', c
        else:
            move2(n-1, a, c, b)
            print a, '-->', c
            move2(n-1, b, a, c)
    
    def Hanoi(n, a, b, c):
        if n % 2 == 1:
            move(n, a, b, c)
        else:
            move2(n, a, b, c)
    
    Hanoi(3, 'A', 'B', 'C')


    查看全部
  • 让他让他

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

    2018-04-18

  • 定义可变参数的目的也是为了简化调用。假设我们要计算任意个数的平均值,就可以定义一个可变参数:

    def average(*args):
        ...

    这样,在调用的时候,可以这样写:

    >>> average()
    0
    >>> average(1, 2)
    1.5
    >>> average(1, 2, 2, 3, 4)
    2.4


    查看全部
  • Python之定义可变参数

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

    def fn(*args):     print args

    可变参数的名字前面有个 号,我们可以传入0个、1个或多个参数给可变参数:

    >>> fn() () >>> fn('a') ('a',) >>> fn('a', 'b') ('a', 'b') >>> fn('a', 'b', 'c') ('a', 'b', 'c')


    查看全部
  • List之添加新元素:

    1、append()方法,直接追加在list末尾

    2、insert(pos,content),在指定位置添加指定的内容

    查看全部
  • Python之List的访问:

    1、按照序号从小到大的访问,序号起始为0,最大序号为List.length-1,访问不要越界

    2、(Python新特点):倒叙访问,如-1表示最后一个元素,这里是从-1开始访问的,同样访问不要越界。

    查看全部
  • Python内置数据类型List:有序的集合,随时添加和删除其中的元素

    查看全部
    0 采集 收起 来源:Python创建list

    2018-04-18

  • 当首先删除索引为 2 的Paul时,L变成了:

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

    这时,注意到Bart的索引已经从原来的3变成2了!

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

    d = {'Adam' : 95, 'Lisa' : 85, 'Bart' : 59, 'Paul' : 74}
    sum = 0.0
    for scores in d.values():  #这里的values()方法亦可加载dict的成绩:values
        sum = sum + scores
    print sum / len(d)


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

    2018-04-18

  • # -*- encoding=utf-8 -*-
    import math
    
    def quadratic_equation(a, b, c):
        d = b*b - 4 * a *c
        if d < 0:
            return None
        x2 = (-math.sqrt(d) - b) / (2*a)
        x1 = (math.sqrt(d) - b) / (2*a)
        return x1,x2
    
    print quadratic_equation(2, 3, 0)
    print quadratic_equation(1, -6, 5)
    #ax * ax + bx + c = 0
    #x*x + b/a*x + c/a = 0
    #x*x + b/a*x = - c/a
    #x*x  + 2*x* (b/(2*a)) + (b/(2*a)) * (b/(2*a)) = - c/a + (b/(2*a))*(b/(2*a))
    #(x + b/(2*a)) * (x + b/(2*a)) = (b/(2*a)) * (b/(2*a)) - c/a = (b*b) / (4*a*a) - (4*a*c) / (4*a*a)
    #x + b/2*a = 根号下 (b*b - 4*a*c) / (4*a*a)
    #x = ( 根号下 (b*b - 4*a*c) / 4*a*a ) -b/ (2*a)
    #x = +-根号下 (b*b -4*a*c) / 2*a - b / (2*a)
    #x1 =( 根号下 (b*b -4*a*c) - b ) / (2*a)
    #x2 =( - 根号下 (b*b -4*a*c) - b ) / (2*a)
    #哇擦 疯了


    查看全部

举报

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

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