拥有Python标签的文章
Python

python入门之语句(if语句、while语句、for语句)

python入门之语句,包括if语句、while语句、for语句,供python初学者参考。//if语句例子name='peirong';ifname=='peirong':print'thisispeirong';elifname=='maojun':print'thisismaojun';else:print'others';//while语句i=0;a=range(10);whilei

系统 2019-09-27 17:52:55 2074

Python

python爬虫解决验证码的思路及示例

如果直接从生成验证码的页面把验证码下载到本地后识别,再构造表单数据发送的话,会有一个验证码同步的问题,即请求了两次验证码,而识别出来的验证码并不是实际需要发送的验证码。有如下几种方法解决。法1:用session:mysession=requests.Session()login_url='http://xxx.com'checkcode_url='http://yyy.com'html=mysession.get(login_url,timeout=60*

系统 2019-09-27 17:52:42 2074

Python

Python 命令行之旅:使用 argparse 实现 git 命令

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认

系统 2019-09-27 17:52:36 2074

Python

python中多个装饰器的调用顺序详解

前言一般情况下,在函数中可以使用一个装饰器,但是有时也会有两个或两个以上的装饰器。多个装饰器装饰的顺序是从里到外(就近原则),而调用的顺序是从外到里(就远原则)。原代码执行结果装饰顺序:就近原则被装饰的函数,组装装饰器时,是从下往上装饰执行顺序:就远原则装饰器调用时是从上往下调用为了更好的理解,找到这段话:被装饰的函数是一个妹子,装饰器是衣服。“办事情”的时候得依次把外套、衬衣、内衣脱掉,事情办完了还要依次把内衣、衬衣、外套穿上。距离“妹子”越近的装饰器代

系统 2019-09-27 17:51:26 2074

Python

使用python serial 获取所有的串口名称的实例

如下所示:#!/usr/bin/envpython#-*-coding:utf-8-*importserialimportserial.tools.list_portsport_list=list(serial.tools.list_ports.comports())iflen(port_list)<=0:print"TheSerialportcan'tfind!"else:port_list_0=list(port_list[0])port_serial

系统 2019-09-27 17:50:57 2074

Python

第十五章 使用PyQt进行Python图形界面程序开发

在基础知识部分的最后一章《第十三章Python基础篇结束章》的《第13.3节图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNUGeneralPublicLicense的缩写,是GNU通用公共授权非正式的中文翻译),不适合用于商用开发。但P

系统 2019-09-27 17:50:44 2074

Python

千万不要错过这几道Python面试题,Python面试题No16

第1题:python下多线程的限制以及多进程中传递参数的方式?python多线程有个全局解释器锁(globalinterpreterlock),简称GIL,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython。这个锁的意思是任一时间只能有一个线程运用解释器,跟单cpu跑多个程序一个意思,我们都是轮着用的,这叫“并发”,不是“并行”。为什么会有GIL?多核CPU的出现

系统 2019-09-27 17:50:37 2074

Python

Python中的各种装饰器详解

Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义。一、函数式装饰器:装饰器本身是一个函数。1.装饰函数:被装饰对象是一个函数[1]装饰器无参数:a.被装饰对象无参数:复制代码代码如下:>>>deftest(func):def_test():print'Callthefunction%s().'%func.func_namereturnfunc()return_test>>>@testdefsay():return'hellowor

系统 2019-09-27 17:50:21 2074

Python

php调用python服务

php调用python服务侃侃:公司用的php的popen以命令的形式调用python,首先说说这样做的缺点。php执行命令行调用python的缺点popen('pythontest.py[参数]','r');缺点一:windows默认的是gbk编码,当php中传utf-8中文参数的时候,python接收到的参数会有问题。当然,这是有解决的办法的,就是windows下转换一下字符的编码,linux不用转换。再来python接收参数的时候肯定也要转换编码了,

系统 2019-09-27 17:50:10 2074

Python

用PyQt进行Python图形界面的程序的开发的入门指引

一般来说,选择用于应用程序的GUI工具箱会是一件棘手的事。使用Python(许多语言也一样)的程序员可以选择的GUI工具箱种类繁多,而每个工具箱都有各自的优缺点。有些速度比其它工具箱快,有些比较小;有些易于安装,有些更适合于跨平台使用(对于这一点,还要指出,有些支持您需要满足的特定特性)。当然,各种库都相应具有各种许可证。对于Python程序员而言,缺省的GUI选择是Tk(通过Tkinter绑定)―其原因显而易见。Tkinter和闲置的IDE是由Pytho

系统 2019-09-27 17:49:34 2074

Python

各种常见排序算法的原理及python代码实现

常见的排序算法:冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序。冒泡排序原理:两两元素进行比较,每一趟能够确定最大元素的位置,稳定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>

系统 2019-09-27 17:49:28 2074

Python

基于Python __dict__与dir()的区别详解

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来

系统 2019-09-27 17:48:14 2074

Python

Python风格规范PEP8

分号不要在行尾加分号,也不要用分号将两条命令放在同一行.行长度每行不超过80个字符例外:长的导入模块语句注释里的URL不要使用反斜杠连接行.Python会将圆括号,中括号和花括号中的行隐式的连接起来,你可以利用这个特点.如果需要,你可以在表达式外围增加一对额外的圆括号.Yes:foo_bar(self,width,height,color='black',design=None,x='foo',emphasis=None,highlight=0)if(wi

系统 2019-09-27 17:48:08 2074

Python

Python中__init__和__new__的区别详解

__init__方法是什么?使用Python写过面向对象的代码的同学,可能对__init__方法已经非常熟悉了,__init__方法通常用在初始化一个类实例的时候。例如:#-*-coding:utf-8-*-classPerson(object):"""SillyPerson"""def__init__(self,name,age):self.name=nameself.age=agedef__str__(self):return''%(self.name

系统 2019-09-27 17:47:53 2074

Python

Python Threading 线程/互斥锁/死锁/GIL锁

导入线程包importthreading准备函数线程,传参数t1=threading.Thread(target=func,args=(args,))类继承线程,创建线程对象classMyThread(threading.Thread)defrun(self):passif__name__=="__main__":t=MyThread()t.start()线程共享全面变量,但在共享全局变量时会出现数据错误问题使用threading模块中的Lock类,添加互

系统 2019-09-27 17:47:40 2074