Python
文章平均质量分 77
Yauger
这个作者很懒,什么都没留下…
展开
-
python虚拟环境
为什么需要虚拟环境:背景: 项目1:django_project_01 环境:python3.6 + redis + mysql + win10 库:django1.10 项目2:django_project_02 环境:python3.6 + redis + mysql + win10 库:django0.9这时候python版本是3.6,这时候在你的电脑上要开发2个项目...原创 2020-04-04 14:40:59 · 162 阅读 · 0 评论 -
Python高级编程技巧第9讲 - Python GIL
一、Python GILGIL:全局解释器锁。每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码Python多线程的影响:python语言和GIL没有关系,仅仅是由于历史原因在Cpython虚拟机,难以移除GIL线程释放GIL锁的情况:在IO操作等可能会引起阻塞的system call之前,可以暂时释放GIL,但在执行完毕后,必须重新获取GIL,Python3使...原创 2020-02-05 17:07:57 · 380 阅读 · 0 评论 -
Python高级编程技巧第8讲 - Python多任务 - 协程
一、协程同步、异步同步:是指代码调用IO操作时,必须等待IO操作完成才返回的调用方式异步:是指代码调用IO操作时,不必等IO操作完成就返回的调用方式阻塞、非阻塞阻塞:从调用者的角度出发,如果在调用的时候,被卡住,不能再继续向下运行,需要等待,就说是阻塞非阻塞:从调用者的角度出发, 如果在调用的时候,没有被卡住,能够继续向下运行,无需等待,就说是非阻塞1.1生成器-send方法...原创 2020-01-24 12:20:45 · 480 阅读 · 0 评论 -
Python高级编程技巧第7讲 - Python多任务 - 进程
一、进程和程序进程:正在执行的程序程序:没有执行的代码,是一个静态的进程的状态1.1 使用进程实现多任务multiprocessing模块就是跨平台的多进程模块,提供了一个Process类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另外的事情。1.2 线程和进程之间的对比进程:能够完成多任务,一台电脑上可以同时运行多个QQ线程:能够完成多任务,一个QQ中...原创 2020-01-22 23:47:07 · 424 阅读 · 0 评论 -
Python高级编程技巧第6讲 - Python多任务 - 线程
一、线程1.1 多任务:有很多的场景中的事情是同时进行的,比如开车的时候 手和脚共同来驾驶汽车,再比如唱歌跳舞也是同时进行的1.2 多任务的理解:并行::真的多任务, cpu大于当前执行的任务并发::假的多任务 ,cpu小于当前执行的任务主线程会等到子线程执行结果之后主线程 才会结束守护线程 不会等子线程结束 t.setDaemon(True)等待子线程执行结束 主线程...原创 2020-01-15 23:53:00 · 285 阅读 · 0 评论 -
Python高级编程技巧第5讲 - Python socket编程
一、IP地址的介绍1.1 IP地址windows和Linux查看网卡信息Linux中 ifconfigwindows中 ipconfig1.1.1 IP地址的分类:1.2 端口1.2.1 端口分类1.知名端口(well known ports):80端口分配给HTTP服务21端口分配给FTP服务范围是从0到10232.动态端口:动态端口的范围是从102...原创 2020-01-09 23:05:12 · 223 阅读 · 0 评论 -
Python高级编程技巧第4讲 - 元类编程、属性描述符、自定义元类、迭代器和生成器
一、元类编程1.1 __getattr__和__getattribute__魔法函数在查不到属性的时候调用__getattr____getattribute__在 __getattr__之前执行,这个方法不能轻易重写from datetime import date,datetimeclass User: def __init__(self,name,birthday):...原创 2020-01-08 22:55:34 · 292 阅读 · 0 评论 -
Python高级编程技巧第3讲 - 垃圾回收机制、调试和性能分析、经典的参数错误
一、垃圾回收机制当这个对象的引用计数(指针数)为 0 的时候,说明这个对象永不可达,自然它也就成为了垃圾,需要被回收。import osimport psutil# 显示当前 python 程序占用的内存大小def show_memory_info(hint): pid = os.getpid() p = psutil.Process(pid) inf...原创 2020-01-08 11:30:52 · 280 阅读 · 0 评论 -
Python高级编程技巧第2讲 - 对象深度问题与解决技巧
一、如何派生内置不可变类型并修改其实例化行为我们想自定义一种新类型的元组,对于传入的可迭代对象,我们只保留其中int类型且值大于0的元素,例如:IntTuple([2,-2,'jr',['x','y'],4]) => (2,4)class IntTuple(tuple): def __new__(cls, iterable): # for i i...原创 2019-12-30 00:19:21 · 249 阅读 · 0 评论 -
Python高级编程技巧第1讲 - 深入类和对象
一、深入类和对象鸭子类型和多态多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型"1.1 鸭子类型a = [1,2]b = [3,4]c = (5,6) # 元组 tupled = {7,8} # 集合 set 无序的# def extend(self,iterable): iterable可迭代的对象 可以用fora.exten...原创 2019-12-26 23:37:43 · 240 阅读 · 0 评论 -
Python基础第17讲 - 模块
一、垃圾回收(是将垃圾对象从内存中删除)在程序中产生的垃圾会影响到我们程序的性能,所以这些垃圾要及时清理掉在程序中没有被引用的对象才是垃圾__del__() 这个魔术方法不需要手动、程序自动回执行class A: def __init__(self): self.name = 'A类' def __del__(self): print('A...原创 2019-11-05 22:47:35 · 137 阅读 · 0 评论 -
Python基础第16讲 - Python文件
Python基础第16讲 - Python文件文件(File)通过Python来对计算机中的各种文件进行增删改查的操作I/O(Input/Output)一、文件打开操作文件的步骤1、打开文件2、对文件进行各种操作(读、写)3、关闭open(file, mode='r', buffering=None, encoding=None, errors=None, newline=N...原创 2019-11-05 00:35:04 · 133 阅读 · 0 评论 -
Python基础第15讲 - 异常
Python基础第15讲 - 异常、文件一、异常的简介程序在运行过程中不可避免会出现一些错误比如:使用了没有赋值过的变量、除0、使用不存在的索引…这个错误在程序中我们就称之为异常程序在运行过程中,一旦出现异常会导致程序会立即终止,异常后面的代码都不会执行print(20/0) # 异常 --> ZeroDivisionError: division by zero...原创 2019-11-01 00:57:37 · 121 阅读 · 0 评论 -
Python基础第14讲 - 面向对象(3)
Python基础第13讲 - 面向对象(3)原创 2019-10-31 00:32:32 · 112 阅读 · 0 评论 -
Python基础第13讲 - 面向对象(2)
Python基础第13讲 - 面向对象(2)一、 面向对象 - 特殊方法(魔术方法) 特殊方法都是以__开头__结尾的方法 特殊方法不需要自己调用 学习特殊方法 1、特殊方法什么时候调用 2、特殊方法有什么作用 对于Person这个类name属性是必须,并且每一个实例对象的name属性是不一样的 我们现在是将name属性手动添加 特别容易出错 对象的创建流程 ...原创 2019-10-29 23:11:46 · 104 阅读 · 0 评论 -
Python基础第12讲 - 面向对象
Python基础第12讲 - 面向对象一 面向对象的简介面向对象(oop)什么是对象?对象就是内存中存储指定数据的一块区域实际上对象就是一个容器,专门用来存储数据二 对象的结构id(标识): id 用来标识对象的唯一性,每个对象都有唯一的id id 是由解释器生成的,id就是对象的内存地址type(类型): 类型就决定了对象有哪些功能 通过type()函数来查看对象...原创 2019-10-23 23:10:32 · 163 阅读 · 0 评论 -
Python基础第11讲 - 高阶函数
Python基础第11讲 - 高阶函数一、高阶函数1.满足2个条件任意一个都是高阶函数2.接收函数作为参数,将函数作为返回值的函数也是高阶函数当我们使用一个函数作为参数时,实际上我们就是将指定的代码传递给了目标函数l = [1,2,3,4,5,6,7,8,9,10]# 定义一个函数,用来检测任意数的偶数def fn2(i): if i % 2 == 0: re...原创 2019-10-21 23:16:57 · 201 阅读 · 0 评论 -
Python基础第10讲 - 函数
一、函数返回值 :返回值就是函数执行返回的结果1.1求任意数的和```handlebarsdef s(*nums): # 定义一个变量保存结果 result = 0 # 遍历元组,并将元组当中的元素进行累加 for n in nums: result += n print(result)s(1,2,3)# 结果: 6用...原创 2019-10-19 01:16:36 · 271 阅读 · 0 评论 -
Python基础第9讲 - 集合和函数
一、集合:1.1 集合的表现形式 set ,集合和列表基本一致不同点:1、集合只能存储不可变对象2、集合中存储的对象无序的s = {1,10,2,3,7,4}print(s,type(s)) # {1, 2, 3, 4, 7, 10} <class 'set'>3、集合中不能出现重复的元素s = {1,10,2,3,7,4,1,2,2}print(s) ...原创 2019-10-17 23:55:08 · 324 阅读 · 0 评论 -
Python基础第8讲 - 元组和字典
第八讲 - 元组和字典1. 元组(不可变序列、不能重新赋值) 表现形式 tuple什么时候用列表,什么时候用元组?1、一般当我们希望数据不变的用元组,其余情况用列表2、不能用索引重新赋值'''# 创建元组my_tuple = ()print(my_tuple,type(my_tuple))'''# 可变对象my_tuple = (1,2,3,4,5) #创建一个空的元组p...原创 2019-10-16 22:22:03 · 196 阅读 · 0 评论 -
Python基础第7讲 - 数据结构 - 列表
Python基础第七讲 - 数据结构一、列表列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置...原创 2019-10-11 15:35:19 · 287 阅读 · 0 评论 -
Python基础第6讲 - 条件控制语句练习
练习1 求1000以内所有的水仙花数水仙花数 指的是一个n位数(n>=3) 它的每个位数是数字的n次幂之和等于它本身 13 + 53 + 3**3 = 153获取1000以内所有的三位数i = 100while i < 1000: # 假设 i的百位数是a,十位数b,十位数c # 求百位数 a = i // 100 # 求十位数 b = ...原创 2019-09-28 23:41:49 · 295 阅读 · 0 评论 -
Python基础第5讲 - 条件控制语句
Python基础第5讲 - 条件控制语句一、IF语句语法:if 条件表达式 : 代码块if 20 > 10: print("20>10")执行的流程:if语句在执行时,会先对条件表达式进行求值判断,如果为True,则执行if后的语句(代码块)如果为False,则不执行二、input()函数input()函数接受一个标准输入数据,返回为 string...原创 2019-09-26 23:33:30 · 296 阅读 · 0 评论 -
Python-基础第4讲-运算符
一、运算符1、基本运算符1.1 算数(加法)运算符 表现形式 +x = 1 + 2x = 'hello' + 'world' --> 字符串相加是拼接1.2 算数(减法)运算符 表现形式 -x = 6 - 2x = 'hello' - 'world' --> 报错、字符串不能相减1.3 算数(乘法)运算符 表现形式 *x = 6 * 2x = '-'*5...原创 2019-09-24 23:36:35 · 132 阅读 · 0 评论 -
Python基础第3讲 - 基本数据类型
第三讲一、表达式1.1表达式表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合1.2语句一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成1.3程序程序就是由一条一条的语句和一条一条的表达式是构成的1.4函数函数就是一个语句专门用来完成特定的功能形如 : xxx() # ()里面是参数 ...原创 2019-09-21 16:11:17 · 139 阅读 · 0 评论 -
Python基础第2讲 - 基本常识
一、Python 第二讲 -1.1 官方对python的介绍1.2 Python语言的特点简单、易于学习、自由且开放、跨平台、可嵌入式、丰富的库1.3 Python的发展、应用1、常规的软件开放2、科学计算3、自动化运维4、云计算5、Web开放(Django、flash)6、网络爬虫7、数据分析8、AI人工智能二、Python解释器2.1 Python解释器分类CP...原创 2019-09-18 20:11:26 · 152 阅读 · 0 评论 -
Python基础第1讲 — 计算机要点
一、计算机的基本概念1.1 计算机是什么?电脑、手机、智能电视…硬件和软件组成的机器是计算机、高速计算的电子计算机1.2 计算机的组成汽车是由什么组成的呢?轮毂、车胎、中控(Carplay)、玻璃、发动机 ···硬件:鼠标、键盘、显示器、内存、CPU ··· ———————— 看得见,摸得着的软件:QQ、微信、浏览器 ··· —————...原创 2019-09-13 16:20:15 · 195 阅读 · 0 评论