Python进阶语法(一)

目录

一、Python列表推导式

1.1、使用方法

1.2、列表推导式优点

1.2.1、提升效率

1.2.2、方便转换数据

1.2.3、用于过滤数据

1.3、推广延申

1.3.1、字典推导式

1.3.2、元组推导式

1.3.3、集合推导式

二、Python三元表达式

2.1、用法

2.2、扩展用法

三、断言

四、上下文管理器(with—as)

五、异常捕获预处理

5.1、try......except语句

5.2、try......except...else语句

5.3、直接抛出异常语句

5.4、finally语句

5.5、常见异常类型


一、Python列表推导式

定义:是一种数据处理方式,在python中转化和过滤数据

格式:[表达式 for 迭代变量 in 可迭代对象【if 条件表达式】]

其中【】中的数据可以省略

1.1、使用方法

列表推导式根据for循环语句进行优化,且最终得到一个新的列表

1、优化单层For循环

For循环写法

 列表推导式写法

2、优化双层For循环

For循环写法

 列表推导式写法

3、嵌套写法

For循环写法

 列表推导式写法

 

1.2、列表推导式优点

1.2.1、提升效率

在 Python3 中列表推导式中引入的变量仅仅作用在局部作用域,只在局部起作用,表达式的上下文里的同名变量还可以被正常引用,局部变量并不会影响到它们。

1.2.2、方便转换数据

可以将列表中的数据批量进行转化,并将转化后的数据以新列表情况进行输出

1.2.3、用于过滤数据

通过后面条件表达式对数据进行过滤

 

1.3、推广延申

1.3.1、字典推导式

格式:{键:值 for 迭代变量 in 可迭代对象 [if 条件表达式]}

注意:字典中不会出现同名key,第二次出现时会更新value数值,故无论如何迭代,字典中键仍旧具备唯一性。

1.3.2、元组推导式

格式:(元素 for 迭代变量 in 可迭代对象 [if 条件表达式])

        大家也应该发现了,元组推导式与列表推导式/字典推导式不同,列表推导式/字典推导式按格式书写完后输出为对应的列表和字典,而元组表达式输出的是一个生成器对象,此时如果想令该元组推导式输出一个元组的话,请用tuple(tuple1)来做映射即可

        元组推导式也被称为生成器推导式

1.3.3、集合推导式

格式:{元素 for 迭代变量 in 可迭代对象 [if 条件表达式]}

 注意:集合是无序且不重复的,所以执行过程中会先去重,并且每次运行显示的顺序不同

二、Python三元表达式

定义:在python中,三元表达式是一种语法结构,也被称之为条件表达式。

格式:输出(True) if 判断条件 else 输出(False)

2.1、用法

1、用于if语句简化

原if语句写法

 三元表达式写法

2、用于返回多条语句

If条件语句写法

 三元表达式写法

注意:此时代码返回的数据为元组,元组之间用逗号连接

3、函数中使用三元表达式

4、列表推导式中使用三元表达式

 注意:在列表推导式中使用三元表达式,需要将if条件语句提前,for循环语句推后。

5、lambda中使用三元表达式

6、嵌套场景

 

2.2、扩展用法

语法格式:(表达式为假输出X,表达式为真输出Y)[条件表达式])

          {表达式为假输出X1:Y1,表达式为真输出X2:Y2}[条件表达式]

元组条件表达式:

字典条件表达式:

三、断言

定义:Python断言(python assert)可以理解成简易的if else语句,目的是判断条件表达式是否为真,为真的时候程序继续执行,否则便停止运行,抛出AssertionError。

格式:assert 表达式,[异常打印]

 

四、上下文管理器(with—as)

含义:python中针对文件和数据库操作,都需要在程序执行完毕后进行清理,python继承了一套自动操作,目的是在每次文件或数据库使用完成后,直接自动释放对应资源。可以说,with...as语句实现了自动分配并释放资源。

格式: with 表达式 [as 指定一个变量名]:

                   代码块

                  代码块

[]中可以省略,含义为将前文表达式的结果保存到一个变量中

用途:

用于对文件的操作上,如果不使用上下文管理器,操作是这样的:

 With...as使用后如图所示:(with...as语句是一种python控制流语句,也是简单异常报错语句)

 

五、异常捕获预处理

定义:程序异常或出现BUG状态时,通过异常捕获预处理来实现报错层面的控制

5.1、try......except语句

程序默认执行状态下,出现报错就会直接终止运行,我们用try...except语句实现出现问题提示报错异常,然后继续执行接下来的代码。

