![](https://img-blog.csdnimg.cn/20200506222527226.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python 学习
人生苦短,我学Python !!!
南淮北安
好好学习
展开
-
一篇文章带你搞定 Python 学习
目录1. Python-学习2. Python-扩展1. Python-学习基础知识列表和元组字符串函数字典和集合文件存储-文件文件存储-os模块和pickle模块异常处理图形用户界面(EasyGui)对象面向对象编程继承多重继承组合类、类对象和实例对象一些相关的内置函数(BIF) 构造和析构(__init__(),__new__(),__del__())算...原创 2019-04-05 09:50:20 · 976 阅读 · 0 评论 -
import pclpy.pcl as pcl ImportError: DLL load failed: 找不到指定的模块
最近装这个 pclpy 这个模块,到我电脑上就出现这个问题,真把人折腾的够呛,记录下解决的过程。(1)安装pclpy:https://pypi.org/project/pclpy/#files(2)出现问题:import pclpy.pcl as pcl ImportError: DLL load failed: 找不到指定的模块(3)解决办法:下载OpenNI 2 (4)默认安装即可,...原创 2020-05-06 22:19:37 · 1599 阅读 · 0 评论 -
Pyhton:FTP代理端实现
import socketimport selectimport sysimport datetime# 范围时间# 根据指定的格式将一个时间字符串解析为时间元祖用于比价start_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '7:30','%Y-%m-%d%H:%M')end_ti...原创 2019-11-22 21:50:42 · 483 阅读 · 0 评论 -
Pyhton:FTP客户端实现
import tkinter as tk # 使用Tkinter前需要先导入import tkinter.messageboximport ftplib# 第1步,实例化object,建立窗口windowwindow = tk.Tk()# 第2步,给窗口的可视化起名字window.title('Ftp Client')# 第3步,设定窗口的大小(长 * 宽)window.geo...原创 2019-11-22 21:49:38 · 521 阅读 · 4 评论 -
Pyhton:FTP服务端实现
from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHandlerfrom pyftpdlib.servers import FTPServerimport socketimport datetime# 范围时间# 根据指定的格式将一个时间字符串解析为时间元祖用于比价s...原创 2019-11-22 21:47:55 · 286 阅读 · 0 评论 -
Python中网络编程对 socket accept 函数的理解
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept),这个套接字不能用于与客户端之间发送和接收数据。accept()接受一个客户端的连接请求,并返回一个新的套接字,不同于以上socket()返回的用于监听和接受客户端的连接请求的套接字;与此客户端通信是通过这个新的套接字上发送和接收数据来完成的。每个连接进来的客户端,都会通过accept函数返回一个不同的客...转载 2019-11-15 14:32:37 · 5801 阅读 · 0 评论 -
Python select.select 模块通信全过程详解
文章目录一、理解 select.select二、示例一、理解 select.select要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值。select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,第2个是监控和接收所有要发出去的data(outgoing data),第3个监控错误信息readable, writa...转载 2019-11-15 14:10:03 · 6724 阅读 · 0 评论 -
Python:深入理解 Socket 套接字
Python 提供了两个级别访问的网络服务:(1)低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API, 可以访问底层操作系统Socket接口的全部方法。(2)高级别的网络服务模块 SocketServer, 它提供了服务器中心类, 可以简化网络服务器的开发。文章目录一、什么是 Socket?二、理解 AF_UNIX,AF_INET,SOCK_STR...原创 2019-11-15 11:03:49 · 624 阅读 · 0 评论 -
Python学习之 SQLite 基本操作
关于数据库的知识相关知识,可以点击参考:数据库系统概论文章目录一、基础知识二、基本操作一、基础知识connect 方法为了使用底层的数据库系统,首先需要连接它。这时需要在适当地环境下使用具名函数 connect 。connect 函数返回连接对象,这个对象标识目前与数据库的回话连接对象支持的方法:方法名描述close()关闭连接后,连接对象和它的游标均不可用...原创 2019-08-04 11:17:13 · 658 阅读 · 0 评论 -
八皇后问题(借助Pyhton生成器解决)
文章目录一、什么是八皇后 ?二、解决思路三、代码实现一、什么是八皇后 ?八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。二、解决思路八皇后问题是一个经典的数学问题,同时也是一个典型的回溯问题,《Pytho...原创 2019-07-31 10:49:36 · 342 阅读 · 0 评论 -
Python GUI之 tkinter 窗口视窗教程详解
文章目录一、Tkinter是什么 ?二、Tkinter 控件详细介绍1. Tkinter 模块元素简要说明2. 常用窗口部件及简要说明三、动手实践学习1. 创建主窗口及Label部件(标签)创建使用2. Button窗口部件3. Entry窗口部件4. Text窗口部件5. Listbox窗口部件6. Radiobutton窗口部件7. Checkbutton窗口部件8. Scale窗口部件9. ...原创 2019-08-02 19:50:13 · 1280 阅读 · 0 评论 -
Python学习:print(*values, sep, end, file, flush)函数参数详解
print的参数:print(*values, sep=' ', end='\n', file=sys.stdout, flush=False)*values表示任何多个无名参数, 各个值之间用‘,’(逗号隔开),打印出来各个值之间用空格隔开sep=' '表示当输出多个打印的值时,各个值之间分割方式, 默认空格,可以自定义,例如end='\n'控制print中传入值输出完后结束符...原创 2019-04-21 16:19:43 · 4064 阅读 · 0 评论 -
Python学习:包
在实际的开发中,一个大型的系统有成千上万的Python模块是很正常的事,单单使用模块来定义Python的功能显然还不够,如果都放在一起显然不好管理并且有命名冲突的可能,因此Python中也出现了包的概念什么是包?把模块分门别类地存放在不同的文件夹,然后把各个文件夹的位置告诉Python,只是包的实现要更为简洁一些。创建一个包的具体操作如下:(1) 创建一个文件夹,用于存放相关的模块,文件夹...原创 2019-04-03 19:20:58 · 320 阅读 · 0 评论 -
Python学习:搜索路径
现在遇到一个问题?就是写好的模块应该放在哪里第一种方案可以将它和导入这个模块文件的源代码放在同一个文件夹内,但是可能有些人不希望把所有的代码都放在一个文件夹里,要实现这个功能需要首先了解了解搜索路径这个概念Python模块的导入需要一个路径搜索的过程,就是说,导入一个叫做hello的模块,那么python会在预定义好的搜索路径中寻找一个叫做hello.py的模块文件,如果有,则导入模块,如果...原创 2019-04-03 17:53:53 · 406 阅读 · 0 评论 -
Python学习:__name__='__main__'
1.# hello.pydef c2f(cel): fah = cel * 1.8 + 32 return fahdef f2c(fah): cel = (fah - 32) / 1.8 return celdef test(): print('测试,0摄氏度 = %.2f华氏度' % c2f(0)) print('测试,0华氏度 = %.2...原创 2019-04-03 17:15:34 · 335 阅读 · 0 评论 -
Python学习:模块
文章目录1. 模块就是程序2. 导入模块3. 模块的作用1. 模块就是程序模块就是平时写的代码,保存的每一个.py结尾的文件都是一个独立的模块当我们把文件保存起来,它就是一个独立的模块(为了让默认的IDLE可以找到这个模块,需要把文件放在Python的安装目录下)在python中每个模块都会维护一个独立的命名空间,我们应该将模块名加上,才能够使用模块中的函数2. 导入模块# te...原创 2019-04-02 23:55:33 · 319 阅读 · 0 评论 -
IDLE (Python) 实用的快捷键
快捷键含义Ctrl+]加缩进(可以多行)Ctrl+[减缩进(可以多行)Alt+3加注释(可以多行)Alt+4减注释(可以多行)Alt+P上一条命令Alt+N下一条命令Ctrl+Shift+space补全提示TAB键自动补全Alt+/查找编辑器内已经写过的代码来补全...原创 2019-08-05 09:20:39 · 903 阅读 · 0 评论 -
Pycharm 中 打开 python console 出现:DLL load failed: 找不到指定的模块
今天打开 Pycharm 中 python console 突然发现出现如下错误:DLL load failed: 找不到指定的模块鼓捣半天,发现是 Python Interpret 选择错误,虽然路径什么的看起来都没错,但是 python console 就是用不了因此重新为 System Interpret 选择路径加载:点击 OK 保存,重新打开 python consel...原创 2019-10-05 10:41:57 · 3413 阅读 · 0 评论 -
Python 线程池
文章目录一、为什么要引入线程池二、线程池的使用三、示例使用一、为什么要引入线程池Python中已经有了threading模块,为什么还需要线程池呢 ?当写爬虫时,需要控制同时爬取的线程数,如果创建了20个线程,而同时只允许3个线程在运行,但是20个线程都需要创建和销毁,线程的创建是需要消耗系统资源的,有没有更好的方案呢?其实只需要三个线程就行了,每个线程各分配一个任务,剩下的任务排队等待,...原创 2019-08-31 21:46:41 · 624 阅读 · 0 评论 -
Python 线程同步和线程优先级队列
文章目录一、线程同步二、线程优先级队列一、线程同步如果多个线程共同对某个数据修改,则可能出现不可预料的结果,为了保证数据的正确性,需要对多个线程进行同步使用 Thread 对象的 Lock 和 Rlock 可以实现简单的线程同步,这两个对象都有 acquire 方法和 release 方法,对于那些需要每次只允许一个线程操作的数据,可以将其操作放到 acquire 和 release 方法之...原创 2019-08-31 19:41:51 · 1316 阅读 · 0 评论 -
Python 多进程和多线程
文章目录一、什么是多进程二、什么是多线程三、线程的使用一、什么是多进程进程就是正在运行的程序比如你的系统现在运行着的微信就是一个进程,一旦你的微信运行起来系统就会给微信分配了内存和资源合)一个进程有一个虚拟的地址空间、可执行的代码、操作系统的接口、安全的上下文(记录启动该进程的用户和权限等等)、唯一的进程ID、环境变量、优先级类、最小和最大的工作空间(内存空间),还要有至少一个线程。每一...原创 2019-08-30 21:48:50 · 452 阅读 · 0 评论 -
Python 中__call__ 的用法
Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符示例:所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__ ,我们把 Person 类变成一个可调用对象:class Person(): def __init__...转载 2019-08-30 17:34:27 · 4209 阅读 · 0 评论 -
Python 多线程中join()的用法
对于多线程 Thread 对象的 join(timeout=None) 属性官方解释是:直至启动的线程终止之前一直挂起,除非给出了 timeout(秒) ,否则会一直阻塞其实真正的意思就是除非子线程也全部运行完毕,否则主线程一直挂起下面通过例子更好理解。文章目录一、相关知识点二、案例演示一、相关知识点知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单...转载 2019-08-30 16:21:13 · 4099 阅读 · 1 评论 -
Python中实现控制小数点位数的方法
文章目录一、利用python内置的round()函数二、利用格式化方法三、利用 math 模块里 ceil 和 floor 方法四、超过17位的精度分析一、利用python内置的round()函数round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数一般情况是使用四舍五入的规则,但是碰到舍入的后一位为5的情况,如果要取舍的位数前的数是偶数,则直接舍弃,如...原创 2019-08-12 20:40:39 · 50164 阅读 · 1 评论 -
一篇文章带你搞定 Python 中 sort 方法与 sorted 函数
Python 列表有一个内置的 list.sort() 方法可以直接修改列表还有一个 sorted() 内置函数,它会从一个可迭代对象构建一个新的排序列表文章目录一、基本排序二、关键函数三、Operator 函数五、升序和降序六、补充:对于列表按照多种规则排序一、基本排序sorted 会返回一个新的已排序的列表,而 list.sort() 方法会直接修改原列表对于 sorted 属于内...原创 2019-08-16 09:58:50 · 2914 阅读 · 5 评论 -
Python 中的内存分配关系(变量,列表,元祖等)
参考文章:[1]:https://blog.csdn.net/oh5w6hinug43jvrhhb/article/details/79308072[2]:https://www.jianshu.com/p/24090fb63968[3]:https://www.cnblogs.com/xfxing/p/8687111.html文章目录一、Python采用基于值的内存管理模式,相同的值在内...原创 2019-08-10 14:02:14 · 3234 阅读 · 8 评论 -
使用 wxPython 创建小型文本编辑器
文章目录一、安装和下载 wxPython二、简单认识三、更智能的布局一、安装和下载 wxPython二、简单认识import wx# 创建应用程序对象,它负责幕后所有的初始化app = wx.App()# 生成 wx框架# 如果正在创建一个单独窗口,就不需要考虑父部件,使用 None 即可# title 设置标题,size 确定窗口大小win = wx.Frame(None,ti...原创 2019-08-01 19:32:20 · 526 阅读 · 0 评论 -
Python:使用内建函数返回的迭代对象 ( object at....)
当我们使用一些内建函数时,返回的结果时一个迭代对象如果我们想使用这个迭代对象,可以使用 list 类转换返回的对象,将其转换为列表原创 2019-07-27 21:11:15 · 3184 阅读 · 0 评论 -
Python:收集参数( * 和 ** 的使用)
星号只在定义函数(允许使用不定数目的参数)或者调用时才有用文章目录一、(*)的使用二、(**)的使用三、练习使用参数一、(*)的使用有时候需要让用户提供任意多的参数,这就需要用到收集参数。星号的意思就是,收集多余的位置参数,如果不提供收集的元素,params 就是个空元祖参数收集的逆过程:是在调用,而不是在定义时使用二、(**)的使用处理关键字参数的 “收集” 操作,返回的是字典...原创 2019-07-27 20:16:20 · 2357 阅读 · 0 评论 -
Python 如何判断大小写字母,ASCII值及大小写转换
文章目录一、判断字符串二、大小写转换三、获得字母的 ASCII 值一、判断字符串# s 代表字符串s.isalnum() #所有字符都是数字或者字母s.isalpha() #所有字符都是字母s.isdigit() #所有字符都是数字s.islower() #所有字符都是小写s.isupper() #所有字符都是大写s.istitle() #所有单词都是首字母大写,像标题s.iss...原创 2019-08-13 20:44:27 · 50651 阅读 · 3 评论 -
Python学习:借助官方文档
Python的设计哲学是“优雅,明确,简单”,因此,Python开发者的这些是“用一种方法,最好是只用一种方法来做一件事”。虽然作者常鼓励大家多思考,条条大路通罗马,那是为了训练大家的思考。但在正式编程中,如果有完善的并且经过严密测试过的模块可以实现,那么建议大家最好使用现成的模块对于Python来说,学习资料其实一直都在身边,下面告诉大家集中寻找答案的方法1....原创 2019-04-04 09:09:15 · 443 阅读 · 0 评论 -
Python学习:定制序列
1. 协议要想成功实现容器的定制,需要先明白协议。协议类似其他编程语言中的接口,规定了哪些方法必须要定义。关于定制容器的一些协议:像序列类型(如列表、元组、字符串)或者映射类型(字典)都是属于容器类型。如果希望定制的容器是不可变的话,只需要定义__len__()和__getitem__()方法。3.如果希望定制的容器是可变的话,除了定义__len__()和__getitem__()方法还...原创 2019-01-30 23:25:29 · 666 阅读 · 0 评论 -
Pycharm常用的快捷键
快捷键含义ctrl+d复制当前行到下一行ctrl+y删除当前这一行shift+enter跳到下一行ctrl+/添加注释tab缩进shift+tab取消缩进ctrl+f查找ctrl+shift+f在当前项目中查找ctrl+减号折叠当前代码块ctrl+加号展开当前代码块ctrl+shift+减号折叠当...原创 2019-01-25 23:39:44 · 499 阅读 · 0 评论 -
lxml库中etree.HTML()和etree.tostring()用法
1. 测试HTML代码# 测试代码test.html<html> <head> <meta charset="UTF-8"> </head> <body> <div clas原创 2019-01-25 19:35:31 · 24631 阅读 · 3 评论 -
Python学习:图形用户界面(EasyGui)
1. 安装EasyGui 1. 解压easygui-0.96.zip 2. 使用命令窗口切换到easygui-0.96的目录下 3. Windows下执行F:\Python3.4\easygui-0.96>python.exe setup.py install 4. Linux或Mac下执行sudo /usr/bin/python34 setup.py install2. 导入E...原创 2019-01-19 23:35:55 · 1421 阅读 · 0 评论 -
Python学习:一些相关的内置函数(BIF)
1. issubclass(class,classinfo)如果第一个参数(class)是第二个参数(classinfo)的一个子类,则返回TRUE,否则返回FALSE(1)一个类被认为是其自身的子类(2)classinfo可以是类对象组成的元组,只要class是其中一个候选类的子类,则返回TRUE(3)其他情况会抛出TypeErrorclass A: passclass B(...原创 2019-01-24 15:26:32 · 583 阅读 · 0 评论 -
Python学习:类、类对象和实例对象
# 类定义Cclass C: count = 0# 类对象C()a = C()b = C()c = C()# 实例对象a,ba.count += 100print(a.count,b.count,c.count)#返回结果:100 0 0可以看出对实例对象a的count属性进行赋值之后,就相当于覆盖了类对象C的count属性。如果没有赋值覆盖,那么引用的是类对象的co...原创 2019-01-24 13:01:43 · 3064 阅读 · 1 评论 -
Python学习:组合
组合:在python中其实很简单,直接把需要的类放进去实例化就可案例class Turtle: def __init__(self, x): self.num = xclass Fish: def __init__(self, x): self.num = xclass Pool: def __init__(self, x, y)...原创 2019-01-24 11:20:40 · 284 阅读 · 0 评论 -
Python学习:多重继承
Python支持多继承,就是可以同时继承多个父类的属性和方法多重继承容易导致代码混乱,当不确定是否真的需要使用多重继承时,尽量避免使用它案例class Base1: def fool1(self): print('我在Base1中')class Base2: def fool2(self): print('我在Base2中')cla...原创 2019-01-24 11:12:48 · 323 阅读 · 0 评论 -
Python学习:继承
继承:一种让相似的东西得以自动传递的机制被继承的类为基类、父类或者超类;继承者称为子类,一个子类可以继承它的父类的任何属性和方法语法class 类名(被继承的类): .....class Parent: def hello(self): print('正在调用父类的方法T-T')class Child(Parent): passc = Chi...原创 2019-01-24 11:03:16 · 372 阅读 · 0 评论