python训练营-python入门(上[续])

本文详细介绍了Python编程中的条件语句,包括if、if-else、if-elif-else,以及assert关键词。接着讲解了循环语句,如while循环、for循环及其与else的结合使用,还有range()函数和enumerate()函数的应用。此外,还讨论了break、continue、pass语句的作用,并介绍了推导式和异常处理,包括try-except、try-finally、try-except-else等异常处理结构。
摘要由CSDN通过智能技术生成

注:基于天池python训练营和学习过程中的一些补充知识

条件语句

  • if 语句
    If语句仅处理条件成立的情况,当表达式为真时,执行相应的语句块(一条或多条语句);当表达式为假时,直接跳出if语句,执行其后面的语句。
    语法格式为:
    在这里插入图片描述
    输入两个数,进行排序。
    在这里插入图片描述

  • if - else 语句
    如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
    在这里插入图片描述
    在这里插入图片描述

  • if - elif - else 语句
    If-elif-else语句主要用于处理多种条件的情况,从而解决现实生活中复杂的多重选择问题,如果表达式1的值为真,则执行相应的程序段1;如果表达式1的值为假,则继续判断表达式2的值,如果表达式2的为真,则执行程序段2,如果表达式2的值为假,则继续判断表达式3的值……最后执行else后面的程序段。
    例如:将百分制转换为五级记分制。
    在这里插入图片描述

  • assert 关键词
    Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况。

    my_list = ['lsgogroup']
    my_list.pop(0)   #  删除列表元素
    assert len(my_list) > 0   # 条件为假,触发AssertionError异常
    
    

循环语句

  • while 循环
    while语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于while代码块的缩进语句。

    while 布尔表达式:
    	代码块
    

    while循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。
    如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。
    例如:求10!
    在这里插入图片描述

  • while - else 循环

    while 布尔表达式:
        代码块
    else:
        代码块
    

    当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。

  • for 循环
    for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict。

    for 迭代变量 in 可迭代对象:
        代码块
    

    在这里插入图片描述
    每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用。

  • for - else 循环

    for 迭代变量 in 可迭代对象:
        代码块
    else:
        代码块
    

    当for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容,与while - else语句一样。

  • range() 函数

    range([start,] stop[, step=1])
    
    • 这个BIF(Built-in functions,内置函数)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
    • step=1 表示第三个参数的默认值是1。
    • range 这个BIF(内置函数)的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,该序列包含start的值但不包含stop的值。
      在这里插入图片描述
  • enumerate()函数

    enumerate(sequence, [start=0])
    

    sequence:一个序列、迭代器或其他支持迭代对象。
    start:下标起始位置。
    返回 enumerate(枚举) 对象

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    lst = list(enumerate(seasons))
    print(lst)
    # [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    
  • break、continue语句
    break语句可以跳出当前所在层的循环。
    continue终止本轮循环并开始下一轮循环。

    for l in 'python':
    	if l =='h':
    		break
    	print(l,end=',')  #输出p,y,t
    
    for i in range(4):
    	if i == 2:
        	continue
    	print(i)
    
  • pass 语句
    pass 语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而 pass 语句就是用来解决这些问题的。

    def a_func():
        pass
    

    pass是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管pass语句不做任何操作,但如果暂时不确定要在一个位置放上什么样的代码,可以先放置一个pass语句,让代码可以正常运行。

  • 推导式
    列表推导式

    [ expr for value in collection [if condition] ]
    

    元组、字典、集合推导式类似

    x = [-4, -2, 0, 2, 4]
    y = [a * 2 for a in x]
    print(y)
    # [-8, -4, 0, 4, 8]
    

异常处理

  • Python 标准异常总结
    在这里插入图片描述

  • try - except 语句

    try:
        检测范围
    except Exception[as reason]:
        出现异常后的处理代码
    

    try 语句按照如下方式工作:

    • 首先,执行try子句(在关键字try和关键字except之间的语句)
    • 如果没有异常发生,忽略except子句,try子句执行后结束。
    • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try - except语句之后的代码。
    • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
      try:
          f = open('test.txt')
          print(f.read())
          f.close()
      except OSError:
          print('打开文件出错')    # 打开文件出错
      
      一个try语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
  • try - except - finally 语句
    try: 检测范围 except Exception[as reason]: 出现异常后的处理代码 finally: 无论如何都会被执行的代码,不管try子句里面有没有发生异常,finally子句都会执行。

  • try - except - else 语句

    try:
        检测范围
    except:
        出现异常后的处理代码
    else:
        如果没有异常执行这块代码
    

    如果在try子句执行时没有发生异常,Python将执行else语句后的语句。
    注意:else语句的存在必须以except语句的存在为前提,在没有except语句的try语句中使用else语句,会引发语法错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值