不做处理情况下报错中止:

 格式:

 

        用try...except格式修改后得到下图所示,此时程序不会报错,会进入异常处理,处理完后继续程序向下执行。如果try语句中没有出现错误,则except中代码不会执行。

 

        注意:except后面书写的是异常报错对象,只有当try中报错现象和报错对象一致时才会进行异常处理,如果不一致,仍旧会出现错误。如下图所示:

         此时若想解决该问题,则需要在except后面加上对应报错对象即可,如下图所示:

        当然,还有种一劳永逸的方法,放我们不知道具体报错时,可以except后面什么都不写,省略异常对象,直接输出异常处理,如下图所示:

5.2、try......except...else语句

          该语句表示按照顺序进行异常处理,当待检测代码有异常时,如果均未满足前几种异常处理条件,则直接报错结束。若代码没有问题,则执行else下面的正常操作。

格式:

        举个简单的例子,如下图所示:

 

5.3、直接抛出异常语句

       通过except 异常类型 as e语句直接抛出异常,后面的e只是一个变量,可以起名任意名称。

 

5.4、finally语句

       try … except语句也可以与finally语句一同使用,表示最后无论代码是否有异常均执行的代码。共三种情况,如下图所示:

       可看出无论能否匹配的上except和else的处理,都会执行finally后面的操作,该操作完成后才会报错退出。

5.5、常见异常类型

AttributeError 某个对象没有属性

Exception 通用型异常对象

FileNotFoundError 找不到文件

IOError 输入输出异常

IndexError 索引异常

KeyError 键异常

NameError 对象名称异常

SyntaxError 语法错误

TypeError 类型错误

ValueError 值错误

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python语法是指对Python编程语言更深入理解和运用的一些高级特性和技巧。掌握这些语法可以让我们编写更高效、灵活和复杂的Python程序。 首先,函数式编程是Python语法中的重要一环。函数是一等公民,可以作为参数传递和返回值返回,使得程序的设计更加灵活和模块化。除了普通函数外,Python还支持匿名函数(lambda表达式)、高函数(map、reduce、filter等)和装饰器等函数式编程的特性。 其次,生成器和迭代器也是Python语法中的关键概念。生成器函数可以通过yield关键字实现状态的保存和暂停执行,提高代码的可读性和性能。而迭代器则是一种用于迭代访问集合元素的对象,通过实现__iter__和__next__方法,可以自定义迭代器。 另外,元类(metaclass)是Python语法中的高级特性。元类可以定制类的创建过程,可以在类定义之后对类行修改,实现一些元编程的功能。它可以用于创建自己的类创建函数,对类的属性和方法行自动初始化等。 此外,异步编程也是Python语法中的重要内容。asyncio模块和async/await关键字的引入,使得Python可以更好地支持协程编程和异步IO操作,提高程序的并发性和响应性。 最后,对于性能优化和调试技巧,Python语法中也涉及一些相关的知识。比如使用装饰器对函数行性能统计,使用线程池或程池并行执行任务,使用性能分析工具对代码行调优等。 总而言之,Python语法包含了函数式编程、生成器和迭代器、元类、异步编程以及性能优化和调试技巧等多个方面的知识,掌握这些知识可以使我们编写更高级、更复杂的Python程序。 ### 回答2: Python语法是指在掌握基础语法的基础上一步学习和应用的Python语言的一系列高级特性和用法。通过学习Python语法,可以更加灵活地编写代码,提高代码的可读性和可维护性,实现更加复杂的功能。 Python语法包括但不限于以下几个方面。 1. 函数式编程:函数是Python的核心组件之一,语法中可以更加深入地理解函数的原理和特性,并学习使用高函数、匿名函数、闭包等概念和技巧,提高代码的简洁性和可重用性。 2. 迭代器和生成器:迭代器和生成器是处理可迭代对象的重要工具,语法可以学习如何自定义迭代器和生成器,以及它们的底层原理和性能优化策略。 3. 装饰器:装饰器是Python中强大且灵活的语法特性,可以在不修改原函数代码的情况下为函数添加新的功能,比如日志记录、计时统计等,提高代码的灵活性和可扩展性。 4. 异常处理:语法中可以学习如何更好地处理异常,包括自定义异常类、多个异常的处理顺序等,提高代码的健壮性和可靠性。 5. 面向对象编程:语法中可以深入学习和应用面向对象编程的概念和技巧,包括类的继承和多态等,实现更加复杂的程序设计。 总之,Python语法是在基础语法的基础上一步扩展和应用的一系列高级特性和用法。掌握这些语法可以使我们更加灵活地编写代码,提高代码质量和开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值