Python入门
很高兴你打开本教程,作为第一章,我将带领大家轻松入门 Python。
本章将从 Python 的历史入手,介绍 Python 的版本、Python 语言的特点及 Python 开发需要的基础知识以及基础语法等。
掌握这些内容,可以为后续章节的学习打上很好的基础。
本章内容:
1. Python是什么?
3. Python的版本
5. Pycharm简介
9. Python注释的用法
10. Python缩进和代码块
11. Python之禅(编码规范)
Python基本数据类型
本章将介绍 Python 内置的基本数据类型,包括整型、浮点数、字符串、布尔型、列表、元组、集合和字典等 Python 定义的基本数据类型,以及这些数据类型的运算操作。
我们知道,Python 是强类型语言,每个变量在某个时刻的类型是确定的。也就是说,Python 中任意一个存活的对象,其类型是唯一的。不同类型的对象有不同的属性,能完成不同的操作。
另外本章最后还会介绍变量、对象等概念。每个对象都有一个确定的类型,每个变量都指向某个特定的对象。
本章内容:
7. Python小整数池
11. Python字节流
12. Python浮点数(小数)
14. Python求平方根(附带源码)
15. Python list列表精讲
16. Python找出丢失的数
17. Python解决0-1背包问题
18. Python str字符串精讲
19. Python统计字母出现的频率
23. Python set集合精讲
24. Python dict字典精讲
26. Python变量、对象和值的关系
Python函数
函数是代码的基本模块,其完成某个特定的功能,可以被其他代码使用。函数能够提高代码的模块化程度,更加有效地组织代码,有利于协同开发。
现代软件开发语言都支持函数,我们可以认为函数是代码的最基本单元,即使是最简单的“Hello,python”代码也涉及调用函数 print()。
本章将介绍函数的基本概念和用法,包括 Python 函数的定义和使用、Python 函数参数的使用,常用的系统自带函数以及 lambda 函数和递归等方面的内容。
本章内容:
2. Python函数的返回值
4. Python常用函数汇总
Python模块和包
在 Python 中,目录和文件非常重要,不同的文件可以定义相同的函数和相同的变量而不会引起冲突。这点和 Java 类似,明显不同于 C、C++。由于 Python 没有在源代码层面上定义命名空间,所以文件和路径配合 import 语句就起到了命名空间的作用。
不同的 Python 文件对应不同的模块,多个在同一个目录下的 Python 文件的集合就是一个包。
本章将给读者讲解Python模块和包的概念与定义,同时介绍第三方Python包的各种安装方法及用法。
本章内容:
2. Python包的使用
Python文件操作
如果希望将数据长久保存,最简单的办法就是将数据写入磁盘文件中。这样在程序退出后,处理结果依然长期有效。
对于大型软件项目,文件操作是无法避免的。本章介绍普通文本文件和二进制文件的操作方法,包括打开文件、读写文件、文件模式和 with 语句的使用等。
对于json、yaml、cvs、xml等特殊格式的文件,一般都有对应的包来进行操作,不必直接使用本章介绍的方法来处理。
本章内容:
5. Python readlines()函数:读取所有行的文本
6. Python write()和writelines()函数:写入文本
11. Python文件对象的属性
Python异常处理
异常处理也是现代编程语言的基本特性,使用异常处理可以将正常分支和异常分支分割开来,而不像 C 语言那样,正常分支和异常分支是混在一起的。
Python 中,异常就是一个特殊的对象,通过该异常对象可以给异常处理函数传递异常发生时的信息。
本章介绍如何捕捉异常、得到异常信息、忽略某些异常、抛出异常、自定义异常对象,以及异常处理在 Python 2 和 Python 3 中的异同,最后介绍常见的系统定义异常。
本章内容:
1. Python异常处理机制
Python类和对象
前面章节介绍了 Python 预定义的数据类型,如列表、字典等。但如果希望定义自己的类型,就需要使用到类。也就是说,通过类可以定义自己的类型,从而可以不仅仅使用系统定义的类型。
类在面向对象编程中是很基础的概念,其最基本的功能就是创建新的数据类型,另外还有继承功能,就是可以从一个类 A 派生出一个新的类 B,且类 B 会继承类 A 的所有属性。
本章介绍类和定义和使用,包括讲解类的属性和方法、类的派生方法、多重派生的使用等内容。
本章内容:
2. Python __init__()和__del__()函数的用法
5. Python getattr()、setattr()、hasattr()和delattr()的用法
7. Python类方法的使用
8. Python类的私有属性
10. Python类的派生(派生类)
Python多线程和多进程编程
进程是资源分配的单位,线程是操作系统能够调度的最小单位。
通常情况下,一个进程包括至少一个线程,如果有多个线程,其中包括一个主线程。同一个进程内的所有线程共享系统资源,但它们有各自独立的栈、寄存器环境和本地存储。
多线程的好处是可以同时执行多个任务,如果系统有多个计算单元,那么多个线程可以在各自的计算单元并行运行,这样可以极大提升系统的处理效率。
多数情况下进程比线程大,通常一个进程可以包含多个线程。进程的隔离效果比线程好,所以使用多进程会比使用多线程更加安全。多进程相对多线程的缺点是其调度比较重,效率比较低。
本章内容:
7. 什么是进程
10. Python os模块用法详解
Python网络编程
早期,计算机之间没有相互连接,是孤立的,它们之间的交互多是通过软盘(相当于现在的 U 盘)来交换数据。后来人们创造了网络,计算机之间可以相互交换信息了。
早期的计算机网络也是种类繁多,支持的协议也是五花八门。随着时间的推移,现在被广泛使用的是 IP 网络,其他类型的网络逐渐退出。当下不论是办公室内的局域网,还是互联网,使用的基本都是 IP 网络。
本章将给读者介绍有关 Python网络编程的相关知识,包括 TCP/IP 协议、Socket 接口、TCP/UDP 客户端以及服务器端的构建等。
本章内容:
1. TCP/IP协议详解
2. Socket是什么
4. 编写简单的TCP客户端
Python Scrapy爬虫框架
Scrapy 是用 Python 实现的爬虫应用框架,Scrapy 经常被应用在数据挖掘、信息处理等方面。
借助 Scrapy 框架,只需编写很少的代码,即可实现一个爬虫,从而提取某个网站或者某组网站的相关格式化的数据。
Scrapy 最初是为了页面抓取所设计的,但是也可以应用在获取 API 所返回的数据(例如Amazon Associates Web Services)。作为通用的网络爬虫,其具有以下特点使用简单、功能强大、易于扩展,速度快、支持 Windows、Linux、macOS 多个平台等特点。
本章内容:
2. 网络爬虫的工作原理
Python Flask框架
Flask 是一个用 Python 实现的 Web 应用框架。
使用 Flask 开发 Web 应用程序是很简单的,只需要提供某个 URL 的对应操作的处理函数即可,至于 HTTP 请求是如何触发该处理函数的、该处理函数的返回值是如何被返回给浏览器的等问题,都不需要开发者操心,Flask 会完成这一切。
本章主要讲解 Flask 框架的工作原理、路由、通用参数和模板的使用等。通过本章的学习,能够构造自己的 Web 服务器,并提供 REST 服务或 Web 服务。
本章内容:
5. Flask静态文件的使用
6. Flask模板详解
Python操作Redis数据库
传统的数据库是以表为单位存储数据的。近几年流行一些其他类型的数据库,如存储键值的数据库。我们可以将键值数据库看作是一种特殊的关系数据库,其表仅有两列,一列是键,一列是值。
比较典型的存储键值的数据库是 Memcached 和 Redis。Memcached 出现的比较早,Redis 可以看作是升级版的 Memcached。
本章主要讲解 Redis数据库,包括服务器端和客户端的安装、各类型数据的操作等。
本章内容:
1. Redis是什么
10. Python Redis管道模式
Python Tkinter库详解
前面章节中我们编写的程序都是没有图形界面的,本章给大家讲解一个图形界面库——Tkinter。
Tkinter 是 Python 自带的图形界面库,库中包含众多图形界面控件,包括 Lable 标签、Button按钮、Radiobutton单选框、Checkbutton复选框、Entry文本框等。借助 Tkinter 库中的各种图形界面控件,我们就可以设计出实用的图形界面程序。
本章将为大家一一讲解 Tkinter 库中各种控件的具体用法。
本章内容:
10. Tkinter布局(3种)
Python wxPython教程
wxWidgets 是一款用 C++ 语言开发的优秀的、跨平台的图形界面库。为了让 Python 用户也能使用该库,Robin Dunn 开发了 wxPython 这个库,该库可以看做是对 wxWidgets 的 Python 封装。
本章将给读者介绍 wxPython 图形界面库的使用,以及如何使用该库提供的众多控件,另外还介绍图片的使用、用户操作事件的处理等内容。通过本章的学习,读者可以编写出自己的图形界面程序。
本章内容:
6. wxPython BitmapButton图片按钮的用法
Python PyQt5教程
QT 是 Linux 桌面 KDE 的开发包,目前支持 Windows、MacOS 和 Linux 等操作系统,当下 QT 的最新版本是 5,所以也被称作 QT5。
本章介绍的是 QT 的 Python 版本,由于最新的 QT 版本是 5,所以该 Python 版的 QT 也被称作是 PyQt5。
通过本章的学习,读者将了解 PyQt 库的使用,以及如何使用库中提供的各个控件。最终借助 PyQt,可以编写出自己的图形界面程序。
本章内容:
6. PyQt5 QCalendarWidget日历组件的用法
7. PyQt5 QLCDNumber组件:显示LCD数字显示
Python Matplotlib教程
随着互联网用户的快速增长,大数据技术也兴起。这种技术的关注点不是微观的某个用户个体,而是关注宏观的统计数据,例如用户平均年龄、用户平均使用时长等,因此这些宏观统计数据的处理和展示也就变得非常重要。
Matplotlib 表示 math plot library,直观理解就是数学画图包。这个包和 Matlab 包的作用类似,接口也类似,但是它是一个免费的 Python 包。
本章介绍 Python Matplotlib 库的安装和使用,包括各种统计数据图的生成。通过本章的学习,初学者可以借助 Matplotlib 库编写出各种处理工程数据的程序。
本章内容:
Python NumPy库
NumPy 是一个用 C 语言实现的用于数学运算的 Python 库,它不是 Python 自带的,需要自行安装。
本章将详细介绍 NumPy 库的安装和使用、NumPy 数据处理、NumPy 金融应用,同时还讲解使用 NumPy 进行傅里叶变换、使用 NumPy 训练神经网络等内容。
本章内容:
5. NumPy中的傅里叶变换