前一章介绍了python中的集中基本数据类型,本章着重记录python中str字符串类型数据的应用。str字符串主要由两种方法,一种是方法,一种是魔术方法。由于内容实在过于多,本章只介绍其中的方法。我会按照pycharm给的内置方法顺序(即字母排列顺序)全部依次介绍各种方法的使用。print(dir(str))"""'__add__','__class__','__contains__','__delattr__','__dir__','__doc__',
系统 2019-09-27 17:46:53 1798
1、什么是时间元组?获取当前时间从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。importtimelocaltime=time.localtime(time.time())print("本地时间为:",localtime)以上实例输出结果:本地时间为:time.struct_time(tm_year=2016,tm_mon=4,tm_mday=7,tm_hour=10,tm_min=28,tm_sec=49,tm
系统 2019-09-27 17:46:33 1798
在Python中,with关键字是一个替你管理实现上下文协议对象的好东西。例如:file等。示例如下:from__future__importwith_statementwithopen('cardlog.txt','r')asitem:forlineinitem:printline;在file的结束,会自动关闭该文件句柄。在python2.6中,with正式成为了关键字所以在python2.5以前,要利用with的话,需要使用:from__future_
系统 2019-09-27 17:46:19 1798
本文较为详细的分析了Python解释执行的原理,对于深入理解Python可以起到一定的帮助作用。具体分析如下:首先,这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。但是对于Python而言,python源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行
系统 2019-09-27 17:46:15 1798
Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。主要涉及到三个函数:1、os.path.exists(path)判断一个目录是否存在2、os.makedirs(path)多层创建目录3、os.mkdir(path)创建目录直接上代码:复制代码代码如下:defmkdir(path):#引入模块importos#去除首位空格path=path.strip()#去除尾部\符号path=path.rstrip("\\"
系统 2019-09-27 17:46:08 1798
在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢。答案是肯定的!python的jinja2模板库可以很好的满足我们的需求,通过维护一个原始数据模板,将我们想要动态生成的变量模板化,就可以实现需求。现在我们有这样的一个请求数据{"abc":"123","p2p":"123","smid":"20180807220733939b6
系统 2019-09-27 17:46:03 1798
开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作安装paramiko模块pip3installparamiko基于用户密码方式importparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.c
系统 2019-09-27 17:45:58 1798
当你打开一个.py文件时,经常会在代码的最下面看到if__name__=='__main__':,现在就来介绍一下它的作用.模块是对象,并且所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于您如何应用模块。如果import一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下,__name__的值将是一个特别缺省"__main__"。//////
系统 2019-09-27 17:45:26 1798
最近需要爬取某网站,无奈页面都是JS渲染后生成的,普通的爬虫框架搞不定,于是想到用Phantomjs搭一个代理。Python调用Phantomjs貌似没有现成的第三方库(如果有,请告知小编),漫步了一圈,发现只有pyspider提供了现成的方案。简单试用了一下,感觉pyspider更像一个为新手打造的爬虫工具,好比一个老妈子,有时无微不至,有时喋喋不休。轻巧的小工具应该更受人喜爱,我也怀着一点私心,可以带着我最爱的BeautifulSoup一块儿用,而不用
系统 2019-09-27 17:38:44 1798
一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:deffact(
系统 2019-09-27 17:38:31 1798
前言最近有人在Twisted邮件列表中提出诸如"为任务紧急的人提供一份Twisted介绍"的需求。值得提前透露的是,这个系列并不会如他们所愿。尤其是介绍Twisted框架和基于Python的异步编程而言,可能短时间无法讲清楚。因此,如果你时间紧急,这恐怕不是你想找的资料。我相信如果对异步编程模型一无所知,快速的介绍同样无法让你对其有所理解,至少你得稍微懂点基础知识吧。我已经用Twisted框架几年了,因此思考过我当初是怎么学习它(学得很慢)并发现学习它的最
系统 2019-09-27 17:38:20 1798
接触过Django的同学都应该十分熟悉它的ORM系统。对于python新手而言,这是一项几乎可以被称作“黑科技”的特性:只要你在models.py中随便定义一个Model的子类,Django便可以:获取它的字段定义,并转换成表结构读取Meta内部类,并转化成相应的配置信息。对于特殊的Model(如abstract、proxy),还要进行相应的转换为没有定义objects的Model加上一个默认的Manager开发之余,我也曾脑补过其背后的原理。曾经,我认为
系统 2019-09-27 17:38:17 1798
我们最终的视图技巧利用了一个高级python技术。假设你发现自己在各个不同视图里重复了大量代码,就像这个例子:defmy_view1(request):ifnotrequest.user.is_authenticated():returnHttpResponseRedirect('/accounts/login/')#...returnrender_to_response('template1.html')defmy_view2(request):ifno
系统 2019-09-27 17:37:44 1798
1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟踪cpython的扩展;2.用C来解决费时的处理,c是效率的代名词,也是python用来解决效率问题的主要途径,甚至有时候我都觉得python是c的完美搭档。常用的是Cython,直接把py代码c化然后又能像使用py包一样使用,其次是ctypes,效
系统 2019-09-27 17:37:43 1798
1.python中的变量:python中的变量声明不需要像C++、Java那样指定变量数据类型(int、float等),因为python会自动地根据赋给变量的值确定其类型。如radius=20,area=radius*radius*3.14159,python会自动的将radius看成“整型”,area看成“浮点型”。所以编程时不用再像之前那样小心翼翼的查看数据类型有没有出错,挺人性化的。2.input和print:先贴个小的程序#Prompttheuse
系统 2019-09-27 17:37:41 1798