拥有Python标签的文章
Python

python数据类型判断type与isinstance的区别实例解析

在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。验证类型用type函数,非常好用,比如>>type('foo')==strTrue>>type(2.3)in(int,float)True既然有了type()来判断类型,为什么还有isinstance()呢?一个明显的区别是在判断子类。type()不会认为子类是一种

系统 2019-09-27 17:53:31 2546

Python

为什么Python 3.6以后字典有序并且效率更高?

在Python3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面。但是从Python3.6开始,字典是变成有顺序的了。你先插入键值对A,后插入键值对B,那么当你打印Keys列表的时候,你就会发现B在A的后面。不仅如此,从Python3.6开始,下面的三种遍历操作,效率要高于Python3.5之前:forkeyin字典forvaluein字典.values()forkey

系统 2019-09-27 17:51:01 2546

Python

Python线程的两种编程方式

Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界区等请参考python的文档及相关资料。1、调用thread模块中的start_new_thread()函数来产生新的线程,请看代码:复制代码代码如下:###thread_example.pyimporttimeimportthreaddeftimer(no,

系统 2019-09-27 17:49:41 2546

Python

解决python中使用PYQT时中文乱码问题

如题,解决Python中用PyQt时中文乱码问题的解决方法:在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,Python的版本也会影响解决方法,故这里只推荐这种。(有人说用toLocal8bit函数也可以,我试了下,貌似不行)请看例子:#coding=utf-8fromPyQt4importQtGui,QtCores=QtCore.QString(u'你好(hello)世界(world)')t=s.toLocal8Bit()u=un

系统 2019-09-27 17:49:04 2546

Python

Windows 任务调度程序定时执行Python脚本

Windows任务调度程序(TaskScheduler)可以定时执行程序,本文分享使用TaskScheduler定时执行Python脚本的两种方法。在控制面版->管理员工具中打开TaskScheduler:在TaskSchedulerLibrary中创建一个新的文件夹demo,右击,点击“CreateBasicTask”,打开创建任务向导:step1:输入任务的名称step2:设置触发任务的周期step3:进一步设置触发任务的周期step4:设置任务的动作

系统 2019-09-27 17:48:04 2546

Python

Python常用的文件及文件路径、目录操作方法汇总介绍

python的文件和路径操作函数基本上位于os和os.path模块中。os.listdir(dirname):列出dirname下的目录和文件os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.getcwd():获得当前工作目录os.path.split(name):分割文件名与目录(事实上,如果你完全使

系统 2019-09-27 17:46:59 2546

Python

Python学习:面向对象之继承与派生

什么是继承继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类。子类会“”遗传”父类的属性,从而解决代码重用问题(比如练习7中Garen与Riven类有很多冗余的代码)python中类的继承分为:单继承和多继承classParentClass1:#定义父类passclassParentClass2:#定义父类passclassSubClass1(ParentClass1):#单

系统 2019-09-27 17:46:49 2546

Python

Python跳出循环语句continue与break的区别

虽然在Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。break复制代码代码如下:#encoding=UTF-8forxinrange(10):ifx==5:breakprintx上面使用的break循环,所以执行到x==5的时候就跳出了整个for循环,因此printx语句只打到4的时候就终止了,因此输出结果如图:continue复制代码代码如下:#e

系统 2019-09-27 17:46:10 2546

Python

python学习手册笔记——32.异常基础

00.异常会根据错误自动被出发,也能由代码出发和截获。异常由四个语句处理。01.异常的函数try/except:捕捉由Python或你引起的异常并恢复try/finally:无论异常是否发生,执行清理行为raise:手动在代码中触发异常assert:有条件地在程序代码中触发异常with/as:实现环境管理器02.用户定义的异常能够通过类编写,它继承自一个内置的异常类:通常这个类的名称叫做Exception03.try/finally:是否有问题都会执行fi

系统 2019-09-27 17:57:33 2545

Python

详解Python中正则匹配TAB及空格的小技巧

在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任意字符,*代表0-无穷个,比如说要分别匹配某个目录下的子目录:>>>importre>>>match=re.match(r"/(.*)/(.*)/(.*)/","/usr/local/bin/")>>>match.groups()('usr','local','bin')>>>比如像上面,使用(.*)就能很好的匹配,但如果字符串中里面即有TAB键,又有空格,要匹配出来,如何匹配呢?比如说像"Hell

系统 2019-09-27 17:56:22 2545

Python

python 多进程共享全局变量之Manager()详解

Manager支持的类型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和Array。但当使用Manager处理list、dict等可变数据类型时,需要注意一个陷阱,即Manager对象无法监测到它引用的可变对象值的修改,需要通过触发__setitem__方法来让它获得通知。而触发__setitem__方法比较直接的办法就是增加一个中

系统 2019-09-27 17:55:25 2545

Python

python实现在目录中查找指定文件的方法

本文实例讲述了python实现在目录中查找指定文件的方法。分享给大家供大家参考。具体实现方法如下:1.模糊查找复制代码代码如下:importosfromglobimportglob#用到了这个模块defsearch_file(pattern,search_path=os.environ['PATH'],pathsep=os.pathsep):forpathinsearch_path.split(os.pathsep):formatchinglob(os.p

系统 2019-09-27 17:54:30 2545

Python

基于百度翻译API和python的批量地名翻译的实现

这次接到一个需求,需要把postgresql数据库中批量的地名进行翻译,大约200多个,自己翻译也非常的慢。于是想到用百度翻译的API对数据库的数据逐条进行翻译。正好也在学习Python语言,正好可以用Python对数据库的内容进行朱行翻译。数据如下所示:百度API标准版:提供基础文本翻译服务,QPS(每秒并发请求量)=1,个人或企业用户均可申请使用高级版:提供基础文本翻译服务,同时可申请自定义词表功能(敬请期待),QPS=10,供个人认证用户申请使用尊享

系统 2019-09-27 17:53:36 2545

Python

笔试:python 标准输入的问题。strip() 和 split()

strip()s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s字符串中开头处,位于rm删除序列的字符s.rstrip(rm)删除s字符串中结尾处,位于rm删除序列的字符声明:s为字符串,rm为要删除的字符序列.只能删除开头或是结尾的字符或是字符串。不能删除中间的字符或是字符串。(rm=‘asd’,asd不分顺序。)注意:当rm为空时,默认删除空白符(包括’\n’,‘\r’,‘\t’,’')这里的rm删除

系统 2019-09-27 17:51:59 2545

Python

【python】GUI thinter窗口最大化

方法1fromtkinterimport*window=Tk()#新建窗口暂且这么认为window.title("窗口最大化")#窗口命名window.state("zoomed")#窗口最大,仅限window下使用window.mainloop()#主窗口循环显示这种方法仅限window下使用,linux不可以。方法2fromtkinterimport*window=Tk()window.title("窗口最大化")#窗口命名w=window.winfo

系统 2019-09-27 17:51:46 2545