博客
关于我
Python学习笔记——进阶
阅读量:531 次
发布时间:2019-03-08

本文共 1690 字,大约阅读时间需要 5 分钟。

Python基础入门

1. 知识前提

在进入Python编程之前,掌握一些基础知识是必不可少的。要想在Python中高效地开发和调试代码,理解内置功能和控制流是非常重要的。

2. 实进阶

2.1 浅拷贝和 深拷贝

在Python中,列表的拷贝方式有两个:浅拷贝和深拷贝。

浅拷贝:使用 [:] 对列表进行拷贝,引用自同一对象。如果原始列表中的元素是不可变对象且内部没有嵌套子对象,浅拷贝时不会创建新的对象。

深拷贝:使用 copy 模块中的 deepcopy 方法进行拷贝。如果列表中的元素是可变对象,深拷贝会创建新对象,并将引用指向新的对象。

2.2 面向对象

面向对象编程(OOP)是Python的核心编程范式。通过使用 class 关键字,我们可以定义类、方法和属性。

2.2.1 实例属性

类中的方法可以通过 self 参数接收对象。实例属性可以通过两种方式绑定:内部绑定和外部赋值。

2.2.2 类属性

类属性没有 self 前缀。可以通过类或实例访问,类属性的修改只能通过类进行。

2.2.3 实例方法

方法绑定在实例上,通过 self 参数接收。可以通过 dir 函数查看类或实例的属性和方法。

2.2.4 类方法

类方法使用 @classmethod 装饰器,其第一个参数为 cls

2.2.5 静态方法

静态方法不需要 selfcls 参数,可以通过类或实例调用。

2.2.6 访问控制

双下划线前缀(__)的属性无法在类对象外部访问。

2.2.7 封装

通过定义 setter 和 getter 方法,控制属性的访问权限。

2.2.8 继承

通过继承父类,继承父类的方法和属性。支持多继承。

2.2.9 多态

通过动态解析实现多态,子类可以 overriding 父类方法。

3. 模块与库

使用标准库和第三方库可以显著提高开发效率。

3.1 标准库安装

使用 pipconda 管理库安装。pip 是 Python 的包管理工具,conda 是 Anaconda 环境下的包管理工具。

3.2 第三方库

从 PyPI 下载并安装第三方库,例如 NumPy、Pandas 等。通过 import 导入库中的功能。

4. 文件操作

Python 的 open 函数用于打开文件,返回文件对象。通过 readwrite 等方法操作文件内容。

4.1 读取文件

一次性读取文件内容可能占用大量内存,不建议。逐行读取或使用缓冲区进行读取。

4.2 写文件

写文件时,字符串会首先写入缓冲区,等到 flush 或文件关闭时才会写入磁盘。

4.3 文件指针

使用 seektell 方法操作文件内存位置。

5. 异常处理

通过 tryexceptfinally 处理异常。可以自定义异常类,抛出特定错误信息。

5.1异常捕获

使用 try 外包裹异常发生的代码块,通过 except 捕获异常信息。

5.2异常信息

使用 sys.exc_info() 获取异常类型、错误值和堆栈信息。

5.3上下文管理器

使用 with 语句管理文件或资源,确保资源在异常时自动释放。

6. 函数

6.1 函数定义

函数是 Python 的核心,通过定义参数和返回值实现功能模块化。

6.2 偏函数

使用 functools.partial 创建偏函数,便于函数调用参数的预设。

6.3闭包

函数返回函数(闭包)可以访问外部变量,保持其值在内存中。

7. 变量作用域

在 Python 中,作用域有四种:局部、嵌套、全局和内置作用域。函数内的变量优先在局部作用域中查找,否则在嵌套作用域中查找,最后在全局作用域查找。

7.1命名空间操作

使用 globals()locals() 函数查看全局和局部命名空间。

8. 函数装饰器

装饰器通过修改函数行为或属性实现功能增强。使用 functools.wraps 保持装饰后的函数名称和文档。

8.1装饰器传参

通过嵌套装饰器实现参数传递,灵活配置函数行为。


以上内容经过优化,结构清晰,便于阅读和搜索引擎优化。

转载地址:http://pomnz.baihongyu.com/

你可能感兴趣的文章
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
mysql 将null转代为0
查看>>