3-9 Python中的布尔类型

短路计算

True和False是布尔值,就像1,2,3是整数,“abc”是字符串一样。

做这个题,需要了解以下两点:

第一,在一个语句中,当and和or同时存在时,and的优先级高于or。

第二,所谓“短路原则”,即对于a and b来说,如果a为True,则返回b,如果a为False,则直接返回False;对于a or b来说,如果a为True,则返回a,如果a为False,则返回b。

对于这个题目来说,

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

此句话分拆为3步,

首先,a and 'a=T',已知a为True,则这部分返回值为'a=T',原语句相当于 print 'a=T' or 'a=F'

其次,'a=T' or 'a=F',or前后两个非空字符串,都认为是True,因此返回or前面的部分,'a=T'

最后,执行print命令。因此输出为'a=T'

4-7 Python之创建tuple

创建tuple和创建list唯一不同之处是用( )替代了[ ]。

现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试

4-8 Pyhton之创建单元素tuple

所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义

5-1 Python之if语句

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

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

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

6-3 Python中dict的特点

dict的缺点是占用内存大,还会浪费很多内容

存储的key-value序对是没有顺序的

作为 key 的元素必须不可变,key不能是list

6-6 Python中什么是set

set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

6-9 Python之遍历set

()tuple              []list                    {}dict                       ([])set

7-4 Python函数之返回多值

计算复杂函数时,2*a 不要写成 2a 。应多加括号来规定算术优先级

7-6 Python之定义默认参数

由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面(同C++)

8-2 倒序切片

L=range(1,101)      L是1-100          L=range(1,101,5)     在之前加了步长

L=range(10)           L是0-9

切边针对list,[起始索引:结束索引:步长]         倒数第一个元素是-1,正数第一个元素是0            字符串也能切边s[::]

9-2 索引迭代

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

9-3 迭代dict的value

dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key

dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,itervalues() 方法替代 values() 方法,迭代效果完全一样,优势是不占用内存空间

如果要迭代key和value,有items()方法和iteritems()方法,后者的优势也是节省内存空间

初识python 廖雪峰(慕课网)的更多相关文章

  1. python 廖雪峰的官方网站

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316119884678 ...

  2. Python廖雪峰学习笔记——操作文件和目录

    查看当前目录的绝对路径: >>>os.path.abspath('.') # 在某个目录下创建一个新目录, # 首先把新目录的完整路径表示出来: >>> os.pa ...

  3. Python廖雪峰学习笔记——单元测试

    定义:对一个模块.一个类.一个函数进行进行正确性检验的测试性工作.当我们对函数或者模块等进行修改时,单元测试就显得尤为重要. 单元测试 = 测试用例(用来测试的数据)+测试模块

  4. 廖雪峰官网学习js 数组

    indexOf( )    某字符的位置 slice 相当于string 的substring 切片 a = ['a','b',1,2,3] (5) ["a", "b&q ...

  5. 廖雪峰官网学习js 字符串

    操作字符串: length()           长度 totoLowerCase() 小写 toUpperCase()      大写 trim()            移除空白 charAt( ...

  6. 廖雪峰官网学习js 数据类型和变量

    数据类型: number 不分整数 和浮点数 字符串 用' '      "  "   表示 布尔值  true  false && 与运算符(都ture才ture ...

  7. Python自学笔记-生成器(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 生成器 通过列 ...

  8. Python自学笔记-lambda函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 匿名函数 通过 ...

  9. Python自学笔记-sorted()函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 排序算法 排序 ...

随机推荐

  1. 进程fork

    fork用于父进程创建一个子进程 返回两次 返回-1表示错误 父进程中返回创建子进程的ID,大于0 返回0是表示进入子进程 创建的子进程会继承父进程的属性,比如打开的文件描述符.工作目录.根目录等等. ...

  2. k短路算法

    k短路算法 求解k短路用到了A* 算法,A* ( A star )算法,又称启发式搜索算法,与之相对的,dfs与bfs都成为盲目型搜索:即为带有估价函数的优先队列BFS称为A*算法. 该算法的核心思想 ...

  3. Linux命令:yum命令

    YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 一.yum命令用法 yum repolist ...

  4. ABC155D - Pairs

    本题的模型是典型的求第k小问题,这个问题有2个不一样的点,一是任意选出2个数,不能是同一个,二是这个题有负数,那我们在原有的基础上就需要特判这两点,经典模型是2个数组相乘,此处是1个,那么一样可以枚举 ...

  5. 「CSP-S」2019年第一届Day1游记+题解

    「CSP-S」2019年第一届Day1游记+题解 Day 1 7:30 A.M. 8:10 A.M. 8:30 A.M. T1 格雷码 题目 考场经历+思考(正解) 8:50 A.M. T2 括号树 ...

  6. pytorch张量数据索引切片与维度变换操作大全(非常全)

    (1-1)pytorch张量数据的索引与切片操作1.对于张量数据的索引操作主要有以下几种方式:a=torch.rand(4,3,28,28):DIM=4的张量数据a(1)a[:2]:取第一个维度的前2 ...

  7. C# FileStream 对象的Seek()方法-----转载

    原创 kevin617 发布于2010-12-08 11:22:00 阅读数 8630 收藏展开 FileStream 可以随机读写文件 使用 Seek 方法 Seek()  ----------有两 ...

  8. 【转载】C#常用控件属性及方法介绍

    C#常用控件属性及方法介绍                                               目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文 ...

  9. ZCGL大数据项目优化组件布置

    1.经JMeter并发性能测试,每个HBaseService服务的并发请求上限大概是1K,为了支持5W个并发请求量,需要增加部署节点,相应需要增加部署路由网管Zuul,为了隐藏多个路由网管Zuul的I ...

  10. maven构建项目失败----99%

    删除工作空间信息,重新导入,问题解决, 该问题,可能是安装Spring IDE 导致的问题,eclipse兼容性问题