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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • O5
    汉诺塔充分体现了递归的思想: 从最简单的情况2层来分析,抽象出3个步骤: 1.把第一层放到b上; 2.把最后一层也即底盘放到c上; 3.把前第一层放到c上,完成; 当3层时: 1.把前两层放到b上; 2.把最后一层也即底盘放到c上; 3.把前两层放到c上,完成; 这里有一个关键的思路:第一步把前两层放到b上要怎么完成呢? 那就是汉诺塔规则的原理:借助其他棒子,把一个棒子上的盘移动到另一根棒子上,大盘不可放在小盘上,一次只移动一个盘。 现在,不管第三层,因为规则上说前面的层总是可以放在下面的层上面,所以问题变为把前面两层放到c上。所以重复之前只有两层的步骤就可以了。 以此类推,当变为n层时,把前n-1层看做一个整体: 1.把前n-1层放到b上; 2.把最后一层也即底盘放到c上; 3.把前n-1层放到c上,完成;
    查看全部
  • 短路计算。 1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
    查看全部
  • 运行如下代码: a = 'python' print 'hello,', a or 'world' ====>hello, python b = '' print 'hello,', b or 'world' ===>hello, world 通过 or 运算,可以把空字符串“变成”默认字符串,而非空字符串保持不变。
    查看全部
  • Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True,所以: True and 'a=T' 计算结果是 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
    查看全部
  • 我们需要注意运算顺序,并不是存在浮点数计算结果就一定是准确的浮点数
    查看全部
  • 要计算 11 / 4 的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再运算就没问题了: 11.0 / 4 # ==> 2.75
    查看全部
  • Python的整数除法,即使除不尽,结果仍然是整数,余数直接被扔掉。不过,Python提供了一个求余的运算 % 可以计算余数
    查看全部
  • 和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数
    查看全部
  • 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层
    查看全部
  • Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致
    查看全部
  • (1)方法一 # -*- coding: utf-8 -*- print '静夜思 \n\n床前明月光,\n疑是地上霜。\n举头望明月,\n低头思故乡。' (2)方法二 print u'''静夜思 床前明月光, 疑是地上霜。 举头望明月, 低头思故乡。'''
    查看全部
  • Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如: print u'中文' 中文 注意: 不加 u ,中文就不能正常显示。
    查看全部
  • 如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释 # -*- coding: utf-8 -*-
    查看全部
  • 列表生成式的 for 循环后面还可以加上 if 判断。只有if为true时,才把循环的当前元素添加到列表中; isinstance(x,str)可判断变量x是否为字符串; s.upper()返回s的大写字母
    查看全部
    0 采集 收起 来源:条件过滤

    2016-01-10

  • 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

    2018-03-22

举报

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

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