文章分类 - Python
Python学习
摘要:1 引入 我们学习变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是用来存储事物状态的,很明显事物的状态分成不同种类的(比如人的年龄,身高,职位,工资等等),所以变量值也应该有不同的类型,例如: salary = 3.1 # 用浮点型去记录薪资 age = 18 # 用整型去记录年龄
阅读全文
摘要:Python 注释 可以 对 代码 进行解释说明 , 代码中的 注释 不会被执行 , 可以 增加代码的可读性 ; 单行注释 : # 单行注释 单行注释 : Python 中的 单行注释 以 # 开头 , # 右边是注释内容 ; 单行注释 中 , # 与 注释内容 建议使用 空格隔开 , 这是 Pyt
阅读全文
摘要:对于每个变量,python都提供了这三个方法分别获取变量的三个特征 #1、id 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同 #2、type 变量值的类型 #3、value 变量值 查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性 x = 10 print(x) #
阅读全文
摘要:1 引入 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那什么样的变量值是没有用的呢? 单从逻辑层面分析,我们定义变量将变量值存起来的目的是为了以后取出来
阅读全文
摘要:1.ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要
阅读全文
摘要:1.模版简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It i
阅读全文
摘要:1.Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 典型的例子: from django.urls import
阅读全文
摘要:1.视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的
阅读全文
摘要:1.MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型
阅读全文
摘要:1.引言 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把CPU的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率
阅读全文
摘要:1.Python标准模块——concurrent.futures 官方文档:https://docs.python.org/dev/library/concurrent.futures.html 2.介绍 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolEx
阅读全文
摘要:1.线程队列 queue队列:使用import queue,用法和进程Queue一样 当必须在多个线程之间安全地交换信息时,队列在线程编程中尤其有用。 2.先进先出 class queue.Queue(maxsize=0) import queue q=queue.Queue() q.put('fi
阅读全文
摘要:1.同步锁 1.1多个线程抢占资源的情况 from threading import Thread import os,time def work(): global n temp=n time.sleep(0.1) n=temp-1 if __name__ == '__main__': n=100
阅读全文
摘要:1.守护线程 无论是进程还是线程,都遵循:守护XX会等待主XX运行完毕后销毁。需要强调的是:运行完毕并非终止运行。 对主进程来说,运行完毕指的是主进程代码运行完毕 对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕。 1.1详细解释 主进程在其代码结束后就已
阅读全文
摘要:1.Python线程模块的选择 Python提供了几个用于多线程的编程的模块,包括thread、threading和Queue等。thread和threading模块允许程序员创建和管理线程。thread模块提供了基本的线程和锁的支持,threading提供了更高级别、功能更强大的线程管理的功能。Q
阅读全文
摘要:1.GIL全局解释器锁 GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都一样,都是将并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务所修改,进而保证数据安全。 # 为何要有GIL? 因为Cpython解释器自带垃圾回收机制不是线程安全的。 # 如果不对垃圾回收机制线程做任何处理
阅读全文
摘要:1.内存中的线程 多个线程共享同一个进程的地址空间中的资源,是对一台计算机上多个进程的模拟,有时也称线程为轻量级的进程。 而对一台计算机上多个进程,则共享物理内存、磁盘、打印机等其他物理资源。多线程的运行与多进程的运行类似,是CPU在多个线程之间的快速切换。 不同的进程之间是充满敌意的,彼此是抢占、
阅读全文
摘要:在选择使用 进程(Process)和 线程(Thread)时,通常取决于任务的类型、程序的需求以及硬件资源的限制。进程和线程各自有不同的特点,适用于不同的场景。下面是关于进程和线程的一些常见应用场景和选择指导: 1. 进程(Process)适用场景 进程是操作系统中资源管理的基本单位,每个进程有自己
阅读全文
摘要:1.进程和线程的关系 线程与进程的区别可以归纳为以下4点: 地址空间和其他资源(如打开文件):进程间相互独立,统一进程的个线程间共享。某进程内的线程在其他进程不可见。 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信—需要进程同步和互斥手段的辅助,以保证数据的一致性。 调
阅读全文
摘要:1.线程概念的引入背景 1.1进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。在多道编程中,
阅读全文

浙公网安备 33010602011771号