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

python @property的用法及含义全面解析

在接触python时最开始接触的代码,取长方形的长和宽,定义一个长方形类,然后设置长方形的长宽属性,通过实例化的方式调用长和宽,像如下代码一样。classRectangle(object):def__init__(self):self.width=10self.height=20r=Rectangle()print(r.width,r.height)此时输出结果为1020但是这样在实际使用中会产生一个严重的问题,__init__中定义的属性是可变的,换句话

系统 2019-09-27 17:52:24 1926

Python

在Python中构建增广矩阵的实现方法

麻烦的#TODO构造增广矩阵,假设A,b行数相同defaugmentMatrix(A,b):if(len(A)!=len(b)):raise'Thenumberofrowsisdifferent'result=[]foriinrange(len(A)):row=[]forjinrange(len(A[i])):row.append(A[i][j])forjinrange(len(b[i])):row.append(b[i][j])result.append

系统 2019-09-27 17:52:06 1926

Python

Python之Subprocess模块

前言其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要耗费一个小时,那么主进程会卡一个小时,而不会去干别的事,这样就会导致程序的运行效率低下。如果由subprocess去执行系统命令的时候并不会让主进程去执行,而是主进程会开辟出一个子进程去执行,并不会影响到主进程的运行,主进程该干嘛就干嘛,那么又有个问题,大家都知道进程之间的内存空间是独立的,也就是说进程之间是不能相互访

系统 2019-09-27 17:50:09 1926

Python

一文搞懂Python可迭代、迭代器和生成器的概念

关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概

系统 2019-09-27 17:49:39 1926

Python

python最简单的自定义异常方法

异常是指程序运行时遇到了非致命错误。python中有许多预定义的异常类型,不过如果你想定义自己的异常,也是完全可以的。如下代码自定义了一个最简单的异常,并使程序抛出了该异常:classMyException(Exception):passcondition=Falseifnotcondition:raiseMyException('条件不满足,抛出自定义异常!')可以看出,自定义的异常必须继承自Exception,这样就可以无需定义__init__方法而直

系统 2019-09-27 17:49:35 1926

Python

python运行方式和应用

一、python不同环境下运行1、python外部传参引入sys包通过sys.arg[i]获取到对应参数2、python在DOS运行需要加入引用包路径sys.path.append("D:/python/lib")3.shell和bat脚本运行python文件(1)bat文件pythonhello.py%1%2默认有传参数限制,需要用其他方式来获取更多参数(2)shell脚本pythonhello.py$1$2无传参数限制二、应用python生成并写入xm

系统 2019-09-27 17:48:57 1926

Python

python暴力解压rar加密文件过程详解

第一次使用csdn写文章,写得不好还请见谅。(运行环境:python3.6)下了一个带密码的压缩包文件,作为一个刚学python的新手,想着能不能用python暴力破解它,于是在网上搜了很多资料,看着似乎并不是很麻烦,也想试着自己写一个可以暴力破解的程序,在写的过程中却遇到了各种各样的问题,希望大手们能带带我。遇到的问题如下:zipfile和zipfile2似乎都不支持AES解密(https://bugs.python.org/issue9170)在用ra

系统 2019-09-27 17:47:52 1926

Python

【面试】python常见问题

python2和python3的区别fun(*args,**kwargs)中的*args,**kwargs什么意思?谈下python的GIL列出5个python标准库一句话解释什么样的语言能够使用装饰器python的内建数据类型有哪些简述__init____new__和__init的区别简述with方法打开处理文件列出python中可变数据类型和不可变数据类型装饰器python为什么不需要编译,你是怎么理解python解释器的你写代码的时候会考虑对代码进行

系统 2019-09-27 17:47:35 1926

Python

python中 if__name__ == "__main__"的理解

有时候经常看到python代码中含有if__name__=='__main__'的代码,但是却一直不知道是什么意思,可以通过相应的代码去试验即可知道其作用。一、理解我们知道每个python文件既可以被直接执行,则可以作为脚本导入到其他文件中。从而构建各个模块的联系。而if__name__=='__main__'的作用也是用来区分是自己作为自己的文件进行执行的,还是被导入到其他文件当做脚本使用。为了更好的区分,看如下例子:步骤一:新建一个文件为:test.p

系统 2019-09-27 17:47:33 1926

Python

利用python list完成最简单的DB连接池方法

先来看查看效果:在代码连接数据库后,并且执行三条sql后,将mysql直接重启掉,故我们的连接池连接均是不ok的,所以,它会全部删除再抓新的连接下来,重启mysql命令:关于python代码:'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#!/usr/bin/envpython3#-*-coding:UTF-8-*-importpymys

系统 2019-09-27 17:47:30 1926

Python

python中字典按键或键值排序的实现代码

字典排序在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。按“值”排序按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。sorted(iterable[,cmp[,key[,reverse]]])iterable:是可迭代类型类型;cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中

系统 2019-09-27 17:47:11 1926

Python

Python 使用os.remove删除文件夹时报错的解决方法

os.remove不能用来删除文件夹,否则拒绝访问。#-*-coding:utf-8-*-importosif__name__=="__main__":os.remove('D:\\test')运行结果:删除空目录:#-*-coding:utf-8-*-importosif__name__=="__main__":os.rmdir('D:\\test')如果目录不为空会报错,如下:删除目录(不论目录是否为空):#-*-coding:utf-8-*-impo

系统 2019-09-27 17:46:47 1926

Python

如何使用 python 接入虹软 ArcFace SDK

公司需要在项目中使用人脸识别SDK,并且对信息安全的要求非常高,在详细了解市场上几个主流人脸识别SDK后,综合来看虹软的ArcfaceSDK比较符合我们的需求,它提供了免费版本,并且可以在离线环境下使用,这一点非常符合我们对安全性的要求。但有个遗憾的事情,我们的项目主要使用了Python语言,虹软官方并没有提供Python版本的SDK,因此我自己使用Python封装了ArcfaceC++SDK,便于在项目中使用,这里将主要过程写出来供大家探讨下。1.环境说

系统 2019-09-27 17:45:50 1926

Python

python爬取51job中hr的邮箱

本文实例为大家分享了python爬取51job中hr的邮箱具体代码,供大家参考,具体内容如下#encoding=utf8importurllib2importcookielibimportreimportlxml.htmlfrom_astimportTryExceptfromwarningsimportcatch_warningsf=open('/root/Desktop/51-01.txt','a+')defread(city):url='http://

系统 2019-09-27 17:38:44 1926

Python

Python性能提升之延迟初始化

所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算。构造一个延迟计算属性的主要目的是为了提升性能property在切入正题之前,我们了解下property的用法,property可以将属性的访问转变成方法的调用。classCircle(object):def__init__(self,radius):self.radius=radius@propertydefarea(

系统 2019-09-27 17:38:44 1926