自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 分析

在 Django 的项目中, settings.py 配置文件都会有如下一句代码,表示当前 Django 项目的根目录,这句代码中包含着 Python 标准库的一些函数知识,这里就根据这句代码涉及到的几个知识点进行分析讲解:1.__file____file__ 是模块文件(即 .py 文件)的一个属性,返回当前模块文件所在的路径,例如在 E 盘下,当前的项目结构如下: PythonProject│ test.py打印 __file__ 返回的结果,可以看到其返回的结果是当前模块文件所在的路径:

2020-12-26 22:19:03 6912 3

原创 Python 如何使用 virtualenv 安装虚拟环境

一、虚拟环境介绍虚拟环境(virtual environment),它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。二、为什么要使用虚拟环境?项目部署时,直接导出项目对应的环境中的库就可以了;同时开发多个项目,各自项目使用的 python 版本不同,譬如一个是 python2,另一个是 python3,那么需要来回的切换 pyth

2020-12-26 15:24:10 562

原创 “1 or 2”、“1 and 2”、“1 < (2==2)”、“1 < 2==2” 分别输出什么?

首先看下这道题目的结果:“1 or 2” 的结果为 1,“1 and 2” 的结果为 2,“1 < (2==2)” 的结果为 False,“1 < 2==2” 的结果为 True。>>> 1 or 21>>> 1 and 22>>> 1 < (2==2)False>>> 1 < 2 == 2True要想理解这道题目,首先得知道以下两点:1.优先级:not > and > or

2020-12-25 22:45:15 7355

原创 Windows 系统怎么更改 pip 源

更改系统的 pip 源可以极大的提高 Python 第三方库的下载安装速度Linux 系统下更改 pip 源可以参考以下文章:https://blog.csdn.net/qq_44214671/article/details/111008427Windows 系统下更改 pip 源的步骤如下:1.在文件夹的地址栏输入 %appdata%,进入到 C:\Users\Lenovo\AppData\Roaming 文件夹下:2.新建 pip 文件夹。3.在 pip 文件夹下新建 pip.ini 文件

2020-12-25 21:08:29 505

原创 Python 怎么将项目环境进行迁移(部署到服务器)

在项目进行部署的时候,我们需要在部署的服务器上导入相同的项目环境,那么如何将项目虚拟环境中添加的包和依赖进行导出和导入到部署的服务器环境中呢?1.首先打开命令行,进入到项目的虚拟环境当中,再将项目虚拟环境中添加的包和依赖通过如下命令导出到 .txt 文件中:pip freeze > requirements.txt命令执行完后,requirements.txt 文件的内容如下(相互依赖的包和版本号):aiohttp==3.7.2async-timeout==3.0.1attrs==2.

2020-12-25 20:29:28 2046

原创 Python 中常用的保留字(关键字)详解

