![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 89
有梦想的人不睡觉o0
IT界的小学生
展开
-
028:Python操作PDF文件
PDF是Portable Document Format的缩写,这类文件通常使用.pdf作为其扩展名。在日常开发工作中,最容易遇到的就是从PDF中读取文本内容以及用已有的内容生成PDF文档这两个任务。从PDF中提取文本在Python中,可以使用名为PyPDF2的三方库来读取PDF文件,可以使用下面的命令来安装它。pip install PyPDF2 -i https://pypi.doubanio.com/simplePyPDF2没有办法从PDF文档中提取图像、图表或其他媒体,但它可以提取原创 2020-11-26 15:54:43 · 253 阅读 · 0 评论 -
027:Python读写Excel文件
Excel简介Excel是Microsoft(微软)为使用Windows和macOS操作系统开发的一款电子表格软件。Excel凭借其直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,一直以来都是最为流行的个人计算机数据处理软件。当然,Excel也有很多竞品,例如Google Sheets、LibreOffice Calc、Numbers等,这些竞品基本上也能够兼容Excel,至少能够读写较新版本的Excel文件。掌握用Python程序操作Excel文件,可以让日常办公自动化的工作更加轻松愉快,原创 2020-11-26 15:54:26 · 254 阅读 · 0 评论 -
026:Python读写CSV文件
CSV文件介绍CSV(Comma Separated Values)全称逗号分隔值文件是一种简单、通用的文件格式,被广泛的应用于应用程序(数据库、电子表格等)数据的导入和导出以及异构系统之间的数据交换。因为CSV是纯文本文件,不管是什么操作系统和编程语言都是可以处理纯文本的,而且很多编程语言中都提供了对读写CSV文件的支持,因此CSV格式在数据处理和数据科学中被广泛应用。CSV文件有以下特点:纯文本,使用某种字符集(如ASCII、Unicode、GB2312)等); 由一条条的记录组成(典型的原创 2020-11-25 13:58:14 · 512 阅读 · 0 评论 -
025:Python中正则表达式的应用
正则表达式相关知识在编写处理字符串的程时,经常会遇到在一段文本中查找符合某些规则的字符串的需求,正则表达式就是用于描述这些规则的工具,换句话说,可以使用正则表达式来定义字符串的匹配模式,即如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉。举一个简单的例子,如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(*和?),那么正则表达式也是与之类似的用 来进行文本匹配的工具,只不过比起通配符正则表达式更强大,它能更精确地描述你的需原创 2020-11-25 13:48:45 · 150 阅读 · 1 评论 -
024:Python对象的序列化和反序列化
读写JSON格式的数据如果希望把一个列表或者一个字典中的数据保存到文件中又该怎么做呢?在Python中,可以将程序中的数据以JSON格式进行保存。JSON是“JavaScript Object Notation”的缩写,它本来是JavaScript语言中创建对象的一种字面量语法,现在已经被广泛的应用于跨语言跨平台的数据交换。使用JSON的原因非常简单,因为它结构紧凑而且是纯文本,任何操作系统和编程语言都能处理纯文本,这就是实现跨语言跨平台数据交换的前提条件。目前JSON基本上已经取代了XML(可扩展标记原创 2020-11-25 13:42:23 · 152 阅读 · 0 评论 -
023:Python文件读写和异常处理
实际开发中常常会遇到对数据进行持久化的场景,所谓持久化是指将数据从无法长久保存数据的存储介质(通常是内存)转移到可以长久保存数据的存储介质(通常是硬盘)中。实现数据持久化最直接简单的方式就是通过文件系统将数据保存到文件中。计算机的文件系统是一种存储和组织计算机数据的方法,它使得对数据的访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘、光盘、闪存等物理设备的数据块概念,用户使用文件系统来保存数据时,不必关心数据实际保存在硬盘的哪个数据块上,只需要记住这个文件的路径和文件名。在写入新数原创 2020-11-25 13:22:08 · 662 阅读 · 0 评论 -
022:Python标准库初探
base64 - Base64编解码模块Base64是一种基于64个可打印字符来表示二进制数据的方法。由于$log _{2}64=6$,所以Base64以6个比特(二进制位,可以表示0或1)为一个单元,每个单元对应一个可打印字符。对于3字节(24比特)的二进制数据,我们可以将其处理成对应于4个Base64单元,即3个字节可由4个可打印字符来表示。Base64编码可用来作为电子邮件的传输编码,也可以用于其他需要将二进制数据转成文本字符的场景,这使得在XML、JSON、YAML这些文本数据格式中传输二进制内原创 2020-11-25 12:57:54 · 189 阅读 · 0 评论 -
021:Python函数的高级应用
装饰器装饰器是Python中用一个函数装饰另外一个函数或类并为其提供额外功能的语法现象。装饰器本身是一个函数,它的参数是被装饰的函数或类,它的返回值是一个带有装饰功能的函数。很显然,装饰器是一个高阶函数,它的参数和返回值都是函数。下面先通过一个简单的例子来说明装饰器的写法和作用,假设已经有名为downlaod和upload的两个函数,分别用于文件的上传和下载,下面的代码用休眠一段随机时间的方式模拟了下载和上传需要花费的时间,并没有联网做上传下载。import randomimport time原创 2020-11-25 12:48:39 · 132 阅读 · 0 评论 -
020:Python函数使用进阶
关键字参数下面是一个判断传入的三条边长能否构成三角形的函数,在调用函数传入参数时,可以指定参数名,也可以不指定参数名,代码如下所示。def can_form_triangle(a, b, c): print(f'a = {a}, b = {b}, c = {c}') return a + b > c and b + c > a and a + c > b# 调用函数传入参数不指定参数名按位置对号入座print(can_form_triangle(1, 2,原创 2020-11-25 12:41:12 · 164 阅读 · 0 评论 -
019:使用PyCharm开发Python应用程序
PyCharm的下载和安装可以在JetBrains公司的官方网站找到PyCharm的下载链接,有两个可供下载的版本,一个是社区版(PyCharm CE),一个是专业版(PyCharm Professional)。社区版在Apache许可证下发布,可以免费使用;专业版在专用许可证下发布,需要购买授权后才能使用,但新用户可以试用30天。很显然,专业版提供了更为强大的功能和对企业级开发的各种支持,但是对于初学者来说,社区版已经足够强大和好用了。安装PyCharm只需要直接运行下载的安装程序,然后持续的点击“N原创 2020-11-25 12:34:31 · 2887 阅读 · 0 评论 -
018:Python面向对象编程应用
案例1:扑克游戏说明:简单起见,我们的扑克只有52张牌(没有大小王),游戏需要将52张牌发到4个玩家的手上,每个玩家手上有13张牌,按照黑桃、红心、草花、方块的顺序和点数从小到大排列,暂时不实现其他的功能。使用面向对象编程方法,首先需要从问题的需求中找到对象并抽象出对应的类,此外还要找到对象的属性和行为。当然,这件事情并不是特别困难,可以从需求的描述中找出名词和动词,名词通常就是对象或者是对象的属性,而动词通常是对象的行为。扑克游戏中至少应该有三类对象,分别是牌、扑克和玩家,牌、扑克、玩家三个类原创 2020-11-25 12:23:35 · 751 阅读 · 0 评论 -
017:Python面向对象编程进阶
可见性和属性装饰器在很多面向对象编程语言中,对象的属性通常会被设置为私有(private)或受保护(protected)的成员,简单的说就是不允许直接访问这些属性;对象的方法通常都是公开的(public),因为公开的方法是对象能够接受的消息,也是对象暴露给外界的调用接口,这就是所谓的访问可见性。在Python中,可以通过给对象属性名添加前缀下划线的方式来说明属性的访问可见性,例如,可以用__name表示一个私有属性,_name表示一个受保护属性,代码如下所示。class Student:原创 2020-11-25 11:51:20 · 165 阅读 · 0 评论 -
016:Python面向对象编程入门
类和对象如果要用一句话来概括面向对象编程,我认为下面的说法是相当精准的。面向对象编程:把一组数据和处理数据的方法组成对象,把行为相同的对象归纳为类,通过封装隐藏对象的内部细节,通过继承实现类的特化和泛化,通过多态实现基于对象类型的动态分派。关键词:对象(object)、类(class)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)。先说说类和对象这两个词。在面向对象编程中,类是一个抽象的概念,对象是一个具体的概念。我们把同一类对象的原创 2020-11-23 19:17:31 · 148 阅读 · 0 评论 -
015:Python常用数据结构之字典
Python程序中的字典跟现实生活中的字典很像,它以键值对(键和值的组合)的方式把数据组织到一起,我们可以通过键找到与之对应的值并进行操作。就像《新华字典》中,每个字(键)都有与它对应的解释(值)一样,每个字和它的解释合在一起就是字典中的一个条目,而字典中通常包含了很多个这样的条目。创建和使用字典在Python中创建字典可以使用{}字面量语法。但是字典的{}中的元素是以键值对的形式存在的,每个元素由:分隔的两个值构成,:前面是键,:后面是值,代码如下所示。xinhua = { '麓':原创 2020-11-23 18:09:12 · 215 阅读 · 0 评论 -
014:Python常用数据结构之集合
集合(set)的定义是“把一定范围的、确定的、可以区别的事物当作一个整体来看待”,集合中的各个事物通常称为集合的元素。集合应该满足以下特性:无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。 互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。 确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。Python程序中的集合跟数学上的集合是完全一致的,需要强调的是上面所说的无序性和互异性。无序性说明集合中的元原创 2020-11-23 17:17:19 · 442 阅读 · 0 评论 -
013:Python列表和元组的应用
案例1:成绩表和平均分统计说明:录入5个学生3门课程的考试成绩,计算每个学生的平均分和每门课的平均分。"""录入5个学生3门课程的考试成绩计算每个学生的平均分和每门课的平均分"""names = ['关羽', '张飞', '赵云', '马超', '黄忠']courses = ['语文', '数学', '英语']# 用生成式创建嵌套的列表保存5个学生3门课程的成绩scores = [[0] * len(courses) for _ in range(len(names))]# 录原创 2020-11-23 16:45:23 · 1072 阅读 · 1 评论 -
012:Python常用数据结构之元组
定义和使用元组在Python中,元组也是多个元素按照一定的顺序构成的序列。元组和列表的不同之处在于,元组是不可变类型,这就意味着元组类型的变量一旦定义,其中的元素不能再添加或删除,而且元素的值也不能进行修改。定义元组通常使用()字面量语法。元组类型支持的运算符跟列表是一样。下面的代码演示了元组的定义和运算。# 定义一个三元组t1 = (30, 10, 55)# 定义一个四元组t2 = ('小九', 40, True, '河南郑州')# 查看变量的类型print(type(t1), ty原创 2020-11-23 16:39:14 · 623 阅读 · 0 评论 -
011:Python常用数据结构之列表
定义和使用列表在Python中,列表是由一系元素按特定顺序构成的数据序列,这样就意味着定义一个列表类型的变量,可以保存多个数据,而且允许有重复的数据。跟字符串类型一样,列表也是一种结构化的、非标量类型,操作一个列表类型的变量,除了可以使用运算符还可以使用它的方法。在Python中,可以使用[]字面量语法来定义列表,列表中的多个元素用逗号进行分隔,代码如下所示。items1 = [35, 12, 99, 68, 55, 87]items2 = ['Python', 'Java', 'Go',原创 2020-11-23 16:22:13 · 237 阅读 · 0 评论 -
010:Python函数和字符串的应用
例子1:设计一个生成指定长度验证码的函数。说明:验证码由数字和英文大小写字母构成。import randomALL_CHARS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'def generate_code(code_len=4): """生成指定长度的验证码 :param code_len: 验证码的长度(默认4个字符) :return: 由大小写英文字母和数字构成的随机原创 2020-11-23 15:58:40 · 121 阅读 · 0 评论 -
009:Python字符串的使用
字符串的定义所谓字符串,就是由零个或多个字符组成的有限序列,一般记为:在Python程序中,如果把单个或多个字符用单引号或者双引号包围起来,就可以表示一个字符串。字符串中的字符可以是特殊符号、英文字母、中文字符、日文的平假名或片假名、希腊字母、Emoji字符等。s1 = 'hello, world!'s2 = "你好,世界!"print(s1, s2)# 以三个双引号或单引号开头的字符串可以折行s3 = '''hello, world!'''print(s3, end=''原创 2020-06-02 13:56:23 · 1169 阅读 · 0 评论 -
008:Python函数和模块
先来研究一道数学题,请说出下面的方程有多少组正整数解。你可能已经想到了,这个问题其实等同于将8个苹果分成四组且每组至少一个苹果有多少种方案,因此该问题还可以进一步等价于在分隔8个苹果的7个空隙之间插入三个隔板将苹果分成四组有多少种方案,也就是从7个空隙选出3个空隙放入隔板的组合数,所以答案是C(7,3)=35。组合数的计算公式如下所示。根据前面学习的知识,可以用循环做累乘的方式来计算阶乘,那么通过下面的Python代码我们就可以计算出组合数C(M,N)的值,代码如下所示。"""输入M原创 2020-06-02 13:45:06 · 650 阅读 · 0 评论 -
007:Python分支和循环结构的应用
分支和循环结构的重要性不言而喻,它是构造程序逻辑的基础,对于初学者来说也是相对困难的部分。大部分初学者在学习了分支和循环结构后都能理解它们的用途和用法,但是遇到实际问题的时候又无法下手;看懂别人的代码很容易,但是要自己写出同样的代码却又很难。如果你也有同样的问题和困惑,千万不要沮丧,这只是因为你才刚刚开始编程之旅,你的练习量还没有达到让你可以随心所欲的写出代码的程度,只要加强编程练习,这个问题迟早都会解决的。下面是一些经典的案例。经典小案例例子1:寻找水仙花数。说明:水仙花数也被称为超完全数字原创 2020-06-02 11:41:46 · 382 阅读 · 0 评论 -
006:Python循环结构
循环结构就是程序中控制某条或某些指令重复执行的结构。在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。for-in循环如果明确的知道循环执行的次数,我们推荐使用for-in循环,例如计算1到100的和。 被for-in循环控制的语句块也是通过缩进的方式来确定的,这一点跟分支结构完全相同,大家看看下面的代码就明白了。"""用for循环实现1~100求和"""total = 0for x in range(1, 101): total += x原创 2020-06-02 11:35:38 · 362 阅读 · 0 评论 -
005:Python分支结构
if语句的使用在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名。下面的例子中演示了如何构造一个分支结构。"""用户身份验证"""username = input('请输入用户名: ')password = input('请输入口令: ')# 用户名是admin且密码是123456则身份验证成功否则身份验证失败if username == 'admin'原创 2020-06-02 11:30:26 · 232 阅读 · 0 评论 -
004:Python语言元素之运算符
运算符 描述 [] [:] 下标,切片 ** 指数 ~ + - 按位取反, 正负号 * / % // 乘,除,模,整除 + - 加,减 >> << 右移,左移 & 按位与 ^ \| 按位异或,按位或 <= < > >= 小于等于,小于,大于,大于等于 == != 等于,不等于 is is not 身份运算符 in not in原创 2020-06-02 11:24:40 · 808 阅读 · 0 评论 -
003:Python语言元素之变量
程序是指令的集合,写程序就是用指令控制计算机做我们想让它做的事情。那么,为什么要用Python语言来写程序呢?因为Python语言简单优雅,相比C、C++、Java这样的编程语言,Python对初学者更加友好,当然这并不是说Python不像其他语言那样强大,Python几乎是无所不能的,Python可以用于服务器程序开发、云平台开发、数据分析、机器学习等各个领域。当然,Python语言还可以用来粘合其他语言开发的系统,所以也经常被戏称为“胶水语言”。一些计算机常识学习之前,先来科普一些计算机的基础知原创 2020-06-02 11:06:40 · 360 阅读 · 0 评论 -
002:第一个Python程序
编写代码的工具交互式环境我们打开Windows的“命令行提示符”工具,输入命令python然后回车就可以进入到Python的交互式环境中。所谓交互式环境,就是我们输入一行代码回车,代码马上会被执行,如果代码有产出结果,那么结果会被显示在窗口中。例如:Python 3.7.6Type "help", "copyright", "credits" or "license" for more information.>>> 2 * 36>>> 2 + 3原创 2020-06-02 10:22:54 · 159 阅读 · 0 评论 -
001:初识Python
Python简介Python是由荷兰人吉多·范罗苏姆(Guido von Rossum,后面都称呼他为Guido)发明的一种编程语言。Python的历史 1989年圣诞节:Guido开始写Python语言的编译器。 1991年2月:第一个Python解释器诞生,它是用C语言实现的,可以调用C语言的库函数。 1994年1月:Python 1.0正式发布。 2000年10月:Python 2.0发布,Python的整个开发过程更加透明,生态圈开始慢慢形成。原创 2020-06-02 10:15:07 · 132 阅读 · 0 评论