初识python 廖雪峰(慕课网)

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()方法,后者的优势也是节省内存空间

posted @ 2019-04-18 16:37  yawenw  阅读(508)  评论(0编辑  收藏  举报