Python基础6——控制流程与其他语句

三个循环,三个关键字
先来看看什么是可迭代对象:

  • 所有序列类型:list、tuple、str
  • 非序列类型
  • 自己定义的带有 _ iter _对象的

1.for循环:
for i in iterator: 一定要是一个可迭代对象。

for i in [1,2,3,4]:
    print (i)

2.if

if 条件语句:
    执行语句
elif  条件语句:      #这个可以有多个
    执行语句
else:
    执行语句

3、while

while 判断语句:
    执行语句

4、break
跳出循环

for i in range(11):
    if i == 5:
        break   #终止循环
    print(i)

5、continue

for i in range(11):
    if i == 5:
        continue    #跳过本次循环 continue后面的代码不执行,进入下次循环
    print(i)

6、pass
用于我们在写函数之初调试用,防止在函数功能我们没有想全之前程序报错

num = int(num)        #把str类型的数字转为int(整数)
if num > 0:           #判断为True则执行缩进部分的代码  if statement
    print('正数')
    num +=num
    print(num)
elif num < 0:         #else if会报错
    pass                #占位
elif num == 0:
    pass

7、序列解包
下面就是序列解包或者递归解包的操作——将多个值的序解开,然后放到变量的序列中。

>>> x,y,z = 1,2,3
>>> x
1
>>> y
2
>>> z
3
>>> values = 1,2,3
>>> x ,y,z = values
>>> x
1
>>> values = [4,5,6]
>>> x,y,z = values
>>> x
4

当函数或者方法返回元组(或者其他序列或者可迭代对象)时,这个特性尤其有用。假设需要获取(和删除)字典中任意的键值对,可以用popitem,这个方法将键值作为元组返回,那么这个元组就可以直接赋值到两个变量中:

>>> person = {'name':'Marry','age':24,'weight':100}
>>> key,value = person.popitem()
>>> key
'weight'
>>> value
100
>>> person
{'name': 'Marry', 'age': 24}

所解包的序列中元素必须和放置在赋值符号=左边的变量数量完全一致,否则Python会在赋值时产生异常:
但是Python3中可以用*表示这个变量将接收剩下的所有元素:

>>> a,b,*rest=[1,2,3,4]
>>> rest
[3, 4]

在for循环中使用序列解包遍历字典:

>>> person = {'name':'Marry','age':24,'weight':100}
>>> for key, value in person.items():
    print (key,value)

name Marry
age 24
weight 100

8、is
只需要注意is和==的区别:
is:判定同一性,也就是判断变量是否指向同一个对象
==:判定相等性,也就是判断变量指向的对象值是否相同

>>> x=y=[1,2,3]
>>> z=[1,2,3]
>>> x==y
True
>>> x==z
True
>>> x is y        #x,y指向同一个对象
True
>>> x is z        #x,z指向不同对象,但是两者值相同
False

9、列表推导式
非常好用的一个东西:利用其它列表创建新列表。

>>> [x*x for x in range(5)]
[0, 1, 4, 9, 16]
>>> [x*x for x in range(10) if x%3==0]    #也可以加一些限定条件
[0, 9, 36, 81]
>>> [(x,y) for x in range(2) for y in range(2)]
[(0, 0), (0, 1), (1, 0), (1, 1)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值