博客
关于我
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改动rootpassword的多种方法
查看>>
mysql数据分组索引_MYSQL之索引配置方法分类
查看>>
mysql数据取差,mysql屏蔽主外键关联关系
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
MySQL数据和Redis缓存一致性方案详解
查看>>
Mysql数据库 InnoDB存储引擎中Master Thread的执行流程
查看>>
MySQL数据库 范式
查看>>
Mysql数据库B-Tree索引
查看>>
mysql数据库io空闲_mysql数据库磁盘io高的排查
查看>>
mysql数据库root密码忘记,查看或修改的解决方法
查看>>
MySQL数据库SQL注入靶场sqli通关实战(附靶场安装包)
查看>>
MYSQL数据库下载安装(Windows版本)
查看>>
MySQL数据库与Informix:能否创建同名表?
查看>>
mysql数据库中的数据如何加密呢?mysql8.0自带新特性
查看>>
MySQL数据库优化
查看>>
MySQL数据库优化总结
查看>>
MySQL数据库入门看这一篇文章就够了
查看>>
Mysql数据库函数contac_函数:函数删除操作语法&使用例——《mysql 从入门到内卷再到入土》...
查看>>
mysql数据库命令备份还原
查看>>
mysql数据库基础教程
查看>>