-
短路计算。
1. 在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。2. 在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。查看全部 -
a=Ture print a and 'a=T' or 'a=f' 计算过程: True and 'a=T' 继续计算 'a=T' or 'a=F' 计算结果还是'a=T'
与运算:只有两个布尔值都为Ture时,计算结果才是True.
或运算:只要有一个值为True,计算结果就为True。
非运算:把True变为False,或者把False变为True。
短路计算:
在计算 a and b 时, 如果a是True ,根据运算法则,结果取决于b,因此返回b,反之则返回a;
在计算 a or b 时,如果a是True,根据运算法则,结果必定为True,因此返回a,反之则返回b;
查看全部 -
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if 'Paul' in d: print d['Paul']
如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get('Bart') 59 >>> print d.get('Paul')
查看全部 -
1.可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
查看全部 -
dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
可以试试用list作为key时会报什么样的错误。
不可变这个限制仅作用于key,value是否可变无所谓:
{ '123': [1, 2, 3], # key 是 str,value是list 123: '123', # key 是 int,value 是 str ('a', 'b'): True # key 是 tuple,并且tuple的每个元素都是不可变对象,value是 boolean}
最常用的key还是字符串,因为用起来最方便。
查看全部 -
pop()方法总是删掉list的最后一个元素
查看全部 -
append()总是把新的元素添加到 list 的尾部
L.insert(0, 'Paul') 添加位置意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。
查看全部 -
python中的整数和浮点型
使用括号可以提升优先级,这和数学计算完全一样,注意只能使用小括号,但是括号可以嵌套很多层。
和数学运算不同的是,python的整数运算结果仍然是整数,浮点数运算结果任然是浮点型。
但是整数和浮点数混合运算结果就变成浮点数了。
查看全部 -
要计算除法的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再运算。
查看全部 -
3-2 Python之print语句
代码:
print 'Hello,Python!' ptint 1+2
上面就是print语句了。
查看全部 -
3-1 Python中数据类型
代码:
print 45678 + 0x12fd2 print 'Learn Python in imooc' print 100 < 99 print 0xff == 255
以上为设置字符串或布尔值的代码,<与==可以判断布尔值,加油!!!??
查看全部 -
定义一个函数用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后在缩进块中编写函数体、函数的返回值用 return 语句返回。
如:
def my_abs(x): if x >= 0: return x else: return -x
查看全部 -
我们先看看定义的时候tuple包含的3个元素:
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
查看全部 -
因为
()
既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
查看全部 -
创建tuple和创建list唯一不同之处是用
( )
替代了[ ]
。现在,这个
t
就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素
查看全部
举报