用Docker启动Mangoyaml 文件# Use root/example as user/password credentialsversion: '3.1'services: mongo: image: mongo restart: always port...
分类:Python
56 篇文章链接数据库from peewee import *# 使用SQLite 并创建缓存sqlite_db = SqliteDatabase('/path/to/app.db', pragmas={ 'journal_mode': 'wal', ...
什么是算法?算法可以被看作是一种解决问题的通用方法,它提供了一系列步骤,这些步骤可以根据输入产生正确的输出结果。算法可以描述为一个流程图或伪代码,这样就可以方便地理解算法的思想和实现方式。在计算机科学中,我们经常需要解决各种问题,如查找最短路径、排序数据、匹配模式等。使用不同的算法可以有效解决这些问...
安装pip install walrus创建简单的映射关系import walrus"""创建db实例"""db = walrus.Database(host='192.168.1.7', port=6379, db=0, ...
查看包所在目录及信息pip show packagename安装第三方包pip install packagename卸载安装第三方包pip uninstall packagename查看已经安装的第三方包pip list查看可以更新的包(过期的包)pip list --outdated pip l...
很多小伙伴不知道怎么使用uwsgi服务部署flask或者Django项目,今天我们就来学习一下首先去虚拟环境安装一下uwsgipip3 install wsgi在项目目录下创建配置文件[uwsgi]# 使用nginx连接时 使用socket = 0.0.0.0:8080# 直接作为web服务器使用#...
1.安装所需依赖sudo apt install python3-dev python3-pip python-pip memcached -y #安装pip和memcachedsudo apt-get install python-dev#安装python-dev2.安装virtualenvpip...
0.什么是RedisREmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式...
在以前的推文中,我们介绍了操作Excel的模块Xlwings的知识,相关推文可以从本公众号的底部相关菜单获取。有小伙伴反映自己在一些文章中看到openpyxl也能对Excel进行相关的操作,于是留言想在本公众号里也能看到相关的教程。于是我开始了本专题的写作。另外,在推文《操作Excel的Xlwing...
开发工具Python版本:3.5.4相关模块:PyQt5模块(5.10版本)以及一些Python自带的模块。image.png主要思路主要实现的功能:(1)可以正常显示网页;(2)设置导航栏,用以实现浏览器的前进、后退、停止加载和刷新功能;(3)设置地址栏,可以实时更新当前网页的URL,同时支持输入...
列表推导式所谓的列表推导式,就是指的轻量级循环创建列表基本方法(一个for循环)image.png在循环中加ifimage.png两个for循环image.png三个for循环image.png深拷贝和浅拷贝copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。copy.deepco...
一、前言由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅。一、前言二、Tkinter 是什么三、Tkinter 控件详细介绍1. Tkinter 模块元素简要说明2. 常用窗口部件及简要说明:四、动手实践学习1. 创建主窗口及Label部件(...
#Peewee是一个简单而小的ORM。它几乎没有(但富有表现力的)概念,使其易于学习和直观使用。#安装# pip install peewee -i "http://mirrors.aliyun.com/pypi/simple" --trusted-host "mirr...
0.PySide2、PyQt5 简介PySide2、PyQt5 都是基于著名的 Qt 库。Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。但是 PySide2、PyQt5 这两者有什么区别呢?可以形象地这样说: P...
1. 责任链模式 责任链模式的内容:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求,直到有一个对象处理它为止。责任链的角色有抽象处理者、具体处理者和客户端。from abc import ABCMeta, abstrac...
1. 适配器模式将一个类的接口转换成客户希望的另外一个接口,适配器使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。实现适配器的两种方式,类适配器使用多继承,对象适配器使用组合。组合就是一个类中放入另一类的对象。 先来看下组合:class A:passclass B:def __init__...
1. 简单工厂模式简单工厂模式不是23中设计模式中的,但是必须要知道。简单工厂模式不直接向客户端暴露对象创建的细节,而是通过一个工厂类来负责创建产品类的实例。简单工程模式的角色有:工厂角色、抽象产品角色、具体产品角色,通过例子来加深理解:from abc import ABCMeta, abstra...
1. 开放封闭原则一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应该在不修改原代码的情况下进行修改。2. 里氏替换原则所有引用父类的地方必须能透明地使用其子类地方必须能透明地使用其子类的对象,一个简单的例子加强理解class User(object): def print_...
1. 设计模式设计模式是对软件设计中普遍存在或反复出向的各种问题所提出的解决方案。每一个设计模式系统地被命名、解释和评价了面向对象系统中一个重要和重复出现的设计。2. 设计模式的分类创建型模式:工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式。隐藏底层模块的逻辑,关注怎么创建对象。结构型模...
PEP 8风格指南PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。尽管我们可以在...
Python编程惯例“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”。由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码。下面我们总结了一些在...
项目部署上线指南准备上线上线前的检查工作。python manage.py check --deploy将DEBUG设置为False并配置ALLOWED_HOSTS。DEBUG = FalseALLOWED_HOSTS = ['*']安全相关的配置。# 保持HTTPS连接的时间SEC...
软件测试和自动化测试软件测试概述软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和品质的过程,也就是在规定的条件下对程序进行操作以发现程序中的错误,衡量软件的品质并对其是否能满足设计要求进行评估的过程。测试的方法黑盒测试:测试应用程序的功能,而不是其内部结构或运作。测试者不需具备应用程序的代码...
使用Django开发商业项目说明:本文的部分插图来自于《Python项目开发实战》和《精通Django》,这两本书中都包含了对Django框架精彩的讲解,有兴趣的读者可以自行购买阅读。Web应用问题1:描述一个Web应用的工作流程。问题2:描述项目的物理架构。(上图中补充负载均衡(反向代理)服务器、...
网络API接口设计目前许多的Web应用和移动应用都使用了前后端分离的开发模式,前后端分离简单的说就是前端或移动端通过网络API接口和后台进行交互,获得接口中提供的数据并负责用户界面的渲染。API是应用程序的编程接口的缩写,网络API通常指的是基于一个URL(统一资源定位符)可以访问到的资源,也就是说...
MySQL性能优化基本原则想要发挥 MySQL 的最佳性能,需要遵循 3 个基本使用原则。让MySQL回归存储的基本职能:MySQL 数据库只用于数据的存储,不进行数据的复杂计算,不承载业务逻辑,确保存储和计算分离;查询数据时,尽量单表查询,减少跨库查询和多表关联;杜绝大事务、大 SQL、大批量、大...
Docker容器技术详解Docker是基于Go语言开发的开源应用容器引擎,遵从Apache Licence 2.0协议,可以让开发者打包应用以及应用的依赖包到一个可移植的容器中,然后发布到各种发行版本的Linux系统上。Docker简介软件开发中最为麻烦的事情可能就是配置环境了。由于用户使用的操作系...
团队项目开发的问题和解决方案个人开发和团队开发这两个词相信对大家来说并不陌生。所谓个人开发就是一个人把控产品的所有内容;而团队开发则是由多个人组团并完成产品的开发。要实施团队开发以下几点是不可或缺的:对开发过程中的各种事件(例如:谁到什么时间完成了什么事情)进行管理和共享。在团队内部共享各类工作成果...
用FastAPI开发网络数据接口FastAPI 是一个用于构建API(网络数据接口)的现代、高性能的Web框架,基于Python 3.6+,使用了Python中的类型提示进行类型检查,非常符合工程化开发的需求,在业界有非常好的口碑。下面,我们先用代码告诉大家FastAPI到底能做什么,然后再来讲解它...
NoSQL入门NoSQL概述如今,大多数的计算机系统(包括服务器、PC、移动设备等)都会产生庞大的数据量。其实,早在2012年的时候,全世界每天产生的数据量就达到了2.5EB(艾字节,$$1EB\approx10^{18}B$$)。这些数据有很大一部分是由关系型数据库来存储和管理的。 早在1970年...
Python程序接入MySQL数据库在 Python3 中,我们可以使用mysqlclient或者pymysql三方库来接入 MySQL 数据库并实现数据持久化操作。二者的用法完全相同,只是导入的模块名不一样。我们推荐大家使用纯 Python 的三方库pymysql,因为它更容易安装成功。下面我们仍...
深入MySQL索引索引是关系型数据库中用来提升查询性能最为重要的手段。关系型数据库中的索引就像一本书的目录,我们可以想象一下,如果要从一本书中找出某个知识点,但是这本书没有目录,这将是意见多么可怕的事情!我们估计得一篇一篇的翻下去,才能确定这个知识点到底在什么位置。创建索引虽然会带来存储空间上的开销...
SQL 和 MySQL 详解SQL 详解我们通常可以将 SQL 分为四类,分别是 DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和 DCL(数据控制语言)。DDL 主要用于创建、删除、修改数据库中的对象,比如创建、删除和修改二维表,核心的关键字包括create、drop和al...
关系型数据库和MySQL概述关系型数据库概述数据持久化 - 将数据保存到能够长久保存数据的存储介质中,在掉电的情况下数据也不会丢失。数据库发展史 - 网状数据库、层次数据库、关系数据库、NoSQL 数据库、NewSQL 数据库。1970年,IBM的研究员E.F.Codd在Communication ...
玩转Linux操作系统说明:本文中对Linux命令的讲解都是基于名为CentOS的Linux发行版本,我自己使用的是阿里云服务器,系统版本为CentOS Linux release 7.6.1810。不同的Linux发行版本在Shell命令和工具程序上会有一些差别,但是这些差别是很小的。操作系统发展...
Web前端概述说明:本文使用的部分插图来自Jon Duckett先生的*HTML and CSS: Design and Build Websites*一书,这是一本非常棒的前端入门书,有兴趣的读者可以在亚马逊或者其他网站上找到该书的购买链接。HTML 是用来描述网页的一种语言,全称是 Hyper-...
图像和办公文档处理用程序来处理图像和办公文档经常出现在实际开发中,Python的标准库中虽然没有直接支持这些操作的模块,但我们可以通过Python生态圈中的第三方模块来完成这些操作。操作图像计算机图像相关知识颜色。如果你有使用颜料画画的经历,那么一定知道混合红、黄、蓝三种颜料可以得到其他的颜色,事实...
网络编程入门计算机网络基础计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可能用一两篇文章把它讲清楚,有兴趣...
进程和线程今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而缩短程序的执行时间,同时也让用户获得更好的体验。因此在当下不管是用什么编程语言进行开发...
使用正则表达式正则表达式相关知识在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉...
文件和异常实际开发中常常会遇到对数据进行持久化操作的场景,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,但是这里我们并不浪费笔墨介绍这个概念,请大家自行通过维基百科进行了解。在Python中实现文件的读写操作其实非常简单,通过Pyt...
图形用户界面和游戏开发基于tkinter模块的GUIGUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述。Python默认的GUI开发模块是tkinter(在Python 3以前的版本中名为Tkinter),从这个名字就可以看出它是基于Tk的,Tk是一个...
面向对象进阶在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。@property装饰器之前我们讨论过Python中属性和方法访问权限的问题,虽然...
面向对象编程基础活在当下的程序员应该都听过"面向对象编程"一词,也经常有人问能不能用一句话解释下什么是"面向对象编程",我们先来看看比较正式的说法。"把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过...
字符串和常用数据结构使用字符串第二次世界大战促使了现代电子计算机的诞生,最初计算机被应用于导弹弹道的计算,而在计算机诞生后的很多年时间里,计算机处理的信息基本上都是数值型的信息。世界上的第一台电子计算机叫ENIAC(电子数值积分计算机),诞生于美国的宾夕法尼亚大学,每秒钟能够完成约5000次浮点运算...
函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。可以用Python的程序来计算出这个值,代码如下所示。"""输入M...
构造程序逻辑学完前面的几个章节后,我觉得有必要在这里带大家做一些练习来巩固之前所学的知识,虽然迄今为止我们学习的内容只是Python的冰山一角,但是这些内容已经足够我们来构建程序中的逻辑。对于编程语言的初学者来说,在学习了Python的核心语言元素(变量、类型、运算符、表达式、分支结构、循环结构等)...
循环结构应用场景我们在写程序的时候,一定会遇到需要重复执行某条或某些指令的场景。例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向移动的指令。在这个场景中,让机器人向球门方向移动就是一个需要重复的动作,当然这里还会用到上一课讲的分支结构来判断机器...
分支结构应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后,我们要根据玩家得到分数来决定究竟是进入第二关,还是告诉玩家“Game...
语言元素指令和程序计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式...
初识PythonPython简介Python的历史1989年圣诞节:Guido von Rossum开始写Python语言的编译器。1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函...
前言我们在使用flask框架来搭建自己的博客,只要是设涉及到表单相关,必然会想起Flask-WTF与WTForms。对于flask初学者来说,比较容易混淆两者。今天想来一一解释两者的用法。Flask-WTF基本了解Flask-WTF是集成WTForms,并带有 csrf 令牌的安全表单和全局的 cs...
使用阿里云镜像仓库安装flaskpip install flask -i "http://mirrors.aliyun.com/pypi/simple" --trusted-host "mirrors.aliyun.com"创建一个flask项目from fl...
Django2005年发布,采用Python语言编写的开源web框架,早期的时候Django主做新闻和内容管理的,重量级的PythonWeb框架,Django配备了常用的大部分组件。官网:https://www.djangoproject.com/中文文档:https://docs.djangopr...
要说 Python 里使用频率最高的符号,我想下划线应该排第一吧?在不同场合下,下划线有不同含义:比如_var表示内部变量;__var表示私有属性;__var__表示魔术方法;这些含义有的是程序员群体的约定,如_var;有的是Python解释器规定的形式,如__var。本文总结Python语言编程中...
**导读:**Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置函数和标准库,又有第三方库和工具。这些库可用于文件读写、网络抓取和解析、数据连接、数清洗转换、数据计算和统计分析、图像和视频处理、音频处理、数据挖掘/机器学习/深度学习、数...