李明徽的Python
scfor333
一生几十亿万步
展开
-
Python——语法糖:多重赋值(元组解包、迭代对象解包)问题及原理
Python 同时赋值问题 在平时需要交换两个变量的值时,我们通常是这么写的item = aa = bb = item Python 中提供了一种更为简便的技巧,可以用同时给变量赋值,类似这种:a, b = b, a 这两种方式得到的结果是相同的,那如此神奇的代码,实现原理是什么呢?原理 在 Python 中,多重赋值的功能是通过迭代对象解包这一方法实现的,也...原创 2020-02-14 18:12:30 · 1872 阅读 · 0 评论 -
Django——模板(Template)的使用(模板变量、模板标签、过滤器、注释)
Django 中的模板模板的功能 模板用于产生 html,控制页面上展示的内容,模板文件不仅仅是一个 html 文件,它包含两部分内容静态内容:像 css、js、html动态内容:用于动态生成一些网页内容,通过模板语言来生成模板文件的使用 通常是视图函数中使用模板产生 html 内容返回给客户端加载模板文件,获取模板文件的内容,产生一个模板对象定义模板上下文,给模板传...原创 2020-02-13 17:40:26 · 2618 阅读 · 0 评论 -
Django——Django之状态保持(Cookie 和 Session)
Django 状态保持(Cookie 和 Session) http 协议是无状态的,下一次访问同一个页面时并不知道上一次对这个页面做了什么,我们可以使用 Cookie 和 Session 来对页面的状态进行保持,这样可以省去用户在短时间内的重复操作,比如登录等Cookie Cookie 是由服务器生成,存储在浏览器的一小段文本信息, 当用户在设置了 Cookie 的环境中进行操作时...原创 2020-02-13 11:37:44 · 205 阅读 · 0 评论 -
Django——Django 中视图(view)的实现原理
Django 中的视图(View) 在 Django 的 MVT 模型中,视图 View 属于 V 层,类似于 MVC 模型中的 C,Controller 层,用来接收前端发出的请求,进行处理后再将结果返回给前端 视图通过在 app 中的 view.py 文件中实现,实际上视图就是一个个实现网站功能的函数,负责连接 M(模型层)和 T(模板层),实现前后台之间的数据流动视图工作的原理...原创 2020-02-10 22:03:58 · 1035 阅读 · 1 评论 -
Django——admin功能、注册模型类、模型管理类
Django 初始化后台管理 当一个 Django 项目第一次使用 admin 后台管理功能时,需要通过两步实现,第一步是本地化操作,第二步创建管理员本地化 实现语言和时区本地化,修改 Django 项目的 settings.py 文件,找到如下代码进行修改:# Internationalization# https://docs.djangoproject.com/en/3.0...原创 2020-02-09 20:33:00 · 7207 阅读 · 1 评论 -
Django——Django中创建应用、设计模型并在数据库中生成实体表
创建 Django 应用(app) 在 Django 中,每一个应用(app)都是一个 Python 包,每个 app 都可用来实现一个完整的功能,整个 Django 项目就是由多个 app 组成的创建 app app 只能在 Django 项目文件夹下的命令行中创建,键入python manage.py startapp appDemo命令可以在项目文件夹下创建一个名为appDem...原创 2020-02-08 22:17:01 · 545 阅读 · 0 评论 -
Django——Django的安装和配置环境变量、Django项目的目录结构、第一个Django程序
什么是 Django Python 下有许多款不同的 Web 框架。Django 是重量级选手中最有代表性的一位。许多成功的网站和 APP 都基于 Django,Django 是一个开放源代码的Web应用框架,由Python写成。 Django 遵守 BSD 版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 ,Django 采用了 MVC 的软件设计...原创 2020-02-08 20:57:18 · 6316 阅读 · 0 评论 -
Python——递归实现斐波那契数列(LeetCode p509)
Python 递归实现斐波那契数列斐波那契数列就是除第一项和第二项外,每项都等于前两项的和的一串数列,即第N项的值为F(N-2) + F(N-1),LeetCode 原题如下:斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1) = 1F(N) = F(N - 1) ...原创 2020-02-07 22:58:51 · 1891 阅读 · 0 评论 -
Python——归并排序
Python 实现归并排序原理不过多介绍了,在之前的博客中有关于快排原理的解释,连接在这里:算法——归并排序吸取了 AcWing 平台一位大神的思想,使用 Python List 的切片方式,可以避免边界值的问题,不需要考虑那么多了,下面是代码:def mergeSort(arr): if len(arr) == 1: return mid = len(ar...原创 2020-02-07 22:04:03 · 208 阅读 · 0 评论 -
Python——NumPy安装、NdArray对象的简单使用、NumPy的数据类型
什么是 NumPyNumPy 是一个用 python 实现的科学计算,包括:1、一个强大的 N 维数组对象 Array;2、比较成熟的(广播)函数库;3、用于整合 C/C++ 和 Fortran 代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数,numpy 和稀疏矩阵运算包scipy配合使用更加方便 NumPy(Numeric Python)提供了许多高级的数值编程工具,如:...原创 2020-02-06 23:32:58 · 798 阅读 · 0 评论 -
Python——快速排序
Python 实现快速排序关于快排的原理,这里不做过多介绍了,在我之前的博客里有很详细的原理讲解,连接在这里:算法——快速排序的原理讲解这次是使用 Python 实现的快速排序,和 C++ 唯一的区别就是没有使用do-while,这里通过while和其他代码的配合实现了do-while的功能,直接上代码:def quickSort(list, l, r): if l == r: ...原创 2020-02-06 18:36:40 · 423 阅读 · 0 评论 -
Python——生产者消费者问题、死锁、同步和异步
多线程产生的问题 并发编程由于需要很多线程、进程之间的协作,所以很容易出现问题,下面主要介绍生产者与消费者问题、死锁问题、同步和异步问题生产者与消费者问题 当我们进行一个任务,需要两个线程不断地获取和操作数据时,可能会产生一个问题,如果数据获取很快,而操作很慢,那么获取数据的线程就必须等待操作数据的线程处理完毕,反之如果数据获取的很慢而操作的很快,那么操作数据的线程就必须等待获取数...原创 2020-02-05 18:38:51 · 1324 阅读 · 0 评论 -
Python——多线程以及多线程会产生的一些问题
Python 中的多线程什么是线程 一个进程中包括多个线程,线程是 CPU 调度和分派的基本单位,是进程中执行运算的最小单位,真正在 CPU 上运行的是线程,可以与同一个进程中的其他线程共享进程的全部资源Python 中实现多线程 Python 中有两种方式床架多线程,一种是调用底层的 thread模块(Python3 中已弃用),另一种是使用threading模块,下面我说的也...原创 2020-02-04 22:41:22 · 5378 阅读 · 1 评论 -
Python——进程、进程池、进程间通信(还有一个复制文件的小程序)
什么是进程Python 中的进程什么是进程 当一段代码被运行,或者一个应用程序被运行,就会创建一个进程,以下内容来自百度百科:“进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其...原创 2020-02-03 21:03:40 · 463 阅读 · 2 评论 -
Python——正则表达式
Python 中的正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定的字符串、及这些特定字符的组合,组成一个”规则字符串“,这个规则字符串用来表示对字符串的一种过滤逻辑 字符串是编程时涉及到的最多的一种数据结构,使用正则表达式可以完成判断一个字符串是否为合法电话号、是否是 Email 格式等操作 文章最后符一些常用的正则表达式!正则表达式通用符号及...原创 2020-02-01 20:04:03 · 567 阅读 · 0 评论