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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

    查看全部
  • 遍历集合其实就是迭代,在python中迭代是通过for……in……完成的,在其他语言中是通过下角标结合for循环完成的。python只关心迭代结果,而下角标迭代其实是明确了迭代内容是如何实现的。

    查看全部
    0 采集 收起 来源:什么是迭代

    2019-04-12

  • 字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。

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

    2019-04-12

  • list支持倒序切片,倒序第一个索引为-1,倒序切片包含起始索引,不包含结束索引。

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

    2019-04-12

  • list的切片L[a:b:c]表示从索引a,以步长c,取至索引b的元素但不包括索引为b的元素构成的新的list,其中a默认时指从0开始,从默认时表示步长为1,b默认时表示取至list的最后一个元素。其实这个过程用for语句也可以,但是呢会比较麻烦,另外range(a,b,c)函数表示的为从a以步长c到b的自然数,a默认0,c默认1,也是不包括b 。

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

    2019-04-11

  • 函数体参数可以为可变参数,此时将可变参数看成一个元组tuple即可,因此其为有序集合,可以使用len()函数获得其长度,可以使用for语句遍历其元素。

    查看全部
  • 函数默认参数之定义,函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面。

    另外求x的n次方的函数定义为:

    def power(x,n):

          s = 1 

          while n > 0:

                    n = n- 1

                    s = s * x

    return s 

    查看全部
  • set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。

    set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。



    查看全部
  • 二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

    >>> print d.get('Bart')
    59
    >>> print d.get('Paul')
    None
    
    输出两个参数,中间加逗号
    查看全部
    0 采集 收起 来源:Python之访问dict

    2019-04-11

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

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

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

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


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

    2019-04-11

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

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

    如果我们只想要偶数的平方,不改动 range()的情况下,可以加上 if 来筛选:

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

    有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。


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

    2019-04-11

  • int('123', 8)

    3*8^(0)+2*8^(1)+1*8^(2)=3+16+64=83   八进制的转换

    查看全部
  • 接上一个笔记 m(n=3,A,B,C)#第一次调用递归函数n不等于1所以下一级的3行函数都执行一次函数 m(n=2,A,C,B)#n>1再次调用执行函数一次 m(1,A,B,C)#此处为n-1#此处再次调用结束于n==1 m(1,A,C,B) m(1,C,A,B)#此处为n-1 m(1,A,B,C)#执行函数一次,只不过n=1所以没有再次调用函数 m(n=2,B,A,C)类推 m(1,B,C,A)#此处为n-1 m(1,B,A,C) m(1,A,B,C)#此处为n-1 a借助b移3到c就是 a借助c移2到b a移2到b就是…… a移两个盘时的底盘 有点疯了,有人看再补吧
    查看全部
  • 因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    查看全部
  • 7_5汉诺塔内部逻辑 m(2,A,B,C)#大写为实参手机码字其他答案中双引号 2>1 else: #计算以下三个 m(1#此处1是n-1,A,C,B)#就是将第一个盘移到b柱 m(1,A,B,C) m(1,B,A,C)#此1为n-1,将第一个m移到b柱的盘移到c柱 m(3,A,B,C) 3>1 else: m(2,A,C,B)#m(2)咋算在上边 m(1,A,B,C) m(2,B,A,C) 总结:其实就是从a到c移3个盘就是(从a到b移2个盘+从a到c移一个底盘+从b到c移两个盘),其实都是一个问题(a到b移两个盘不就是a到c移两个盘吗,3个盘可以转换为两次移两个盘+移动底盘那一次) 递归函数能解决的问题(看一个在这一章问答中转到百度知道的帖子我能找到再贴过来)大概意思就是前面可以推出后面的问题都可递归(个人理解),2盘知3盘3盘知4盘。数列1,2,4,8……,第n个数是xx,第n+1个数就是2倍的xx,这个问题就可用递归 汉诺塔递归函数其实就一句print a to c else下边的代码块把3个盘分解为两次移两个盘爱1次移底盘,然后移两个盘可以分解为2个移一个盘,加一次移底盘 最后n=3进入函数,不等于1,然后就要执行下边3行代码,3行中有两次是2所以再次调用move函数进入,不等于1所以这两次2各执行3行代码一次。大概意思就是只要n不等于1下面的函数都执行一此就是再调用一次此函数,n-1还大于1就是这个子问题中的问题了。 m(n=3,A,B,C) m(n=2,A,C,B) m(1)#此处为n-1 m(1) m(1)#此处为n-1 m(1,A) m(n=2) m(1) m(1) m(1)
    查看全部

举报

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

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