Python宝库
千年乙方
能用拳头解决的事,我绝不用巴掌!
展开
-
Python-pvm解释器运行程序原理
Python解释器简介一般来说,我们讨论Python,是将其作为一门编程语言来详解.但是,从实际情况来看,Python也是一个名为解释器的软件包.解释器是可以让程序运行起来一套程序,具有独立性.所以当你写了一段代码之后,Python解释器读取程序,将其转化为命令执行,得出结果.总的来说,解释器就是代码与计算机硬件之间的软件逻辑层.Python程序执行过程就简单的形式而言,一个Python程序仅仅是一个包含Python代码的文本文件.后缀是.py的文件,也是我们平常所熟知的Python脚本,但当我们运原创 2020-05-21 13:56:09 · 1526 阅读 · 0 评论 -
Python--实现二分法算法
专业分析二分法查找 二分法针对的对象要是有序的队列,通过索引找到你要查找的值 思想:取一个索引开头left,取一个索引末尾(len(队列)-1)right,让你的值跟(left + right)//2(middle)比 如果索引middle值比你查的值大,把middle赋值给right,反之把middle赋值给left; 代码展示: lst = [11,22,3...原创 2018-07-31 10:02:17 · 4951 阅读 · 5 评论 -
Python--详细讲解反射has|get|set|delattr
1.反射(内置函数hasattr,getattr,setattr,delattr)1)神赐给你的内置函数 :a: getattr(命名空间,'函数名') ==命名空间.属性名;这里的命名空间指的是对象或者类;b: getattr四个应用场景: 1)类名.名字 <==> getattr(类名,'名字') 2)对象名.名字 <==> getattr...原创 2018-08-02 22:11:24 · 354 阅读 · 0 评论 -
Python--几种set集合去重的方法
1.set集合的去重机制ps:set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间,(但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二步操作,判断这两个对象的值是否相等,若相等覆盖,若不等则进行二次寻址,存储到空间;*****那么问题来了!!!*****看下面这道题:1)创建一个员工管理系统 2)对象的...原创 2018-08-04 17:31:12 · 1417 阅读 · 0 评论 -
Python--利用正则表达式实现计算器功能
1.自己写的,当时没弄明白的点是float(字符串负号加数字) =负数本身s = '1-2*((60-30 +(9-2*5/3+7/3*99/4*2998+10*568/14)*(-40 / 5))-(-4*3)/(16-3*2))'s = s.replace(" ", "")brackets_first = re.compile('\([^()]+\)') # 找出最内层函数的内容...原创 2018-08-15 20:25:46 · 1330 阅读 · 0 评论 -
Python--详解脚本语言|编译语言|胶水语言的区别
1.什么是脚本语言?脚本语言:脚本语言是一种介于标记语言和编程语言之间的语言,没有编程语言复杂、严谨的语法和规则。 脚本语法比较简单,比较容易掌握,与编程语言也有许多相似之处,其函数与编程语言比较相似一些。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。 脚本语言是解释性的语言,例如Python、javascript(目前接触过的)等等,它不象c\c++等可以编译成二进制...原创 2018-08-19 19:12:54 · 1257 阅读 · 0 评论 -
Python--进程间的机制
1.模拟12306购票系统要同时开两个进程,一个进程查票,一个进程买票,都对一个文件操作 这时有可能会发生数据混乱,所以添加锁机制def check(i): with open('a')as f: s = f.read() print('\033[32m第%s人查到票,还有%s张\033[0m'%(i,s))def buy(i,l): l.acquire() with o...原创 2018-08-21 18:14:23 · 131 阅读 · 0 评论 -
Python--详解斐波那契数列Python版
1.斐波那契数列题目:斐波那契数列:1, 2, 3, 5, 8, 13, 21.....根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个斐波那契数解题思路:首先要得到前两项,从第三项开始,每一项都为前两项之和; 所以这个公式应该大致为 x + y = y1)递归思想def func(num): if num == 1: return 1 ...原创 2018-08-21 22:26:12 · 1715 阅读 · 0 评论 -
Python--详细讲解僵尸进程与孤儿进程
一:僵尸进程(有害) 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。详解如下我们知道在unix/linux中,正常情况下子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程到底什么时候结...原创 2018-08-22 16:07:55 · 1681 阅读 · 0 评论 -
pip和pip3(安装与使用)详细讲解
在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,当然pip还有很多参数都可以帮我们去查询一些库信息,在安装python的时候,下载带有pip的安装包就可以直接安装pip啦,当然没有带pip的,也可以通过下载安装包,手动安装。手动安装还是要会的,安装pip环境:去到官网下载pip包,地址是https://pypi.python.org/pypi/pi...原创 2018-09-26 21:38:10 · 260676 阅读 · 11 评论 -
Python--Django的踩坑操作
Django框架:框架: a: 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;b:另一种定义认为,框架是可被应用开发者定制的应用骨架。 前者是从应用方面而后者是从目的方面给出的定义。总的来说:一个框架是一个可复用的设计构件MVC框架:(Model-模型,View-视图,Controller-控制器)是软件工程的一种软件架构模式,具有耦合性低,重用性高,...原创 2020-03-18 18:46:30 · 213 阅读 · 0 评论 -
Python--django实现分页功能
1.html测试数据{% extends 'crm_/main_table.html' %}{% block css %} <style> th { text-align: center; } </style>{% endblock %}{% block table_ %} <...原创 2018-10-24 16:13:41 · 1325 阅读 · 0 评论 -
Python--Django的QueryDict对象详细解析
QueryDict:本身继承dict,特性就是跟列表的一些属性封装起来了初始化方法(__init__()): def __init__(self, query_string=None, mutable=False, encoding=None): super(QueryDict, self).__init__() if not encoding: ...原创 2018-10-25 13:22:02 · 4461 阅读 · 0 评论 -
Python--原理解读生成器
def num(): return [lambda x: i * x for i in range(4)]print([m(2) for m in num()])咋一看,这道题似乎在考察生成器,又或列表推导式,惰性机制,只能往前,,,no,no,no这道题重点在于闭包,lambda函数相当于num函数的内层函数,而i就是lambda调用的外层的函数的变量,而i值一直在变,...原创 2018-11-26 22:53:35 · 510 阅读 · 0 评论 -
Python--递归算法解析
1.一段n个台阶组成的楼梯,小明从楼梯的最底层向最高层处前进,他可以一次迈一阶或两阶,问:他有多少种不同的走法?简单思路:这种大规模的问题无法解决,就无限拆分成同样表达的小规模问题,就运用到了递归的思想; --->:假如总共走法是f(n),那走到最后一个台阶时,可能是从倒数第一个一步跨过来的,所以为f(n-1) ...原创 2018-12-16 18:13:20 · 2150 阅读 · 0 评论 -
Python--详述执行效率和开发效率
标注:本文讲解的为cpython,由c语言实现的python问题:python为什么比其他编程语言性能差编程语言效率一词上无外乎两种:开发效率和执行效率,目前市面上没有一种可以兼得两者的编程语言;python则是更偏向于开发效率,至于执行效率,小编认为可以靠硬件支撑一下;下面我们就来分析一下python为什么性能差!第一:python为动态语言一个变量所指向对象的类型在运行时才...原创 2019-02-10 23:53:41 · 3828 阅读 · 0 评论 -
Python--互斥锁|递归锁|死锁机制详解
互斥锁:牺牲了执行效率而获得数据安全问题:# 多个线程抢占资源,会发生数据混乱from threading import Threadimport os,timedef work(): global n temp=n time.sleep(0.1) n=temp-1if __name__ == '__main__': n=100 l...原创 2019-02-26 19:34:31 · 1145 阅读 · 0 评论 -
Python--垃圾回收机制原理解读
前提引入:高级语言java,c#等,都采用了垃圾回收机制,而c,c++这种是用户自己管理维护内存的方式,极其自由,可以任意申请内存,但如同一把双刃剑,为大量内存泄漏,悬空指针bug埋下隐患python采用的是以引用计数机制为主,标记清除和分代回收为辅的策略引用计数机制:python中处处皆对象,他们的核心就是一个结构体:PyObjecttypedef struct_obj...原创 2019-02-28 16:06:09 · 704 阅读 · 1 评论