Python扩展阅读
文章平均质量分 95
来自江南的你
这个作者很懒,什么都没留下…
展开
-
Python 中判断字符串是否只包含数字的三个方法比较:isdecimal、isdigit 和 isnumeric
Python 中判断字符串是否只包含数字的三个方法比较:isdecimal、isdigit 和 isnumeric首先,在Python 中对于 字符串 Sting 类型来说,存在很多的方法,如下:在 ipython 中定义一个 字符串,例如:hello_str = ""输入 hello_str.按下 TAB 键,ipython 会提示 字符串 能够使用的 方法 如下:In [1...原创 2019-11-21 23:30:26 · 9726 阅读 · 1 评论 -
Python Mixin 编程机制
Mixin 简介Mixin 编程是一种开发模式,是一种将多个类中的功能单元的进行组合的利用的方式,这听起来就像是有类的继承机制就可以实现,然而这与传统的类继承有所不同。通常 Mixin 并不作为任何类的基类,也不关心与什么类一起使用,而是在运行时动态的同其他零散的类一起组合使用。特点使用 Mixin 机制有如下好处: 可以在不修改任何源代码的情况下,对已有类进行扩展; 可以保证组件的划...原创 2018-11-26 10:21:12 · 1534 阅读 · 0 评论 -
多重继承的陷阱:钻石继承(菱形继承)问题
支持多继承的面向对象编程都可能会导致钻石继承(菱形继承)问题,看以下代码:class A(): def __init__(self): print("进入A…") print("离开A…")class B(A): def __init__(self): print("进入B…") A.__init__(sel...原创 2018-11-26 09:05:51 · 3449 阅读 · 7 评论 -
EasyGUI 学习文档
目录0. 安装 EasyGUI1. 什么是 EasyGUI?2. 一个简单的例子3. EasyGUI 的各种功能演示4. 导入 EasyGUI5. 使用 EasyGUI6. EasyGUI 函数的默认参数7. 使用关键字参数调用 EasyGUI 的函数8. 使用按钮组件9. 如何在 buttonbox 里边显示图片10. 为用户提供一系列选项11. ...原创 2018-11-24 12:34:17 · 14112 阅读 · 0 评论 -
Python 标准异常总结
Python标准异常总结AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportE...原创 2018-11-21 14:02:11 · 435 阅读 · 0 评论 -
os、os.path 模块中关于文件、目录常用的函数使用方法
我们第一节课就讲过了,Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现。因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回...原创 2018-11-21 14:01:38 · 886 阅读 · 1 评论 -
文件的打开模式和文件对象方法
文件打开模式打开模式 执行操作 'r' 以只读方式打开文件(默认) 'w' 以写入的方式打开文件,会覆盖已存在的文件 'x' 如果文件已经存在,使用此模式打开将引发异常 'a' 以写入模式打开,如果文件存在,则在末尾追加写入 'b' 以二进制模式打开文件 't' 以文本模式打开(默认) '+' 可读写模式(可添加到其他...原创 2018-11-21 14:00:45 · 601 阅读 · 0 评论 -
集合类型内建方法总结
由于集合类型不是我们教学的重点,所以课堂中小甲鱼仅强调基本的使用方法,这里帮大家把Python集合类型的所有内置方法做成一个总结表,以便供大家使用时参考。集合类型内建方法总结 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是...原创 2018-11-21 14:00:19 · 322 阅读 · 0 评论 -
字符串的方法及注释
capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 encode(encod...原创 2018-11-21 13:57:36 · 399 阅读 · 0 评论 -
字符串格式化符号含义及转义字符含义
字符串格式化符号含义 符号 说明 %c 格式化字符及其 ASCII 码 %s 格式化字符串 %d 格式化整数 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制...原创 2018-11-21 13:57:24 · 627 阅读 · 0 评论 -
Python 函数修饰符(装饰器)的使用
1. 修饰符的来源借用一个博客上的一段叙述:修饰符是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。修饰符是解决这类问题的绝佳设计,有了修饰符,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,修饰符的作用就是为已经存在的对象添加额外的功能。如下:import timedef timeslong(func): ...原创 2018-11-26 13:16:47 · 1445 阅读 · 0 评论 -
property 的详细使用方法
property(fget=None, fset=None, fdel=None, doc=None) 俗话说条条大路通罗马,同样是完成一件事,Python 其实提供了好几个方式供你选择。property() 是一个比较奇葩的BIF,它的作用把方法当作属性来访问,从而提供更加友好访问方式。官方帮助文档代码:class C: def __init__(self): ...原创 2018-11-26 13:20:25 · 13900 阅读 · 0 评论 -
鸭子类型(duck typing)
鸭子类型(duck typing)在程序设计中,鸭子类型(duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由 James Whitcomb Riley 提出的鸭子测试,“鸭子测试”可以这样表述: 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被...原创 2018-11-29 22:00:11 · 2891 阅读 · 2 评论 -
Python 魔法方法详解
据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非常重要!...原创 2018-11-30 10:14:29 · 1798 阅读 · 0 评论 -
python3与2的区别
这篇文章主要介绍了相比于python2.6,python3.0的新特性。更详细的介绍请参见python3.0的文档。也可查阅资源->python参考手册(中文,包含2和3)Common Stumbling Blocks(常见的绊脚石)本段简单的列出容易使人出错的变动(初学者应该注意)。print语句被print()函数取代了,可以使用关键字参数来替代老的print特殊语法。例如:...原创 2018-11-30 10:33:40 · 682 阅读 · 0 评论 -
time 模块详解(时间获取和转换)
time 模块 -- 时间获取和转换time 模块提供各种时间相关的功能在 Python 中,与时间处理有关的模块包括:time,datetime 以及 calendar必要说明:虽然这个模块总是可用,但并非所有的功能都适用于各个平台。 该模块中定义的大部分函数是调用 C 平台上的同名函数实现,所以各个平台上实现可能略有不同。一些术语和约定的解释:时间戳(timestamp)的方式:通...原创 2018-12-01 09:34:08 · 9875 阅读 · 0 评论 -
timeit 模块详解(准确测量小段代码的执行时间)
timeit 模块详解 -- 准确测量小段代码的执行时间timeit 模块提供了测量 Python 小段代码执行时间的方法。它既可以在命令行界面直接使用,也可以通过导入模块进行调用。该模块灵活地避开了测量执行时间所容易出现的错误。以下例子是命令行界面的使用方法:$ python -m timeit '"-".join(str(n) for n in range(100))'10000...原创 2018-12-01 10:44:31 · 8831 阅读 · 0 评论 -
datetime 模块详解(基本的日期和时间类型)
datetime 模块详解 -- 基本的日期和时间类型datetime 模块提供了各种类用于操作日期和时间,该模块侧重于高效率的格式化输出在 Python 中,与时间处理有关的模块包括:time,datetime 以及 calendardatetime 模块定义了两个常量:datetime.MINYEAR - date 和 datetime 对象所能支持的最小年份,object.MINYE...原创 2018-12-01 11:07:22 · 37873 阅读 · 1 评论 -
Python内置函数(BIF)查询(附中文详解说明)
我们知道,Python 解释器内置了一些常量和函数,叫做内置常量(Built-in Constants)和内置函数(Built-in Functions),来实现各种不同的特定功能,在我的另外一篇博客中 第8章:Python计算生态 讲述了一些常用的内置函数的使用方法,但是随着Python的版本的不断更新,以及Python2与Python3的一些差异,内置函数的个数以及具体用法有些许的差异,罪保...原创 2018-11-29 18:44:39 · 9916 阅读 · 2 评论 -
解释 yield 和 Generators(生成器)
在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对 Python 中一些概念的理解情况。一些话题(“if/else 控制流”或者“定义和使用函数”)对于大多数学生是没有问题的。但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是“生成器和 yield 关键字”。我猜这对大多数新手 Python 程序员也是如此。有事实表明,在我花了大功夫后,有些人仍然不能理解生成器和 y...原创 2018-12-07 19:16:29 · 854 阅读 · 0 评论 -
Python如何从任何文件夹导入模块
从 "第050讲:模块:模块就是程序"这一讲中,我们学习了模块的相关知识,但是我们注意到了一个问题:如果我们要写一个模块,并且可以在IDLE中顺利导入这个模块,我们必须安装Python的目录下新建一个模块的 .py 文件,我们说过:为了使我们的 IDLE 能够顺利的找到这个模块,我们这个模块的位置应该跟我们调用的程序在同一个文件夹下。这样就比较麻烦了,因为我们希望把自己做的项目的文件统...原创 2018-12-08 10:18:11 · 13470 阅读 · 3 评论 -
Python3 如何优雅地使用正则表达式(详解一)
正则表达式介绍正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言。它被嵌入到 Python 中,并通过 re 模块提供给程序猿使用。使用正则表达式,你需要指定一些规则来描述那些你希望匹配的字符串集合。这些字符串集合可能包含英语句子、 e-mail 地址、TeX 命令,或任何你想要的东...原创 2018-12-12 16:22:13 · 2571 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解二)
上一篇:Python3 如何优雅地使用正则表达式(详解一)使用正则表达式现在我们开始来写一些简单的正则表达式吧。Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行匹配。解释:re 模块是使用 C 语言编写,所以效率比你用普通的字符串方法要高得多;将正则表达式进行编译(compile)也是为了进一步提高效率;后边我们会经常提到“模...原创 2018-12-15 15:44:40 · 1396 阅读 · 0 评论 -
Python3 如何优雅地使用正则表达式(详解三)
上一篇:Python3 如何优雅地使用正则表达式(详解二)模块级别的函数使用正则表达式也并非一定要创建模式对象,然后调用它的匹配方法。因为,re 模块同时还提供了一些全局函数,例如 match(),search(),findall(),sub() 等等。这些函数的第一个参数是正则表达式字符串,其他参数跟模式对象同名的方法采用一样的参数;返回值也一样,同样是返回 None 或者匹配对象。...原创 2018-12-15 21:06:47 · 1066 阅读 · 0 评论 -
python怎样安装whl文件
python怎样安装whl文件python第三方组件有很多都是whl文件,遇到这样的whl文件应该怎样安装呢,今天来介绍一下whl文件怎样安装。(一)下载 whl 文件可以从下面;两个网站找到自己需要的whl文件,部分文件在国内网站上没有,pypi网站上是最全的。pypi网站:https://pypi.python.org/pypi/国内whl集合网:https://www.l...原创 2018-12-13 09:02:39 · 37200 阅读 · 4 评论 -
PyInstaller使用简介
安装你可以从PyPi上下载安装,当然也可以使用pip或者easy_install来安装。pip install pyinstaller or easy_install pyinstaller简单总结PyInstaller使用方法:生成单一的exe文件:pyinstaller -F test.py添加必要的搜索路径:pyinstaller -F -p ...原创 2018-12-13 10:51:43 · 565 阅读 · 0 评论 -
Tkinter 组件详解(三):Checkbutton
Tkinter 组件详解之CheckbuttonCheckbutton(多选按钮)组件用于实现确定是否选择的按钮。Checkbutton 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。Checkbutton 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘快捷...原创 2018-12-19 21:43:10 · 28200 阅读 · 1 评论 -
Tkinter 组件详解(四):Radiobutton
Tkinter 组件详解之RadiobuttonRadiobutton(单选按钮)组件用于实现多选一的问题。Radiobutton 组件可以包含文本或图像,每一个按钮都可以与一个 Python 的函数或方法与之相关联,当按钮被按下时,对应的函数或方法将被自动执行。Radiobutton 组件仅能显示单一字体的文本,但文本可以跨越多行。另外,还可以为其中的个别字符加上下划线(例如用于表示键盘...原创 2018-12-19 21:58:33 · 28578 阅读 · 2 评论 -
Tkinter 组件详解(五):Frame
Tkinter 组件详解之FrameFrame(框架)组件是在屏幕上的一个矩形区域。Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充。何时使用 Frame 组件?Frame 组件主要用于在复杂的布局中将其他组件分组,也用于填充间距和作为实现高级组件的基类。用法Frame 组件可以用于装饰界面:import tkinter as tkmaster = ...原创 2018-12-20 10:04:03 · 57917 阅读 · 0 评论 -
Tkinter 组件详解(六):LabelFrame
Tkinter 组件详解之LabelFrameLabelFrame 组件是Frame组件的变体。默认情况下,LabelFrame 会在其子组件的周围绘制一个边框以及一个标题。何时使用 LabelFrame 组件?当你想要将一些相关的组件分为一组的时候,可以使用 LabelFrame 组件,比如一系列Radiobutton(单选按钮)组件。用法为组件分组,需要先创建一个 L...原创 2018-12-20 10:12:19 · 19533 阅读 · 4 评论 -
python使用selenium爬取js加密的网页
python使用selenium爬取js加密的网页我们经常使用Python从网站上爬取我们喜欢的图片,比如从煎蛋网爬取妹子图。现在虽然煎蛋网取消了“OOXX”栏目,但是至少把名字换成了随手拍,我今天想从该网站爬取妹子图,去发现没有办法 从爬取的代码中找到 ‘.jpg’ 关键词,这就尴尬了,我用审查元素看了一下,是有的,但是又看了一下网页的源代码,没有找到,实际上我们使用Python 的下面两句...原创 2018-12-14 16:00:52 · 6088 阅读 · 2 评论 -
Tkinter 组件详解(七):Entry
Tkinter 组件详解之EntryEntry(输入框)组件通常用于获取用户的输入文本。何时使用 Entry 组件?Entry 组件仅允许用于输入一行文本,如果用于输入的字符串长度比该组件可显示空间更长,那内容将被滚动。这意味着该字符串将不能被全部看到(你可以用鼠标或键盘的方向键调整文本的可见范围)。如果你希望接收多行文本的输入,可以使用 Text组件(后面介绍)。用法使...原创 2018-12-20 13:57:40 · 88490 阅读 · 6 评论 -
Tkinter 组件详解(八):Listbox
Tkinter 组件详解之ListboxListbox(列表框)组件用于显示一个选择列表。Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件的配置,用户可以从列表中选择一个或多个选项。何时使用 Listbox 组件?Listbox 组件通常被用于显示一组文本选项,Listbox 组件跟Checkbutton和Radiobutton组件类似,不过...原创 2018-12-20 14:28:21 · 62653 阅读 · 7 评论 -
Tkinter 组件详解(九):Scrollbar
Tkinter 组件详解之ScrollbarScrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。何时使用 Scrollbar 组件?Scrollbar 组件通常几乎与 Text 组件、Canvas 组件和 Listbox 组件一起使用,水平滚动条还能跟 Entry 组件配合。...原创 2018-12-20 14:40:21 · 32623 阅读 · 7 评论 -
Tkinter 组件详解(十):Scale
Tkinter 组件详解之ScaleScale(刻度)组件看起来像是一个带数据的 Scrollbar(滚动条)组件,但事实上它们是不同的两个东东。Scale 组件允许用于通过滑动滑块来选择一个范围内的数字。你可以控制该组件的最大值、最小值,以及分辨率。何时使用 Scale 组件?当你希望用户输入某个范围内的一个数值,使用 Scale 组件可以很好的代替 Entry 组件。用法创...原创 2018-12-20 15:08:07 · 9188 阅读 · 1 评论 -
Tkinter 布局管理器(一):pack
Tkinter 布局管理器之packpack、grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中:pack 是按添加顺序排列组件 grid 是按行/列形式排列组件 place 则允许程序员指定组件的大小和位置何时使用 pack 管理器?对比 grid 管理器,pack 更适用于少量组件的排列,但它在使用上更加简单(就像我们前边所有的例子中,展示一个组件我们...原创 2018-12-20 15:28:20 · 9548 阅读 · 0 评论 -
Tkinter 布局管理器(二):grid
Tkinter 布局管理器之gridpack、grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中:pack 是按添加顺序排列组件 grid 是按行/列形式排列组件 place 则允许程序员指定组件的大小和位置何时使用 grid 管理器?grid 管理器可以说是 Tkinter 这三个布局管理器中最灵活多变的。如果你只希望学习使用一个布局管理器,那么 gri...原创 2018-12-20 15:40:25 · 19492 阅读 · 1 评论 -
Python3 正则表达式特殊符号及用法(详细列表)
Python3 正则表达式特殊符号及用法(详细列表)正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配、模式重复次数。正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不只是一个字符串。注1:为了便于理解,难点的地方均用斜体举了栗子。注2:如果你对正则表达式一头雾水或者看不懂下边这个列表,那么小甲鱼极力推荐你先学习这个:Python3 如何优雅地使用正则表达式这里...原创 2018-12-15 13:08:45 · 4687 阅读 · 0 评论 -
什么是编码?
什么是编码?事实上计算机只认识 0 和 1,然而我们却可以通过计算机来显示文本,这就是靠编码实现的。编码其实就是约定的一个协议,比如 ASCII 编码约定了大写字母 A 对应十进制数 65,那么在读取一个字符串的时候,看到 65,计算机就知道这是大写字母 A 的意思。 由于计算机是美国人发明的,所以这个 ASCII 编码设计时只采用 1 个字节存储(事实上只用了 7 位,1 个字节有 ...原创 2018-12-10 10:19:12 · 9023 阅读 · 0 评论 -
一次性解决你所有的编码检测问题
在日常使用中,我们难以避免会遇到编码转换问题。(如果编码是什么都不知道,请先看:什么是编码?)而进行编码转换的前提是你知道这个字符串使用的是什么编码。比如你使用 urllib.request.urlopen() 获取一个网页时,你特么如果不知道网页的编码会怎样?直接 read().decode() 就可能会出现下边错误:这是因为无论是 encode() 还是 decode(),默认...原创 2018-12-10 10:35:45 · 2529 阅读 · 0 评论