Python3
0x001
强大且温柔
展开
-
案例:python 中调用mfc dll 的两个小例子
前:此处的mfc dll采用的都是mfc 常规dll。 注意python 调用dll时的查找路径规则。 def文件导出和关键字声明导出互斥。 ctypes提供了两个LibraryLoader:CDLL和WinDLL。CDLL支持__cdecl,WinDLL支持__stdcall(仅限Windows)。 根据C库中使用的调用约定,必须在Python中使用正确的LibraryLoade...原创 2019-12-10 20:31:40 · 1028 阅读 · 0 评论 -
Python3-串口:1 串口的基础知识补充
上位机是如何采集下位机发送的串口数据的? 下位机(比如单片机)通过串口线(比如RS232)发送数据给上位机(PC),下位机部分主要程序就是将数据按照一定的封装格式打包好数据,然后配置好串口相关参数(比如波特率,校验位什么的),上位机需要有软件将串口获得的数据再根据封装格式还原成你需要的数值,这就是整个过程了。(——来自‘百度知道’) ...原创 2019-11-04 11:32:34 · 179 阅读 · 0 评论 -
Python3-串口:1 Python3 简单的串口通信实现
前串口通信的基础知识,请参考博客:https://blog.csdn.net/xiaobaixiongxiong/article/details/83998436串口通信就是计算机和外设之间,通过数据信号线、底线、控制线等,按位进行传输数据的一种通讯方式。这种通讯方式使用的数据线少。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆及使用的协议。Python实现简...原创 2019-11-02 14:51:10 · 26752 阅读 · 12 评论 -
Python教程篇:threading
1.简单例子:import threadingdef thread_job(): print('this is an added Thread, number is %s' % threading.current_thread())def main(): # 添加一线程,这个线程执行target里,比如这里就是执行thread_job() added_thr...原创 2019-09-20 10:36:14 · 270 阅读 · 0 评论 -
Python教程篇:threading.local
1.原理图2.代码示例import threading# 创建全局threadlocal对象:local_school = threading.local()def process_thread(name): # 绑定ThreadLocal的student: local_school.student = name process_student()...原创 2019-09-20 11:31:08 · 234 阅读 · 0 评论 -
Flask教程篇:(flask中threadlocal支持协程的原理)
1.考虑情况:情况一:单进程单线程,基于全局变量做。 情况二:单进程多线程,threading.local对象。 情况三:单进程单线程(多个协程),threading.local对象做不到。 2.python中ThreadLocal的原理:见链接Python教程篇:threading.local 自己模拟实现:# 模拟ThreadLocal# ...原创 2019-09-21 19:38:55 · 1386 阅读 · 1 评论 -
Flask应用篇-数据库:数据库连接存在的问题
前:原生SQL pymysql(2/3) MySQLdb(2) SQLAlchemy(ORM)(pymysql/MySQLdb) flask-SQLAlchemy原生SQL : 参考:http://www.cnblogs.com/wupeiqi/articles/8184686.html无连接池 (应用场景:单进程单线程;故在并发的场合下:数据库的连接就会随着...原创 2019-09-21 21:01:33 · 290 阅读 · 0 评论 -
Flask应用篇-数据库:SQLAlchemy 与 Flask_Sqlalchemy
目录一、简介二、使用(一)采用sqlalchemy方式1. 基本:通过SQLAlchemy连接数据库并取数据2. ORM介绍(SQLAlchemy强大的地方)(二)、采用Flask-SQLAlchemy方式一、简介 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是...原创 2019-09-18 15:08:18 · 2431 阅读 · 0 评论 -
Flask应用篇:flask_migrate
flask_migrate 其实就是多alembic的封装,为了使用更方便。前:循环引用:循环引用的解决:正: 在实际的开发环境中,经常发生数据修改的行为,一般我们修改数据库不会直接动手去修改,而是去修改ORM对应的模型,然后再把模型映射到数据库中。这时如果有一个工具专门干这事,就比较方便了。flask-migrate应运而生。 ...原创 2019-09-18 23:13:12 · 227 阅读 · 0 评论 -
Flask实战:实现简单的计算机资源监控系统,动态数据展示
前言简介: 采用Flask、Flask_socketio,实现对计算机资源实时监控刷新。Domain info: Flask、Flask_socketio、psutil、threadingpsutil获取系统cpu使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu,interval指定的是计算cpu使用率的...原创 2019-09-19 09:58:01 · 1587 阅读 · 3 评论 -
Python-web:WSGI介绍
https://www.bilibili.com/video/av64065585/?p=143 学习笔记原创 2019-09-29 16:22:32 · 87 阅读 · 0 评论 -
Python-web:web服务器+动态资源‘框架’1
前:服务器的种类有很多比如Nginx、Apache等等,这涉及到了服务器的性能,故有了服务器自己的技术,那么如何让自己的动态资源框架实现忽略这些不同的web服务器呢,于是就有了WSGI协议。web服务器+动态资源‘框架’ 模拟1.文件结构图:2.参考代码web_server.py# 让web服务器支持WSGI协议# 面对对象的方式# 多进程实现# ...原创 2019-09-30 10:05:48 · 111 阅读 · 0 评论 -
Python-高级:闭包
特点:多层函数嵌套 往往内部函数用到外部函数的变量值优点: 有点像类,可是又没有类那么臃肿(有乱七八糟的魔法属性)。闭包精简,既有数据,还有执行这些数据的代码,而且没有其他乱七八糟的东西示例代码:def line(k, b): def create_y(x): print(k*x+b) return create_yline1 =...原创 2019-09-30 11:36:35 · 150 阅读 · 0 评论 -
Python-高级:装饰器1
1.原理: (其实质就是用到闭包)def setfunc(func): def callfunc(): print("-------") print("*******") func() return callfuncdef test(): print("test")test = setfunc(test...原创 2019-09-30 16:23:01 · 101 阅读 · 0 评论 -
Python-高级:装饰器2 (对有参数无返回值的函数进行装饰)
https://www.bilibili.com/video/av64065585/?p=154 学习笔记原创 2019-10-02 09:03:18 · 301 阅读 · 0 评论 -
Python-高级:装饰器3(对应有返回值函数进行装饰,通用装饰器)
https://www.bilibili.com/video/av64065585/?p=157 学习笔记原创 2019-10-02 09:14:49 · 369 阅读 · 0 评论 -
Python-高级:装饰器5(了解:用类来当装饰器)
示例代码:class Test(object): def __init__(self, func): self.func = func def __call__(self): print("这里是装饰器添加的方法") ret = self.func() return ret# ****@Tes...原创 2019-10-02 09:59:12 · 75 阅读 · 0 评论 -
Python-高级:装饰器4(多个装饰器对同一个函数进行装饰)
示例代码:def setfunc(func): def callfunc(*args, **kwargs): print("---setfunc----") print("*******") func(*args, **kwargs) print("-setfunc end --") # func(ar...原创 2019-10-02 09:49:00 · 254 阅读 · 0 评论 -
Python-web:实现简单框架,让web服务器支持
https://www.bilibili.com/video/av64065585/?p=142 学习笔记原创 2019-09-29 15:30:36 · 121 阅读 · 0 评论 -
Python-web:静态资源、动态资源、web服务器支持动态解析
参考代码:# 面对对象的方式# 多进程实现# 补充知识点:F5是刷新(不过很多时候都是用的浏览器缓存);用ctrl+r 强制刷新。import socket, reimport multiprocessingimport timeclass WSGIServer(object): def __init__(self): """ 初始化服务器的各项内容...原创 2019-09-29 15:00:39 · 593 阅读 · 0 评论 -
Python-高级:魔法属性
https://www.bilibili.com/video/av64065585/?p=106 学习笔记原创 2019-09-29 10:19:04 · 111 阅读 · 0 评论 -
Python-高级:Property属性
https://www.bilibili.com/video/av64065585/?p=101 学习笔记原创 2019-09-29 09:55:10 · 102 阅读 · 0 评论 -
Python-高级:类对象、实例对象、类方法、实例方法、类属性、实例属性、静态方法
参考教程的截图:示例代码:class Test(): company = 'OTN' # 实例方法 def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "name...原创 2019-09-29 09:13:11 · 226 阅读 · 0 评论 -
Python-高级:*args **kwargs
https://www.bilibili.com/video/av64065585/?p=98 学习笔记原创 2019-09-28 22:06:32 · 791 阅读 · 0 评论 -
Python-高级:多继承中MRO顺序
https://www.bilibili.com/video/av64065585/?p=97 学习笔记原创 2019-09-28 21:47:44 · 117 阅读 · 0 评论 -
Python-高级:import导入模块2 (多模块import注意点)
https://www.bilibili.com/video/av64065585/?p=95原创 2019-09-28 10:36:47 · 351 阅读 · 0 评论 -
Python-tkinter6:一个简单的tkinter(checkbutton 勾选项)
示例代码:import tkinter as tk # 1.创建窗口window = tk.Tk()# 2.设置窗口属性window.geometry("200x400")window.title('my-window')# 3.设置组件# 3.1 label 标签l = tk.Label(window, bg='yellow', width=20, text='empt...原创 2019-10-05 10:45:08 · 1250 阅读 · 0 评论 -
Python-web:url编解码
https://www.bilibili.com/video/av64065585/?p=175 学习笔记原创 2019-10-02 23:09:02 · 218 阅读 · 0 评论 -
Python-高级:变量的实质
原创 2019-10-10 19:04:42 · 131 阅读 · 0 评论 -
Python-tkinter12:一个简单的tkinter-实例(一个登陆的窗口)
示例代码:import tkinter as tk from tkinter import messageboximport pickle # 存放数据# 1.创建窗口(window)window = tk.Tk()# 2.设置这个窗口(window)的相关信息window.title("my window")# window.geometry("450x300")wind...原创 2019-10-07 14:19:15 · 541 阅读 · 0 评论 -
Python-tkinter11:一个简单的tkinter-布局(pack、grid、place)
示例代码:import tkinter as tk # 1.创建窗口(window)window = tk.Tk()# 2.配置这个窗口(window)的相关属性window.title('my window')window.geometry('200x200')# 3.各类组件# pack(放在窗口的上下左右)tk.Label(window, text=1).pack(...原创 2019-10-06 16:39:23 · 283 阅读 · 0 评论 -
Python-tkinter10:一个简单的tkinter(messagebox 弹窗)
示例代码:import tkinter as tkimport tkinter.messagebox # 注意要导入!(此处Python版本是3.7.4)(Python版本不同,messagebox使用不同)# 1.创建窗口(window)window = tk.Tk()# 2.配置这个窗口(window)的响应参数window.title('my - windows')w...原创 2019-10-06 16:19:31 · 1489 阅读 · 0 评论 -
Python-tkinter9:一个简单的tkinter(frame)
frame:一个框架,里面可以放各种小部件,说白了,就是一个长在窗口里的窗口。示例代码:import tkinter as tk # 1.创建窗口(window)window = tk.Tk()# 2.设置窗口(window)的属性window.title("my-window")window.geometry("200x200")# 3.设置组件# 3.1 label...原创 2019-10-06 09:33:55 · 290 阅读 · 0 评论 -
Python-tkinter8:一个简单的tkinter(menu)
示例代码:import tkinter as tk # 1.创建窗口window = tk.Tk()# 2.设置窗口属性window.geometry("200x200")window.title('my-window')# 3.设置组件# 3.1 labell = tk.Label(window, text='', bg='yellow')l.pack()cou...原创 2019-10-06 09:18:01 · 217 阅读 · 0 评论 -
Python-tkinter7:一个简单的tkinter(canvas)
示例代码:import tkinter as tk # 1.创建窗口window = tk.Tk()# 2.设置窗口属性window.geometry("500x500")window.title('my-window')# 3.设置组件# 3.1 canvas 画布# 参数:height:高;width:宽(二者的单位都是px)canvas = tk.Canvas(w...原创 2019-10-05 11:10:56 · 276 阅读 · 0 评论 -
Python-tkinter5:一个简单的tkinter(scale)
示例代码:import tkinter as tk # 1.创建窗口window = tk.Tk()# 2.设置窗口属性window.geometry("200x400")window.title('my-window')# 3.设置组件# 3.1 label 标签l = tk.Label(window, bg='yellow', width=20, text='empt...原创 2019-10-05 10:30:14 · 498 阅读 · 0 评论 -
Python-tkinter4:一个简单的tkinter(radiobutton)
示例代码:import tkinter as tk # 描述:选中radiobutton时,在label标签中显示相应内容。# 1.创建一个窗口(window)window = tk.Tk()# 2.设置窗口属性window.geometry("200x400")window.title("my window")# ******方法1 **********# 3.各类组...原创 2019-10-04 10:31:32 · 323 阅读 · 0 评论 -
Python-tkinter3:一个简单的tkinter(listbox)
示例代码:import tkinter as tk # 1.创建一个窗口(window)window = tk.Tk()# 2.设置这个窗口(window)的属性window.geometry('200x400')window.title('my window')# 3.各类组件# 3.1 labell_text = tk.StringVar()l = tk.Labe...原创 2019-10-04 09:54:31 · 581 阅读 · 0 评论 -
Python-tkinter2:一个简单的tkinter(entry、button、text)
示例代码:import tkinter as tk # 1.创建一个窗口window = tk.Tk()# 2.设置窗口属性window.title("my window")window.geometry('200x200')# 3.窗口(window)的各类组件# 3.1 entry 输入框e = tk.Entry(window, show='*') # 参数show...原创 2019-10-04 09:35:46 · 817 阅读 · 0 评论 -
Python-tkinter1:一个简单的tkinter (label、button)
前:tkinter的本质就是把tk中的各种组件以一定的布局(pack、place等)组合在一起。其中,一个组件也可以成为另一个的组件的容器。示例代码:import tkinter as tk # 定义一个全局变量,来控制label中text的显示与否ON_HIT = False# 1.建立一个窗口(window)window = tk.Tk()# 2.设置这个窗口(...原创 2019-10-04 08:43:22 · 324 阅读 · 0 评论