- 军军小站|张军博客
拥有Python标签的文章
Python

python中的上下文管理器和with语句块

上下文管理器对象存在的目的就是管理with语句。上下文管理器协议包含__enter__和__exit__两个方法。with语句开始运行时,会在上下文管理器对象上调用__enter__方法。with语句运行结束后,会在上下文管理器对象上调用__exit__方法来看一个例子,把文件对象当成上下文管理器使用withopen('test.dat')asfp:secc=fp.read(20)>>>len(src)20>>>fp<_io.TextIOWrapperna

系统 2019-09-27 17:57:27 2113

Python

python基础之元组函数(11)

元组:一组有序数据的组合。元组不可以修改。元组的定义:空元组:变量=()或者变量=tuple()单个元素的元组变量=(值,)具有多个数据的元组变量=(值,值…)或者变量=tuple(容器数据)基本操作:只可以使用索引访问元组,不可以进行其他操作。tuple1=(“你”,“我”,“他”,(“你得”,“我的”))print(tuple1[3][1])分片:操作和列表一致。tuple1=(“你”,“我”,“他”,(“你得”,“我的”))print(tuple1[

系统 2019-09-27 17:53:23 2113

Python

python爬取苏宁易购--jsonpath方法

苏宁的爬取和京东的爬取是一样的,方法类似这是爬取京东的例子:https://blog.csdn.net/Dream____Fly/article/details/99698222现在分析苏宁的首页,这个页面还算比较这个很容易获取,获取之后在前面拼接https就行了到这里就可以看代码操作了:importrequestsfrombs4importBeautifulSoupheaders={'User-Agent':'Mozilla/5.0(WindowsNT1

系统 2019-09-27 17:53:17 2113

Python

SVD理论以及Python实现

SVD将一个矩阵分解为U,V(U,V均为列正交矩阵,即列向量直接内积为0),中间的矩阵为对角阵,元素为奇异值。A[m∗n]=U[m∗r]∗∑[r∗r]∗(V[n∗r])TA_{[m*n]}=U_{[m*r]}*\sum_{[r*r]}*(V_{[n*r]})^TA[m∗n]​=U[m∗r]​∗[r∗r]∑​∗(V[n∗r]​)TSVD计算方式A=U∗∑∗VTAT=V∗∑∗UTAAT=U∗∑∗VT∗V∗∑∗UTA=U*\sum*V^T\\A^T=V*\sum

系统 2019-09-27 17:52:40 2113

Python

python SSTI绕过

原理首先以jinja2模板注入为例:{{request[request.args.param]}}可以用{{request|attr(request.args.param)}}替代绕过"["、"]"过滤绕过的方式也就是同义语句转化,下面给出其他的替换绕过"_"字符:?exp={{request|attr([request.args.usc*2,request.args.class,request.args.usc*2]|join)}}&usc=_&clas

系统 2019-09-27 17:51:45 2113

Python

基数排序(python)

10.基数排序10.1算法思想基数排序是对桶排序的扩展。第一类:最低位优先法,简称LSD法:先从最低位开始排序,再对次低位排序,直到对最高位排序后得到一个有序序列;第二类:最高位优先法,简称MSD法:先从最高位开始排序,再逐个对各分组按次高位进行子排序,循环直到最低位。(位没有数的话,补0)这里以LSD为例,由于待排序元素每一位上的数字的取值范围是0—9,因此每按照某一位,需要10个桶,这样每一位上相同的数字会分配到一个桶里。10.2算法过程假设有一未排序

系统 2019-09-27 17:49:44 2113

Python

Python 里面的链表与传统的 list 之间的差别

importtimedeflog_time(func,*args,**kwargs):definner():t1=time.time()func(*args,**kwargs)t2=time.time()print(f"使用的时间是{t2-t1}s")returninner@log_timedefappend_func():ll=list()foriinrange(10000):ll.append(i)@log_timedefinsert_func():l

系统 2019-09-27 17:49:44 2113

Python

python实现最大子序和(分治+动态规划)

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。思路:首先我们分析题目,我们思考,为什么最大和的连续子数组不包含其他的元素而是这几个呢?因为如果我们想在现有的基础上去扩展当前连续子数组,相邻的元素是一定要被加入的,而

系统 2019-09-27 17:48:06 2113

Python

Python 多线程其他属性以及继承Thread类详解

一、线程常用属性1.threading.currentThread:返回当前线程变量2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指的是线程启动后,结束前的状态3.threading.activeCount:返回正在运行的线程数量,效果跟len(threading.enumer)一样4.thr.setName:给线程设置名字5.thr.getName:得到线程的名字。举例:mport_threadasthr

系统 2019-09-27 17:45:57 2113

Python

Python编程中的文件操作攻略

open函数你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的辅助方法才可以调用它进行读写。语法:fileobject=open(file_name[,access_mode][,buffering])各个参数的细节如下:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这

系统 2019-09-27 17:45:46 2113

Python

Python的垃圾回收机制详解

引用计数在Python源码中,每一个对象都是一个结构体表示,都有一个计数字段。typedefstruct_object{intob_refcnt;struct_typeobject*ob_type;}PyObject;PyObject是每个对象必有的内容,其中ob_refcnt就是作为引用计数。当一个对象有了新的引用时,它的ob_refcnt就会增加,引用它的对象被删除时则减少。一旦对象的引用计数为0,该对象立即被回收,占用空间就会被释放。优点简单易用实时

系统 2019-09-27 17:45:38 2113

Python

python爬虫小案例_中国大学排名爬虫

一、中国大学排名爬虫案例的步骤如下:步骤1:从网络上获取大学排名网页内容getHTMLText()步骤2:提取网页内容中信息到合适的数据结构fillUnivList()步骤3:利用数据结构展示并输出结果printUnivList()查看http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html的源码,部分如下:实现本案例的参考代码如下:importrequestsimportbs4frombs4importB

系统 2019-09-27 17:45:37 2113

Python

来尝个鲜,Python3.8几大新功能体验,冲鸭!

继3.7版本之后Python再次发布了新版本,虽然新版本带来了不少调整,但是其中很大一部分都是对代码底层设计的修改,又或是typing、pickle等不常用的功能,对多数用户而言影响不大,今天我想重点聊一聊那些将对我们的代码编写产生较大影响的新功能。在体验开始前先说下准备工作,由于Python3.8还没有正式发布,因此通过Anaconda的多版本管理搭建Python3.8新环境的方法是行不通的,我的做法是到官网下载对应的最新版本后单独安装。为了避免与现有环

系统 2019-09-27 17:55:51 2112

Python

Python制作CSDN免积分下载器

CSDN免积分下载你懂的。1、输入资源地址如:http://download.csdn.net/download/gengqkun/41278082、输入验证码3、点击下载,会弹出浏览器下载。注:成功率在70-80%,界面很丑,请将就着用。复制代码代码如下:#-*-coding:utf-8-*-#python3.3.5importurllib.parse,urllib.request,http.cookiejar,io,webbrowserimporttk

系统 2019-09-27 17:51:40 2112

Python

十条建议帮你提高Python编程效率

程序员的时间很宝贵,Python这门语言虽然足够简单、优雅,但并不是说你使用Python编程,效率就一定会高。要想节省时间、提高效率,还是需要注意很多地方的。今天就与大家分享资深Python程序员总结的10点建议,帮助大家大幅节省开发时间。1.不使用分号使用分号在Python中是可选的:与其他面向对象语言不同,你不需要在每一条语句后面使用分号。这看起来很简单,似乎也节省不了多少时间;但一旦你的代码量扩展到数千号,这些分号就变得分心且没有必要键入。2.使用称

系统 2019-09-27 17:38:31 2112