美文网首页
Python-控制流程笔记

Python-控制流程笔记

作者: 猿学长 | 来源:发表于2018-06-28 15:58 被阅读21次

    控制流程

    if语句

    if 语句是是一种条件语句,根据条件为 true 还是 false 运行或执行相关代码。下面是一个简单的示例:

    if phone_balance < 5:
        phone_balance += 10
        bank_balance -= 10
    

    我们来详细讲解下每部分。

    if 语句以关键字 if 开始,然后是要检查的条件,在此例中是 phone_balance < 5,接着是英文冒号。条件用布尔表达式指定,结果为 True 或 False。
    这行之后是一个条件为 true 时将执行的缩进代码块。在此例中,仅在 phone_balance 小于 5 时才执行使 phone_balance 递增和使 bank_balance 递减的行。如果不小于 5,这个 if 块中的代码将被跳过。

    If、Elif、Else

    除了 if 条件之外,if 语句经常还会使用另外两个可选条件。例如:

    if season == 'spring':
        print('plant the garden!')
    elif season == 'summer':
        print('water the garden!')
    elif season == 'fall':
        print('harvest the garden!')
    elif season == 'winter':
        print('stay indoors!')
    else:
        print('unrecognized season')
    

    if:if 语句必须始终以 if 条件开始,其中包含第一个要检查的条件。如果该条件为 True,Python 将运行这个 if 块中的缩进代码,然后跳到 if 语句之后的剩余代码。

    elif:elif 条件用来检查其他条件(前提是 if 语句中之前的条件结果为 False)。可以从示例中看出,可以使用多个 elif 块处理不同的情形。

    else:最后是 else 条件,它必须位于 if 语句的末尾。该条件语句不需要条件。如果 if 语句中所有前面的语句结果都为 False 时,将运行 else 块中的代码。

    缩进

    一些其他语言使用花括号来表示代码块从哪开始,从哪结束。在 Python 中,我们使用缩进来封装代码块。例如,if 语句使用缩进告诉 Python 哪些代码位于不同条件语句里面,哪些代码位于外面。

    在 Python 中,缩进通常是四个空格一组。请严格遵守该惯例,因为更改缩进会完全更改代码的含义。如果你是 Python 程序员团队的成员,则所有人都必须遵守相同的缩进惯例!


    For 循环

    Python 有两种类型的循环:for 循环和 while 循环。for 循环用来遍历可迭代对象。

    可迭代对象是每次可以返回其中一个元素的对象,包括字符串、列表和元组等序列类型,以及字典和文件等非序列类型。你还可以使用迭代器和生成器定义可迭代对象,我们将在这门课程的稍后阶段详细了解迭代器和生成器。

    我们来了解下 for 循环的各个组成部分。请看下面的示例:

    # iterable of cities
    cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
    
    # for loop that iterates over the cities list
    for city in cities:
        print(city.title())
    
    for 循环的组成部分

    循环的第一行以关键字 for 开始,表示这是一个 for 循环
    然后是 iteration_variable in iterable,表示正在被遍历的是可迭代的对象,并且用迭代变量表示当前正在被处理的可迭代对象的元素。在此示例中,迭代变量 city 在第一次迭代时将是“new york city”,在第二次迭代时将是“mountain view。
    for 循环头部始终以英文冒号 : 结束。
    for 循环头部之后的是在此 for 循环的每次迭代时运行的缩进代码块。在此块中,我们可以使用迭代变量访问当前正在被处理的元素的值。
    你可以随意命名迭代变量。常见模式是为迭代变量和可迭代对象指定相同的名称,但是分别使用单复数形式(例如 'city' 和 'cities)

    创建和修改列表

    除了从列表中提取信息之外,你还可以使用 for 循环创建和修改列表。你可以在 for 循环的每次迭代时向新列表中添加元素,创建一个列表。如下所示。

    # Creating a new list
    cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
    capitalized_cities = []
    
    for city in cities:
        capitalized_cities.append(city.title())
    

    修改列表稍微复杂些,需要使用新的函数:range()。

    range() 是一个内置函数,用于创建不可变的数字序列。它有三个参数,必须都为整数。

    range(start=0, stop, step=1)
    Start是该序列的第一个数字,stop比该序列的最后一个数字大 1,step是该序列中每个数字之间的差。如果未指定的话,start默认为 0,step 默认为 1(即上述 =0和 =1)。

    如果你在 range() 的括号里指定一个参数,它将用作 'stop' 的值,另外两个参数使用默认值。
    E.g. list(range(4)) 返回 [0, 1, 2, 3]
    如果你在 range() 的括号里指定两个参数,它们将用作 'start' 和 'stop' 的值,'step' 将使用默认值。 E.g. list(range(2, 6)) 返回 [2, 3, 4, 5]
    或者你可以为三个参数 'start、stop' 和 'step' 均指定一个值。 E.g. list(range(1, 10, 2)) 返回 [1, 3, 5, 7, 9]
    注意,在这些示例中,我们将 range 封装在列表中。因为 range 本身的输出是一个 range 对象。我们可以通过将其转换为列表或在 for 循环中遍历它,查看 range 对象中的值集合。

    我们可以使用 range 函数为 cities 列表中的每个值生成索引。这样我们便可以使用 cities[index] 访问列表中的元素,以便直接修改 cities 列表中的值。

    cities = ['new york city', 'mountain view', 'chicago', 'los angeles']
    
    for index in range(len(cities)):
        cities[index] = cities[index].title()
    

    虽然修改列表是 range 函数的一个用途,但是并非只有这一个用途。你将经常使用 range 和 for 循环重复某个操作一定的次数。

    for i in range(3)
        print("Hello!")
    

    相关文章

      网友评论

          本文标题:Python-控制流程笔记

          本文链接:https://www.haomeiwen.com/subject/gvdwyftx.html