Python(5)循环和判断

8、条件判断

python里的判断语句,和js的逻辑是相同的,但语法差别很大。

主要表现在以下几点:

【1】python里,if条件成立后,判断执行哪些语句是依靠缩进的。而js是靠大括号。

所有需要执行的代码都要缩进,不执行的代码和if保持同级。

示例代码如下:

foo = 1
if foo == 1:
    print('foo == 1')
else:
    print('foo != 1')
print('end')
# foo == 1
# end

解释:

第二行代码判断结果为true后,执行了从下一行开始缩进的代码,并且执行到没有缩进的代码为止(即第三行)。

并且跳过了第四行代码之后,缩进了的代码(即第五行)。

遇见未缩进的代码(第六行)开始继续执行。

【2】python的判断语句里,没有括号,而是if后面,接一个空格,再接判断语句,再接冒号。

特殊点就是一没空格,二是结尾多一个冒号。

比如上面第二行代码的组合是if + 空格 + foo == 1 + :

【3】三个判断语句是:ifelifelse

第一个和第三个大家一般很熟悉,第二个其实就是else if,只不过在python里写作elif,使用思路和else if是一致的。

如果不懂else if是什么的话,这个我也很尴尬啊。

foo = 2
if foo == 1:
    print('foo == 1')
elif foo == 2:
    print('foo == 2')
else:
    print('foo')
# foo == 2

【4】如果只有if没有else,可以直接if 变量来进行判断。

这种写法相当于简写,根据变量是否是true来决定语句是否执行。

只要变量是非零数值、非空字符串、非空list等,就判断为True,否则为False。

如示例代码:

foo = []
if foo:
    print('true')
else:
    print('false')

注意:

js里空数组隐式转换结果是true,但是python里是False

9、for…in

基本可以理解为js里的for...in

可以遍历list、字符串等。

注意结尾也是有冒号

如果不懂js里的for...in,那我也很尴尬,看示例吧。

foo = 'abc'
for i in foo:
    print(i)
bar = [1, 2, 3]
for i in bar:
    print(i)
# a
# b
# c
# 1
# 2
# 3

10、while

用法还是跟js里的while是一样的,依然记得结尾加冒号

foo = 1
while foo < 3:
    print(foo)
    foo = foo + 1
print('end')
# 1
# 2
# end

11、break

就是直接结束循环,开始下面搞事咯。示例代码看完秒懂

print('before while')
while True:
    print('before break')
    break
    print('after break')
print('after while')
# before while
# before break
# after while

假如不加这个break,那么由于while是判断条件是True,应该陷入死循环才对。

然而加了break之后,就直接跳槽while循环,没有执行while内部语句的print('after break')

(好在,虽然会死循环,但不像js那样直接卡死浏览器,停止运行即可)

12、continue

同样类似,表示跳过这次循环,开始下一次。

如代码:

foo = [1, 2, 3]
for i in foo:
    if i != 3:
        continue
    print(i)
# 3

不是3的时候,开始下一次循环;是3的时候,打印i。于是打印结果是3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值