python学习笔记_05(流程控制)

本文详细介绍了Python中的流程控制语句,包括条件语句、循环语句及其高级用法,如并行迭代和按索引迭代。此外,还深入探讨了Python中的赋值技巧,包括序列解包、链式赋值和增量赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程控制


  • print小用法

    #1. 一次打印多个值,用逗号隔开,每个参数间插入空格
    >>> print 'age:', 42
    age: 42
    #2. 打印不换行,结尾加上逗号
    print 'Hello',
    print 'World!'
  • 赋值魔法-序列解包

    #1. 多个赋值同时进行,可以用于交换变量
    >>> x, y, z = 1, 2, 3
    >>> print x, y, z
    1 2 3
    >>> x, y = y, x
    >>> print x, y
    2 1
    #2. 序列解包,将多个值的序列解开,然后放入变量中,当函数返回元组,此特性尤其有用,解包的序列元素数量与变量数量完全一致
    >>> values = 4, 5, 6
    >>> values
    (4, 5, 6)
    >>> x, y, z = values
    >>> print x, y, z
    4 5 6

    python3中有另一个解包特性,左侧变量数量与序列元素数量不一致是可以使用*号运算符,例如,a, b, *rest = [1, 2, 3, 4],rest的结果[3, 4]

  • 赋值魔法-链式赋值

    x = y = somefunc()
    #等价于
    y = somefunc()
    x = y
  • 赋值魔法-增量赋值

    #python中不支持++,--运算符
    #值支持+=,-=,/=等待,称为增量赋值
  • 语句块,语句块以“:”开始,同缩进的表示同一个语句块,回退到和已闭合的块一样的缩进时表示当前块结束

1. 条件语句
1.1 布尔值

False None 0 “” () [] {}被解释器看做假(False),其他一切都解释为真

  • bool()把其他类型转换为布尔值

尽管“”和[]都是假(即bool("") == bool([]) == False),但是"" 和 []本身是不相等的,即"" != [],其他也是类似

1.2 if语句
if con1:
    pass
elif con2:
    pass
.
.
.
else:
    pass

python比较与赋值一样支持连接比较,比如0 < age < 100

1.3 while语句
while cond:
    pass
name = ''
while not name:
    name = raw_input('Please enter your name:')
print 'Hello, %s' % name

while可以接一个else子句,else只在循环正常结束时才调用

1.4 for语句

可迭代对象是指可以按次序迭代的对象

>>> words = ['this', 'is', 'an', 'ex', 'parrot']
>>> for word in words:
	print word

	
this
is
an
ex
parrot

#字典迭代
>>> d = {'x':1, 'y':2, 'z', 3}
>>> for key in d:
	print key

	
y
x
z

python需要循环指定范围的,使用range和xrange

1.5 迭代工具
  • 并行迭代,zip()
    >>> names = ['anne', 'beth', 'george', 'damon']
    >>> ages = [12, 45, 32, 102]
    >>> zip(names, ages)
    [('anne', 12), ('beth', 45), ('george', 32), ('damon', 102)]
    >>> for name, age in zip(names, ages):
    	print name, 'is', age
    
    	
    anne is 12
    beth is 45
    george is 32
    damon is 102

    zip可以左右于任意多的序列,zip可以处理不等长的序列,当最短的序列用完就会停止

    zip(range(5), xrange(10000))

    [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]

  • 按索引迭代,enumerate()
    >>> strings = ['this', 'is', 'an']
    >>> for index, val in enumerate(strings):
            print index, val
    
            
    0 this
    1 is
    2 an       
1.6 跳出循环
  • break,跳出当前循环
  • continue,结束本次循环,继续下一轮循环
  • else,while和for循环都可以使用一个else子句,else子句在循环正常结束时执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值