=和==
=赋值,==判断是否相等。
If(c == 1)写成if(c=1)会直接报错,Python中if条件中不允许赋值。(C语言中允许)
+号
数字之间是计算和,字符串之间是拼接的意思
如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
>>>str = r'C:\Program Files\FishC\Good''\\'
请问以下代码会打印多少次****?
while 'C':
print('C!')
无穷次 c永远为真
请写出与 10 < cost < 50 等价的表达式
(10 < cost) and (cost < 50)
Python3 中,一行可以书写多个语句吗?
可以,语句之间用分号隔开即可,不妨试试:
>>> print('I love you);print('very much!')
Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行
>>> 3 > 4 and \
1 < 2
或者是
>>> ( 3 > 4 and
1 < 2 )
Python的 and 操作符 和C语言的 && 操作符 有何不同?
举个例子,假设我们现在要判断x是否等于1,并且y是否等于2,用C语言,判断语句这么写:
if( x==1 && y==2 )
用Python,这么写:
if x==1 and y==2:
或者
if (x==1 and y==2):
听说过“短路逻辑(short-circuit logic)”吗
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。
Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
如果回答是 1.5 那么很遗憾,您受到 C 语言的影响比较大,Python 这里会义无反顾地执行 floor 除法原则,答案是:1.0
a < b < c 事实上是等于?
(a < b) and (b < c)
幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低
5 ** -2 为1/25
关于and和or。
请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
如果你的回答是 0,那么你中招了!
答案是:4
not or and 的优先级是不同的:not > and > or
我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4
为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4
关于not
if not (money < 100): 这行代码相当于?if money >= 100:
assert****的作用是什么?
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
x = 1,y = 2,z = 3将变量的值互相交换
x, y, z = z, y, x
三元运算符
true_part if condition else false_part
成员资格运算符
1. >>> name = '小鱼'
2. >>> '鱼' in name
3. True
4. >>> '肥鱼' in name
5. False
range
下面的循环会打印多少次"I Love you"?
1. for i in range(0, 10, 2):
2. print('I Love you')
5 次,因为从 0 开始,到 10 结束,步进为 2。
ange(10) 生成哪些数?
会生成 range(0, 10),list(range(0, 10)) 转换成列表是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],注意不包含 10 哦。