Python学习笔记
文章平均质量分 63
Python学习笔记
在到处之间找我
这个作者很懒,什么都没留下…
展开
-
Python3 中使用 selenium
在使用selenium之前,我们得做一些工作Firefox浏览器得下载geckodriver官网传送门 同时在下载页面详细阅读匹配的firefox版本号与geckodriver版本等信息否则会报错:selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs t...原创 2018-08-11 17:36:53 · 1197 阅读 · 3 评论 -
鱼c笔记——Python 的 GUI 编程(十六):Tkinter 的三大布局管理器 pack、grid 和 place
什么是布局管理器:管理我们组件如何排列的东西 Tkinter 为我们提供了三个布局管理器:pack, grid 和 placepack, grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中:pack 是按添加顺序排列组件grid 是按行列形式排列组件place 则允许程序员指定组件的大小和位置目录何时使用pack管理器?何时使用grid管...原创 2018-02-13 15:48:47 · 8186 阅读 · 2 评论 -
鱼c笔记——Python 的 GUI 编程(十五):Tkinter 的组件 Toplevel 及 Tk 和 Toplevel 的方法
Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题栏、边框等部件,和 Tk() 创建出来的根窗口是一样的,共享着一样的方法。目录何时使用Toplevel组件?Tk(根窗口)和Toplevel(顶级窗口)的方法attribute(*args)之args参数何时使用 Toplevel 组件?Top...原创 2018-02-13 10:59:16 · 28658 阅读 · 2 评论 -
鱼c笔记——Python爬虫(三):使用User Agent和代理IP隐藏身份
服务器检查链接一般是检查Headers里的User Agent来判断访问来源是代码还是浏览器,所以可以修改Headers达到正常访问网页的目的。修改headers:途径一:通过Request的headers参数修改途径二:通过Request.add_header() 方法修改解决面对高频率的访问IP可能会被屏蔽的方法:一. 延迟提交的时间import url原创 2018-02-07 12:22:16 · 765 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十四):Tkinter 的组件 PanedWindow
PanedWindow(窗格)组件(Tk8.4 新增是一个空间管理组件。跟 Frame 组件类似,都是为组件提供一个框架,不过 PanedWindow 允许让用户调整应用程序的空间划分。目录何时使用 PanedWindow 组件?用法参数PanedWindow(master=None, **options)(class)方法add(child, **options)...原创 2018-02-12 23:00:19 · 8334 阅读 · 0 评论 -
鱼c笔记——Python爬虫(一):利用urllib进行简单的网页抓取
网络爬虫又称为网页蜘蛛,如果把互联网想象成一个蜘蛛网的构造,每个网站域名都是一个节点,那么这个蜘蛛就是在网页上爬来爬去,获得我们需要的资源。要使用Python编写爬虫代码,我们要解决的第一个问题是:Python如何访问互联网?好在Python为我们提供好了相关的“电池”,这个“电池”叫做urllib(URL网页地址 + library)URL的一般格式为(带方括号[ ]原创 2018-02-06 22:27:16 · 501 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十三):Tkinter 的组件 Spinbox
组件 Spinbox(Tk8.4 新增)Spinbox 组件是 Entry 组件(能让用户随意的输入数据)的变体,用于从一些固定的值(可以是连续的,也可以是一些字符串的组合)中选取一个。何时使用 Spinbox 组件?Spinbox 组件通常用于在限定数字中选取的情况下替代普通的 Entry 组件。注意:Spinbox 仅支持 Python3.2 和 Tk8.4 以上的版本...原创 2018-02-12 16:23:02 · 1664 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十一):Tkinter 事件绑定
一个 Tkinter 应用程序大部分时间是花在事件循环当中的,也就是通过 mainloop() 进入的事件循环。事件可以有各种来源:用户触发的鼠标和键盘操作和窗口管理器触发的重绘事件(在多数情况下是由用户简介引起的)Tkinter 给我们提供了一个强大的机制去管理这些事件,去定义这些事件的操作。对每一个组件来说,可以通过 bind() 的方法来将自己定义的函数或方法绑定到具体的事件上。...原创 2018-02-12 12:39:03 · 10211 阅读 · 5 评论 -
Python 的 IDLE 使用技巧
Shell 里Alt + p:返回上一次的输入Alt + n:与 Alt + p 相反上面 p 的意思是 precious,n 的意思是 nextIDLE 里Ctrl + [ :可以实现多行代码整体左移Ctrl + ] :可以实现多行代码整体右移. 操作符(点操作符)后使用 Tab 可以查看有哪些东西,嫌提示出来的太慢可以在 Options -> Conf...原创 2018-02-06 19:30:02 · 9989 阅读 · 3 评论 -
鱼c笔记——Python模块(三)
有这样一句话:Python自己带着电池(Batteries included),电池指的是Python标准库里面的模块这样、要从Python的设计哲学说起:优雅、明确和简单。因此,由Python开发者演变而来的哲学就是:用一种方法,最好是只有一种方法来做一件事。在正式编程中,如果有完善并且经过严密测试过的模块可以直接实现,那么建议使用现成的模块来工作。Python标准库中包含一般任务所原创 2018-02-06 19:16:01 · 278 阅读 · 0 评论 -
鱼c笔记——Python魔法方法三:属性访问
__getattr__(self, name) 定义当用户试图获取一个不存在的属性时的行为 : 当访问对象的时name属性时,若name属性不存在,会自动调用__getattr__。如果存在,则不会调用__getattr__方法,而是直接返回name属性__getatribute__(self, name) 定义当该类的属性被访问时的行为 当访问对象的name属性时,无论name存不存原创 2018-02-05 00:42:17 · 604 阅读 · 0 评论 -
鱼c笔记——Python模块(一)
模块是更高级的封装。容器 -->数据的封装函数 -->语句的封装类 -->方法和属性的封装模块 -->模块就是程序 保存每一个以.py为结尾的文件,就是保存了一个独立的Python模块导入模块的方法:第一种:import + 模块名就可以实现导入。 这一种导入模块调用模块中的函数,要注意函数命名空间的问题。第二种:from 模块名 import 函数名。原创 2018-02-06 13:23:20 · 324 阅读 · 0 评论 -
鱼c笔记——Python模块(二)
模块的主要作用:①封装组织Python的代码。当代码量很大的时候,我们可以有组织有纪律的根据不同的功能将代码分割成不同的模块,这样每个模块之间都是分隔开的,更容易阅读和测试。②实现代码的重用。if __name__ == '__main__':下面有两个文件,其中TemperatureConversion.py是转换华氏温度和摄氏温度的模块,cal.py则是原创 2018-02-06 16:49:14 · 393 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十):Tkinter 的组件 Menu、Menubutton 和 OptionMenu
Tkinter 提供了一个组件 Menu 用来实现顶级菜单,下拉菜单和弹出菜单。目录创建一个顶级菜单实现下拉菜单和级联菜单:实现弹出菜单一个带有 Checkbutton 和 Radiobutton 的菜单Menubutton 组件选择菜单星号* 作用一、星号(*)作为形参,表示调用可变参数函数:二、星号(*)作为实参时,表示通过解包参数调用函数创建一个顶...原创 2018-02-11 23:00:52 · 8801 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(八):Tkinter 的 Canvas 组件 1
Canvas 组件是一个通用的组件,通常用于显示和编辑图形,我们可以用它来绘制直线三角形多边形甚至是绘制其他的组件,所以说 Canvas 组件可以让我们随心所欲的绘制界面。 绘制对象在 Canvas 上绘制对象,我们可以使用 create 方法from tkinter import *root = Tk()w =Canvas(root, width=200, height...原创 2018-02-11 18:49:27 · 2343 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(九):Tkinter 的 Canvas 组件 2
画板实现原理:通过获取用户拖拽鼠标时候的每一个坐标,再将每一个坐标绘制成一个点就可以了。遗憾的是,Tkinter并没有为我们提供画点的方法,但是程序是死的,人是活的。我们可以通过绘制一个超小的椭圆来表示一个点。from tkinter import *root = Tk()w = Canvas(root, width=400, height=200, background='wh...原创 2018-02-11 21:32:07 · 1692 阅读 · 0 评论 -
鱼c笔记——生成器
生成器虽然强大,但生成器的学习并不涉及到Python的魔法方法,甚至还巧妙的避开了类和对象,仅需要通过普通的函数就可以实现。生成器其实是迭代器的一种实现,生成器的发明一方面使Python更为简洁,另一方面生成器使Python模仿协同程序的概念得以实现。所谓的协同程序就是可以运行的独立函数调用,函数可以暂停或者挂起,并在需要的时候从程序离开的地方继续或者重新开始。原创 2018-02-06 12:26:53 · 295 阅读 · 0 评论 -
鱼c笔记——Python异常处理
异常类型的检测、处理和抛出:异常的检测可以使用try语句来实现,任何出现在try语句范围内的异常都会被检测到。下面将介绍两种形式的try语句:一种是try-except,另一种是try-finally。①try-except语句:try: 检测范围except Exception[as reason]: # as reason可以报出异常原创 2018-02-02 23:58:00 · 367 阅读 · 0 评论 -
鱼c笔记——Python爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
下面将会出现两个例子:例子一:爬取小猫图片(从http://placekitten.com这个网站下载猫的图片,不过网站好像黄了....,但是http://placekitten.com/g/400/300更改最后面的两个400,300还是能得到图片的,还可以更改http://placekitten.com/200/200?image=3 image的数目获取不同图片)例子二:用Python模拟浏...原创 2018-02-07 00:56:41 · 860 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十七):Tkinter 的标准对话框模块 messagebox 、filedialog 和 colorchooser
Tkinter 为我们提供了三种标准对话框模块,他们分别是:messagebox、filedialog 和 colorchooser注:这三个模块原来是独立的,分别是 tkMessageBox、tkFileDialog 和 tkColorChooser,需要导入才能使用。在 Python3 之后,这些模块全部被归纳到 Tkinter 模块的麾下。目录Messagebox(消息对话框)...原创 2018-02-13 21:52:37 · 7036 阅读 · 5 评论 -
Python NumPy ndarray 入门指南
因为这几天做模糊数学和用 Python OpenCV2 都涉及到 NumPy ndarray,搜到的东西都没有写一些自己想要的。于是干脆自己写一篇,方便以后查阅。numpy.ndarray 的官方文档在这里:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html文章目录创建Converting Python...原创 2018-12-24 23:41:58 · 15387 阅读 · 4 评论 -
Python pandas 读取文件——读取具有明显分隔符的数据
首先我们来列举一下 pandas 处理文件的函数1:pd.read_csv(filepath):从 CSV 文件导入数据pd.read_table(filepath):从限定分隔符的文本文件导入数据pd.read_excel(filepath):从 Excel 文件导入数据pd.read_sql(query, connection_object):从 SQL 表 / 库导入数据pd.r...原创 2018-12-17 17:33:23 · 33740 阅读 · 0 评论 -
python opencv 剪切图片
因为在 OpenCV2 里面,所有的东西都是 numpy array 即 np.array1,所以使用 opencv 剪切图像主要原理是用 ndarray 的切片。图是使用我的 https://blog.csdn.net/sinat_41104353/article/details/85171185 这篇文章里的图。选用这张图的原因是该图十分的规整。每一片的大小都是 240×375 的,这为我们...原创 2018-12-25 00:34:43 · 23213 阅读 · 3 评论 -
python opencv 写入不了视频解决方法
因为在网上找了段写入视频的代码,发现最后视频文件大概只有 6KB 左右。到网上搜了下,结果是输入视频帧的高度和宽度没有设置好。下面代码是我随便整合的,能不能跑我不知道。关键部分就是cv2.VideoWriter('output.avi',fourcc, 20.0, (fwidth,fheight)) 中的 fwidth 和 fheight 要和你原始视频的帧宽度和帧高度一致import n...原创 2018-12-27 23:26:16 · 6739 阅读 · 5 评论 -
python opencv cv2.rectangle 参数含义
因为做程序图像剪切一直不太明白是怎么切片的,这里就用 cv2.rectangle 这个函数来看一下 opencv 是怎么计量图像的坐标轴的。opencv 官网上给出的 cv2.rectangle 函数定义 如下:Python: cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) → Noneimg – ...原创 2018-12-25 00:34:30 · 192120 阅读 · 22 评论 -
python pandas 之 Dataframe 数据结构
DataFrame 是 pandas 中两个主要数据结构之一,另一个是 Series。DataFrame 的文档在这里:传送门。因为这几天需要使用这个数据结构来完成一个小作业,在这里总结一下 Dataframe 的一些基本用法。文章目录创建元素访问获取行列常用属性矩阵转置元素个数行元素个数列元素个数操作遍历行遍历列遍历求和行求和列求和参考资料创建首先我们来看一看 Dataframe 的创建...原创 2019-01-26 23:56:51 · 2360 阅读 · 0 评论 -
python opencv 将一张图片无缝合成到另一张图片中
原文地址:Seamless Cloning using OpenCV (Python , C++)无缝合成(Seamless Cloning)是 opencv3 的新特性。利用这个新特性,我们可以从一个图像复制对象,并将其粘贴到另一个图像中,同时使组合看起来无缝和自然。比如说下面这个图就是飞机和天空无缝合成的结果想要达到上述效果,我们主要的函数就是 cv2.seamlessClone,其...翻译 2018-12-21 14:08:57 · 27754 阅读 · 22 评论 -
Python 打开文件对话框
以下内容来自http://interactivepython.org/runestone/static/thinkcspy/GUIandEventDrivenProgramming/02_standard_dialog_boxes.html#file-chooserimport tkinter as tkfrom tkinter import filedialogimport osa...翻译 2018-09-12 23:12:24 · 11934 阅读 · 1 评论 -
python3实现合并m3u8格式文件
此文是继将m3u8格式转化为想要的格式而写代码如下(写的不好多多见谅):from tkinter import filedialog as tkFileDialogimport osimport sys# 获取文件夹路径def get_directory_path(): default_dir = r"C" # 设置默认打开目录 # fname = tkFileDia...原创 2018-07-07 11:43:55 · 4971 阅读 · 1 评论 -
鱼c笔记——Python正则表达式(一):匹配IP地址
之前我们发现,通过字符串的find方法查找十分的麻烦,而且不具备通用性。所以,我们想,能不能利用我们要查找字符串的特征进行查找呢,这时候就得使用Python的正则表达式了。正则表达式是能够描述一些复杂规则的一个工具,所以面对这些问题时,使用正则表达式会十分简单。不同语言实现正则表达式的方法不同,Python是通过re模块来实现的。下面将具体的给出例子演示re模块中的search()方法的用法:代码...原创 2018-02-08 12:39:48 · 1122 阅读 · 0 评论 -
鱼c笔记——Python爬虫(四):从煎蛋网上爬取图片
import urllib.requestimport osimport randomdef url_open(url): req = urllib.request.Request(url) #先生成一个request对象,便于添加head,使其更像是浏览器访问 req.add_header('User-Agent', 'Mozilla/5.0 (Windows...原创 2018-02-08 09:53:54 · 921 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(十二):Tkinter 的组件 Message
Tkinter 的 Message(消息)组件:Message 组件实际上是 Label 组件(只能显示单行)的变体,用于显示多行文本消息。Message 组件能够自动换行,并调整文本的尺寸使其适应给定的尺寸。目录实例何时使用 Message 组件?用法参数实例下面的例子是演示自动换行的功能from tkinter import *root = Tk()...原创 2018-02-12 16:20:50 · 1777 阅读 · 0 评论 -
python字符串前面加u,r,b的含义及字符串判空
u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8r/R:非转义的原始字符串 与普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些转载 2018-02-07 19:55:14 · 616 阅读 · 0 评论 -
Python3 中 bytes 和 string 之间的互相转换
因为这是原来不知道 Markdown 时写的文章,富文本编辑器不知道怎么用脚注,所以参考资料显得有些孤立了,见谅。Table of Contents前言创建 bytes 型数据创建字符串相互转换string to bytes按 utf-8 的方式编码,转成 bytes按 gb2312 的方式编码,转成 bytesbytes to string解码成 stri...原创 2018-02-07 19:42:16 · 88232 阅读 · 2 评论 -
鱼c笔记——Python的各种参数和函数文档
参数如果计较来分要分为形式参数(parameter)和实际参数(argument)函数定义过程中的参数是形参,因为它只是一个形式,表示占据一个参数位置传递进函数的参数叫做实参,因为它是具体的参数值函数文档给函数写文档是为了让别人能够更好的理解我们写的函数。>>> def MyFirstFunction(name): '函数定义过程中的name叫做形参' #这句话是函数文档,会...原创 2018-02-14 00:28:31 · 330 阅读 · 0 评论 -
鱼c笔记——Python的匿名函数(lambda表达式)以及filter()和map()函数
Python允许使用lambda关键字来创建匿名函数。语法冒号(:)前面是函数的参数,后面是函数的返回值。>>> def ds(x): return 2 * x + 1>>> ds(5)11>>> lambda x : 2 * x + 1 #lambda语句事实上构建了一个函数对象。如果要对它进行使用,只需要简单的赋值就行了。...原创 2018-02-13 23:54:09 · 494 阅读 · 0 评论 -
鱼c笔记——Python魔法方法六:迭代器
迭代类似于循环,每一次重复的过程被成为一次迭代的过程,每一次迭代得出的结果会被用作下一迭代的初始值。提供迭代方法的容器我们成为迭代器。通常我们接触到的迭代器有序列,字典。我们通常使用for语句来进行迭代。>>> for i in "Harry Potter": print(i, end = ' ') H a r r y P o t t e r for语句的作原创 2018-02-05 19:02:50 · 305 阅读 · 0 评论 -
鱼c笔记——Python 的 GUI 编程(七):Tkinter 的 Text 组件实用技巧
有关 Text 组件的基本用法在上一篇博客中已经讲述,这里不再赘述。这里将讲述 Text 组件的实用技巧:目录①判断内容是否发生变化②查找操作③Text 组件还支持恢复和撤销的操作自定义撤销操作①判断内容是否发生变化比如说做一个笔记本 (.txt 的那个记事本) 程序,或者重新做一个 IDLE。它们都有输入框,有输入框当程序在关闭的时候应该自动检测内容是否发生改变,...原创 2018-02-11 14:08:41 · 1588 阅读 · 0 评论 -
鱼c笔记——Python工厂函数
在Python2.2之前,类和类型是分开的。类是属性和方法的封装,类型就是像整型、浮点型和字符串这些。但是在Python2.2之后,作者试图对这两个东西进行统一。他的做法是把int,float,string,list,tuple等这些BIF(内置函数)统统转换为工厂函数。>>> type(len)>>> type(dir)>>> type(int)>>> type(list)原创 2018-02-04 14:20:07 · 367 阅读 · 0 评论 -
Python魔法方法参数的查询
今天自学Python看到了Python的魔法方法,到网上搜了搜关于魔法方法的文章,发现有好多魔法方法,心想这咋记得住传啥参数呢,就又搜了搜关于查看参数的方法,但是遗憾的是没有找到。于是自己倒腾了一下:先打开Python的IDLE,我们都知道可以用help()来查看一个函数的用法,于是就先试了一下:>>> help(__hasattr__)Traceback (most recen原创 2018-02-04 10:07:50 · 556 阅读 · 0 评论