![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 63
Noah Ren
When I was young, I'd listen to the radio.
展开
-
聊聊Python的垃圾回收机制
目录什么是垃圾回收机制为什么要用垃圾回收机制?垃圾回收机制原理分析什么是引用计数?引用计数扩展阅读标记-清除分代回收什么是垃圾回收机制垃圾回收机制(简称GC)是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间。为什么要用垃圾回收机制?程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(...原创 2017-09-24 23:22:49 · 2399 阅读 · 0 评论 -
常用模块(一)
一、osos模块是用来与系统交互的,功能十分强大,需要了解的很多,需要熟练运用的也有不少,希望文章能给你们带来帮助# os模块需要了解的部分os.getcwd() # 用来获取当前执行脚本工作目录。注意:不一定是脚本所在目录!!os.chdir('dirname') # 将执行脚本的工作目录更改到传入的参数(目录)下。 # 所以上面说脚本...原创 2018-10-26 18:51:34 · 811 阅读 · 0 评论 -
面向对象编程(类与对象)
一、面向过程编程什么是面向过程编程面向过程编程是一种编程思想,核心是“过程”二字。面向过程编程是一种基础的编程思想,它考虑的是实际地做事步骤。一般的面向过程是从上往下一步一步的走,所以面向过程最重要的是模块化的思想方法。基于该思想编写程序就好比在编写一条流水线,是一种机械式的编程方式。举例:现在我们有这么一个要求:把大象装进冰箱。那么使用面向过程编程脑子中应该时刻想着我先干什么再干什么...原创 2018-10-22 23:45:32 · 2064 阅读 · 0 评论 -
匿名函数与函数的递归(面试重点函数map、reduce、filter介绍)
一个小长假回来,人都变得松散了很多,打起精神,不能松懈。我们接着前面讲的函数继续往下走,今天我们要介绍一下匿名函数与递归函数一、匿名函数1. 什么是匿名函数首先我们来想一下什么是有名函数,就是在定义的时候给了他一个名字。def 函数名()那匿名函数呢,顾名思义,就是没有名字的函数。2. 为什么要有匿名函数既然已经有了有名函数,为什么还要有匿名函数呢?现在我们来想一下...原创 2018-10-10 23:27:43 · 907 阅读 · 0 评论 -
二分法实现in与index()
要求:利用二分法实现in与按传入参数查找索引值index(参数)一、用二分法实现indef search(find_num, list): # 定义函数 if not list: # 判断传入列表是否为空 print('False') return mid_index = len(list) // 2 ...原创 2018-10-10 23:34:21 · 905 阅读 · 0 评论 -
用python解决6147问题!!!
'''任意给一个四位数(各位数不完全相同),各个位上的数可组成一个最大数和一个最小数,他们的差又能组成一个最大数和最小数,直到某一步得到的差将会出现循环重复。例:3100-0013=30878730-0378=83528532-2358=61477641-1467=6147'''题目如上⬆️前段时间有个朋友问了我这个问题,当时看到的第一眼就觉得头大,看到数学就懵逼,然后也...原创 2018-10-10 19:23:53 · 1387 阅读 · 1 评论 -
软件开发目录结构规范(重点)
pass原创 2018-10-15 18:36:41 · 3253 阅读 · 0 评论 -
重点面试知识——多个装饰器叠加的原理
当一个被装饰的对象同时叠加多个装饰器时装饰器的加载顺序是:由下而上装饰器的执行顺序是:由上而下加载装饰器就是将原函数名与装饰器内部的wrapper函数进行偷梁换柱执行装饰器实际上就是执行装饰器内部的wrapper函数。我们来看下面这段代码我们定义了两个装饰器:无参装饰器timmer与有参装饰器auth我们用这两个装饰器去修饰index函数。让我们看看到底是发生了一件什么...原创 2018-09-28 23:01:42 · 931 阅读 · 0 评论 -
类的零碎知识点:classmethod / staticmethod / hasattr / getattr / setattr / delattr / __str__ / __del__
绑定方法与非绑定方法一:绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入):绑定到类的方法:用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)绑定到对象的方法:没有被任何装饰器装饰的方法。为对象量身定制对象.boud_method(),自动将对象当作第一个参数传入(...原创 2018-10-25 23:07:58 · 650 阅读 · 0 评论 -
查询彩票中奖号码小程序
前两天找到一个特别棒的网站——聚合数据网https://www.juhe.cn翻阅网站的时候偶然看到可以免费申请一个查询彩票的API,于是乎,就出现了这个小程序。首先,要去聚合数据网申请一个自己的API,然后用requests模块访问API,然后解析数据就ok了。源码:import requestsurl = 'http://apis.juhe.cn/lottery/quer...原创 2018-10-23 14:33:46 · 9675 阅读 · 1 评论 -
类的三大特征之——继承
昨天我们学习了面向对象编程、类与对象。昨天遗漏了一个小知识点就是:在python中,一切皆对象。首先,我们要来说明,在python3中,统一了类与类型的概念,即在python3中,类就是类型,类型就是类。我们通过type来查看一个数据的类型,我们也可以通过type来查看一个对象的类型,然后我们发现,他们的类型都是class(类)依旧是说,我们平时使用的所有数据类型,列表啊,字典啊等等都是一...原创 2018-10-23 21:01:35 · 927 阅读 · 0 评论 -
Python虚拟环境的作用及搭建方法
为什么需要虚拟环境在我们日常的项目开发过程中,我们通常会按照项目的需求去下载相应的框架库,如Django、request等,但是不同的项目所使用的框架库并不一定是相同的,或者使用相同的框架但是版本需求是不同的,这时候需要我们根据需求不断的安装,更新或卸载相应的库。会对我们的开发环境和项目造成很多不必要的麻烦,管理起来也相当困难。想象一下下面这种场景:项目A需要Django框架1.11.9版本...原创 2019-01-14 17:47:31 · 8825 阅读 · 3 评论 -
Python知识点汇总思维导图
总结了一下关于Python的知识要点,感兴趣的朋友可以参考。如果有错误的地方欢迎留言指出,我们共同进步转载请声明出处。原创 2018-12-24 23:03:55 · 7556 阅读 · 0 评论 -
被一个猴子(monkey)折腾了一晚上
事情起因是这样的:今天学习了单线程实现并发操作,学习了gevent第三方包(周末会更新并发编程知识点,里面会有详细介绍)老师今天布置了一个作业,其中有一道题目是这样的:使用协程完成TCP套接字编程 支持多客户端同时访问然后我就开始写代码,写完了就报错了错误代码示例:'''使用协程完成TCP套接字编程 支持多客户端同时访问'''# 服务端import geventfro...原创 2018-11-13 23:26:16 · 1315 阅读 · 2 评论 -
基于TCP协议产生的粘包问题及解决办法
须知: 只有TCP有粘包现象, UDP永远不会粘包, 这是socket收发消息的原理导致的.对于TCP协议发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向流的协议,这也是...原创 2018-11-11 11:52:52 · 4521 阅读 · 0 评论 -
Socket网络编程
pass原创 2018-11-10 16:30:06 · 4697 阅读 · 0 评论 -
Python异常处理
什么是异常异常 :异于常态就就异常。简单来说就是我们的程序在运行过程中出错了。当我们的程序出现错误时,会把错误的原因、错误的位置、错误的种类输出到屏幕上异常的组成异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下Traceback叫做异常的追踪信息,我们可以通过它找...原创 2018-11-01 19:26:24 · 5030 阅读 · 0 评论 -
类的三大特征之封装
1024被渲染的有点夸张了,如果真的在乎这个节日,还不如给程序员放一天假。希望今天各位程序员可以不加班!接下来开始今天的正题在说封装之前呢,要补充一个昨天遗漏的知识点:组合开始我们今天的人生三问:1. 什么是组合组合组合,就是组装合并呗。在python的类中就是通过某种关系将两个类的两个对象连接在一起就叫组合。(不是同一个类的两个对象!!每个类取出一个对象来,和另一个类的对象以某种...原创 2018-10-24 19:09:27 · 878 阅读 · 0 评论 -
函数的进阶——装饰器
老样子,先来三个问题:1. 什么是装饰器2. 为什么要有装饰器3. 怎么用装饰器一、什么是装饰器装饰器从字面意思理解来说就是具有装饰功能的器具。在python中,装饰器就是用来给被装饰对象(函数)增加功能(装饰)的工具。装饰器本身可以是任意可调用的对象——函数被装饰对象也可以是任意可调用的对象——函数装饰器:写一个函数给另一个函数增加新功能二、为什么要有装饰器...原创 2018-09-27 23:14:05 · 691 阅读 · 0 评论 -
原来这就是装饰器啊
1. 编写函数(函数的执行时间是随机的)import random, time # 导入模块def random_time(): # 定义random_time函数 print('Start') time.sleep(random.randint(1, 5)) # 实现随机执行时间 print('End')random_t...原创 2018-09-27 19:42:53 · 1067 阅读 · 0 评论 -
详解python collections模块中的deque双端队列结构
目录deque简介知识点:deque的各种方法1. append()2. appendleft()3. clear()4. copy()5. count(value)6. extend()7. extendleft()8. index(value, start=None, stop=None)9. insert(index, p_object)1...原创 2018-09-14 08:18:32 · 874 阅读 · 0 评论 -
基本数据类型与基本运算符
数据类型顾名思义就是一个数据的类型。不同的数据有不同的特征,例如性别和身份证号码就是两种不同的数据类型(你无法用数字去描述一个人的性别),所以我们需要用不同的数据类型去记录保存。数据类型分为:1. 整型(int)# 整型(int)可以用来描述例如身份证号/年龄/QQ号码/电话号码等>>> tel = 18312345678>>> print...原创 2018-09-14 08:18:42 · 868 阅读 · 0 评论 -
Python SMTP发送邮件
目录使用方法构造一个简单的纯文本邮件内容:Python创建 SMTP 对象语法如下:Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:demo发送纯文本邮件发送html邮件发送携带图片的Email发送带附件的Email使用方法SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由...原创 2018-09-14 16:59:14 · 1193 阅读 · 0 评论 -
python模块初接触
至此,我们的函数已经学个差不多,接下来我们就进入模块的学习。我们学习函数的目的是为了简化代码,提高代码可读性,增强代码扩展性,然而通过这几天的写程序发现,在一个文件中定义了二十多个函数依旧使得我们的代码显得很乱,可读性差。我们希望能找到一种方法,使我们的代码看起来整洁,又能保证程序所有功能的实现。模块这个东西就完美的帮我们实现了。我们可以将函数封装成一个个模块,再导入到其他文件内使用,使代码变...原创 2018-10-11 20:16:26 · 774 阅读 · 0 评论 -
函数重点知识
昨日补充:命名关键字参数命名关键字参数就是一个稍微有点特殊的参数而已。定义:在函数定义的过程中,在*与**之间定义的参数就叫做命名关键字参数。特点:命名关键字参数必须按照key=value的形式对函数进行传值。例:def func(a, b, *args, c, **kwargs): pass# 这里的c参数就是命名关键字参数。必须按照key=value的形式...原创 2018-09-26 23:47:21 · 971 阅读 · 0 评论 -
python函数的基础知识及操作
首先,我们来思考三个问题:1. 什么是函数2. 为什么要有函数3. 怎么用函数。搞懂了这三个问题,我们对函数就会有一个大概的了解。什么是函数:函数就是具备某一功能且可以反复使用的工具。举个例子:当没有函数的时候,我们写一段登录的代码可能要十行甚至二十行,有了具备登录功能的函数,我们只需要使用就可以实现登录的功能。当过了一会儿我们又需要登录,可以再次调用登录函数进行登录。这就...原创 2018-09-25 20:31:06 · 686 阅读 · 0 评论 -
流程控制之if, while, for
流程控制之if1. 简单的if语句# if语句的作用是为了让计算机能像人一样去做一些判断。# if 后面跟了一个条件,如果条件成立就执行事件A,如果条件不成立就执行事件B# if 条件:# code1# code2>>> if a > 5:... print(a)...10>>>2. if - e...原创 2018-09-14 20:59:53 · 681 阅读 · 0 评论 -
以斐波那契数列实现黄金分割数的验证
几日前,在看明朝那些事儿的时候突然看到书中有提到黄金分割数,于是兴起百度了一下黄金分割数的具体概念,发现了黄金分割数与斐波那契数列之间不可言喻的联系。 黄金分割数相信大家都听说过但是很少去刻意了解。我先给大家解释一下黄金分割数的定义:把一条线段分割为两个部分,使其中一部分与全长之比等于另一部分与这部分之比。其比值是一个无理数,取其前三位数字的近似值是0.618.斐波那契数列定义:斐波那...原创 2017-10-29 10:21:26 · 2424 阅读 · 0 评论