Python 的保留字即关键字总共有35个,不能把他们用作任何标识符名称,关键字是区分大小写的。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字,如下所示:>>> import keyword>>> keyword.kwlist['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def',

2020-12-25 14:22:05 20431

原创 MySQL 表的数据操作常用命令总结

MySQL 表的数据操作常用命令总结一、插入数据二、更新数据三、删除数据四、图形化界面操作数据一、插入数据1.为所有字段插入数据语法:insert [into] 表名[(字段名1,字段名2,字段名3,....)] values|value(值1,值2,值3....);例如:创建一张表 student(sno 主键自增 sname 非空 age sex 默认 男 email 唯一),然后为 student 表所有字段插入数据-- 创建一张表 student(sno 主键自增 sname 非空 a.

2020-12-24 17:58:58 361 1

原创 MySQL 表的索引操作常用命令总结

索引一、索引的简介1.索引的概念是数据库对象,实现数据库快速查询。2.为什么使用索引实现数据库快速查询,提高查询速度。3.索引的分类a.普通索引最基本的索引,对字段数据的类型和值没有任何限制,数据类型可以任意,字段的值可以空也可以重复。b.主键索引给主键字段添加的索引主键特点:非空且唯一c.唯一索引给唯一字段添加的索引唯一索引和主键索引的区别:唯一索引:只有唯一,可以有空值主键索引:非空且唯一d.全文索引适用于在一大串文本添加的索引,只可以给字符串数据类型添加。字符

2020-12-24 15:32:53 753

原创 Python 内置函数 any() 和 all() 有什么区别?

any(iterable)如果 iterable 的任一元素为真则返回 True。 如果迭代器为空,返回 False。等价于:def any(iterable): for element in iterable: if element: return True return Falseall(iterable)如果 iterable 的所有元素为真(或迭代器为空),返回 True 。等价于:def all(iterable):

2020-12-24 14:17:14 187

原创 MySQL 完整性约束常用的操作命令总结

一、完整性约束1.MySQL支持的完整性约束约束条件描述primary key主键约束unique唯一约束not null非空约束default默认约束auto_increment自动增长约束foreign key外键约束2.列级约束和表级约束(1)对一个数据列建立的约束,称为列级约束(2)对多个数据列建立的约束,称为表级约束(3)列级约束既可以在列定义时声明,也可以在列定以后声明(4)表级约束只能在列定义后声明a.主键约束

2020-12-23 16:11:57 1710 1

原创 MySQL 数据库和表结构的操作常用命令总结

数据库基本操作一、创建数据库a.使用 sql 语句创建语法:create database 数据库名;例如:创建一个名为 test1 的数据库-- 创建数据库 test1create database test1 default charset utf8;show databases;运行结果:b.使用图形化界面创建(Navicat)选择连接 --> 右键选择 “New Databases” 输入数据库名,点击 ok 即可。二、查看数据库a.使用 sql 语句查看.

2020-12-21 21:16:13 690

原创 Windows 下 MySQL 如何开启和关闭服务

Windows 下 MySQL 开启和关闭服务有以下两种方式:命令行1.系统搜索栏中搜索命令提示符或者 cmd,以管理员身份运行:2.输入命令:net start如果列表中有 MySQL 服务,说明现在 MySQL 服务的状态是开启状态,如果没有,则说明 MySQL 的服务是关闭状态。3.输入命令:net stop mysql80(mysql80 是 MySQL 的服务名,不区分大小写),关闭 MySQL 服务:4.输入命令:net start mysql80 开启 MySQL 服务:

2020-12-19 12:16:11 3700 2

原创 html + css 实现一个炫酷的照片墙

使用 css 动画实现了一个当鼠标悬浮在图片上时放大展示的效果,效果图如下:以下直接附上源码,图片可自己随意设置,所有图片放在与源码 .html 文件同级的 img2 文件夹内:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>照片墙</title> <style> body {

2020-12-18 23:27:31 9783 12

原创 Navicat 连接 MySQL 出现 Client does not support authentication protocol requested by server... 的解决方案

刚安装好 MySQL,并使用 Navicat 连接 MySQL 时,出现以下错误:意思是客户端不支持服务器请求的身份验证协议;考虑升级 MySQL 客户端。在 MySQL Shell 中使用以下命令即可解决该问题:# 使用mysql数据库USE mysql;# 修改身份验证ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';# 重新刷新权限FLUSH PRIVILEG

2020-12-18 22:51:08 549 1

原创 Windows 下 MySQL 的下载与安装详细教程

下载1.打开 MySQL 官网:https://www.mysql.com/,点击 DOWNLOADS:2.这里选择 MySQL 免费社区版进行下载,在 DOWNLOADS 页面下找到 MySQL Community (GPL) Downloads 点击:3.点进去后,找到 MySQL Community Server 点开:4.安装 MySQL,可选择 .msi 文件安装或者下载 .zip 压缩文件进行安装:5.这里选择下载 .msi 文件,选择第二个文件下载即可:6.如果没

2020-12-18 22:06:24 3924 4

原创 Windows10 系统下,如何彻底删除 MySQL

由于年少无知,初次安装时将 MySQL 安装在系统盘 C 盘中,现在 c 盘报红,不得不将 MySQL 卸载掉然后重新安装在其他盘上。其完全卸载步骤如下:1.关闭 MySQL 服务Win + X 打开计算机管理界面:点击服务,找到你的 MySQL 服务将其停止:2.打开控制面板选项中的卸载程序,将 MySQL Server 进行卸载3.将 MySQL 安装目录下的 MySQL 文件夹删除我的 C:\Program Files(x86) 也有这个文件夹,在这一并删除:4.Win.

2020-12-18 18:03:08 2174 3

原创 MySQL 常用数据类型

一、数据类型指创建表时给数据指定的类型。二、常用的数据类型1.数值类型整数 int范围:4 个字节使用:int(m)例如:int(4)存储的数为 10 时,在左边增加两个 0 凑足 4 位。存储的数为 100 时,在左边增加一个 0 即可。存储的数为 10000 时,实际存储的位数超出指定的位数则不能存储,会报错。bigint:范围:8 个字节浮点类型单精度 float范围:4 个字节双精度 double范围:8 个字节使用 double(m

2020-12-18 16:05:02 570

原创 Python 模块的本地发布以及上传模块到 PyPI

当我们完成了某个模块开发后,可以将其对外发布,其他开发者也可以以”第三方扩展库“的方式使用我们的模块。我们按照如下步骤即可实现模块的发布:模块的本地发布1.为模块文件创建如下结构的文件夹、包和模块文件(Demo 是对外发布的模块名):demo1.py 的内容结构如下:# -*- coding: utf-8 -*-""" @Author: runqian_lee @Blog: https://blog.csdn.net/qq_44214671 @Time: 2020.

2020-12-17 17:48:54 617 4

原创 Python 如何动态导入模块

1.import() 动态导入我们一般在模块开始部分通过 import 语句实现模块的导入和使用,import 本质上是使用了内置函数 __import__().math = __import__('math')print(math.pi)# 运行结果:3.141592653589793注意:一般不建议自行使用__import__() 导入,其行为在 python2 和 python3 中有差异,会导致意外错误。如果需要动态导入可以使用 importlib 模块。2.使用 import

2020-12-17 15:28:48 1475

原创 Python 垃圾回收机制详解

垃圾回收机制:GC机制垃圾回收机制:GC机制 Python: 1.引用计数机制为主 如何获取一个对象的引用计数? sys.getrefcount(p) 刚创建对象引用计数为 2 a.增加引用计数操作 1.如果有新的对象使用该对象 +1 2.装进列表 +1 3.作为函数参数 +1 b.减少引用计数操作 1.如果有新的对象使用该对象,新对象不再使用时 -1

2020-12-13 14:15:22 317 1

原创 Python 字符串驻留机制(intern 机制)

每个单词(字符串),不夹杂空格或者其他符号,只由大小写字母、数字和下划线组成时,默认开启 intern 机制,共享内存,靠引用计数决定是否销毁。案例1:Python 交互式环境>>> a = 'HelloWorld'>>> b = 'HelloWorld'>>> a is bTrue>>> a = 'Hello World'>>> b = 'Hello World'>>> a .

2020-12-11 16:30:27 477 4

原创 Python 使用 type 动态创建类的方法

在 Python 中可以定义如下的一个静态类:class Person: def __init__(self, name, age): self.name = name self.age = age def who(self): print(f'我叫{self.name},今年{self.age}岁了')print(type(Person))运行结果:<class 'type'>我们可以看到,在 Python

2020-12-11 15:08:29 248

原创 树莓派如何更换 pip 源为国内镜像源

系统一般默认的 pip 源都是国外的,访问速度很慢,影响国内用户的使用。更换树莓派的 pip 源为国内镜像源可以在使用 pip下载安装第三方包时能够很大的提升其速度。下面是更换 pip 源的具体流程:1.修改 /etc/pip.conf 文件在树莓派终端中输入命令:sudo nano /etc/pip.conf,将原有内容注释掉,添加如下的内容:extra-index-url=https://mirrors.aliyun.com/pypi/simple按 ctrl + o 保存,Enter.

2020-12-10 23:42:08 6823 1

原创 Python | 实现一个以斐波那契数列为算法的生成器

斐波那契数列:概念代码实现定义一个递归函数打印斐波那契数列某一项的值:def fibonacci_sequence(n): """定义一个递归函数打印斐波那契数列某一项的值""" if n == 0 or n == 1: return n else: return fibonacci_sequence(n - 1) + fibonacci_sequence(n - 2)if __name__ == '__main__': n

2020-12-09 21:01:06 733

原创 Python 函数式编程之偏函数

当我们需要经常去调用一个函数,并且许多调用都反复使用相同参数的情况下,该如何减少重复性,增强可读性,提高效率呢?假如我们要反复调用一个函数:用来将字面值为二进制的字符串通过 int() 函数转换成十进制数,那么该如何实现呢?我们可以重新定义一个函数:def int2(a, base=2): return int(a, base)print(int2('1010'))# 运行结果:10虽然这样能够解决该问题,不过应用偏函数的效果会更加好。要想使用偏函数,首先得导入 func.

2020-12-08 18:04:37 188

原创 更换树莓派(Raspberry Pi 3B+)软件源为国内镜像源

更换树莓派(Raspberry Pi 3B+)软件源1.软件源介绍软件源是 Linux 系统免费的应用程序安装仓库,很多的应用软件都会这收录到这个仓库里面,按类型分则有:软件仓库:各类软件的二进制包和源代码ISO仓库:发行版的ISO文件软件源可以是网络服务器,是光盘,甚至是硬盘上的一个目录。由于树莓派的 raspberrypi 操作系统也是基于 Linux 的,所以树莓派也有属于自己软件源,其中收录了各种树莓派应用程序。2.软件源选择树莓派默认的软件源地址是 http://archi

2020-12-07 22:51:11 2836 3

原创 Python 核心特性之生成器与迭代器

生成器通过列表生成式(列表推导式),我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的 list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器: generator。优点: 需要新的数字,就生成一

2020-12-07 01:30:37 177 1

原创 Python 中 time.clock() 和 time.time() 的联系和区别

联系Python 中有个内置标准模块——time 模块,该模块提供了各种时间相关的函数。而在 time 模块中有两个函数:clock() 和 time(),都能用作计算程序运行的时间,其用法如下:clock()import time# 创建列表推导式时间开销time.clock()list_ = [x for x in range(0, 1000000, 2)]lt = time.clock()print(f'创建列表推导式时间开销:{lt}')# 运行结果:创建列表推导式时

2020-12-06 16:58:41 5358 2

原创 Python 多线程的创建与使用

进程(Process)是一个具有一定独立功能的程序关于某个数据集合的一次运行活动线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。那么多线程有什么作用呢?在讲解线程之前Python 的标准库提供了两个模块:_thread 和 threading,_thread 是低级模块, threading 是高级模块,对_thread 进行了封装。绝大多数情况下,我们只需要使用 threading 这个高级模块来创建线程。线程的创建有两种方式:方法包.

2020-12-05 12:16:05 264

原创 如何在电脑和树莓派之间传输文件

需求我想要在树莓派上安装 tensorflow 模块,奈何直接在树莓派上下载的话,由于网速慢,不知何年何月能够下载完成,所以我想先直接在电脑上(Windows 10)下载 tensorflow .whl 文件,然后再将该文件上传到树莓派上进行安装。由于昨儿个自己写了篇通过 VNC 远程访问树莓派的博文,于是就想 VNC Viewer 应该可以实现文件的传输,搜寻一番后,果然看到 VNC Viewer 上面的隐藏菜单栏中有一个文件传输的菜单项,可是这里是灰色的,无法点击,网上搜索一番后也没找到合适的答案,

2020-12-04 21:38:21 10420 5

原创 如何使用 VNC 远程访问树莓派

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。使用 Ubuntu 或者 VNC 远程连接控制树莓派没很大区别,只是在通过 VNC Viewer 这个软件连接时可以直接远程查看和操作树莓派的桌面环境,这里因为没有多余的显.

2020-12-03 23:48:59 16248 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除