简说python发展历史Python是著名的“龟叔”GuidovanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。python从ABC语言发展起来,受到Modula-3的影响,同时结合了Unixshell和C的习惯如今python已成为最受欢迎的程序设计语言之一,根据TIOBE提供的编程语言指数走势图可以发现python近些年的占有率一直保持着增长势头。还是那句口号,人生苦短,我学python语言特性Python是完全面向对
系统 2019-09-27 17:49:35 2283
我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。回忆一下位置传递:复制代码代码如下:deff(a,b,c):returna+b+cprint(f(1,2,3))在调用f时,1,2,3根据位置分别传递给了a,b,c。关键字传递有些情况下,用位置传递会感觉比较死板。关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。依然沿用上面f的定义
系统 2019-09-27 17:45:51 2283
进程和线程进程是程序运行的实例。一个进程里面可以包含多个线程,因此同一进程下的多个线程之间可以共享线程内的所有资源,它是操作系统动态运行的基本单元;每一个线程是进程下的一个实例,可以动态调度和独立运行,由于线程和进程有很多类似的特点,因此,线程又被称为轻量级的进程。线程的运行在进程之下,进程的存在依赖于线程;开胃菜基于Python3创建一个简单的进程示例fromthreadingimportThreadfromtimeimportsleepclassCoo
系统 2019-09-27 17:57:01 2282
密码学俱乐部的第一条规则是:永远不要自己发明密码系统。密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码系统阶段都找到过许多漏洞。Python中的一个有用的基本加密库就叫做cryptography。它既是一个“安全”方面的基础库,也是一个“危险”层。“危险”层需要更加小心和相关的知识,并且使用它很容易出现安全漏洞。在这篇介绍性文章中,我们不会涵盖“危险”层中的任何内容!cryptography库中最有用的高级安全功能是一
系统 2019-09-27 17:56:58 2282
在Python中一切都是对象。如果要在Python中表示一个对象,除了定义class外还有哪些方式呢?我们今天就来盘点一下。0x00dict字典或映射存储KV键值对,它对查找、插入和删除操作都有比较高效率。用一个dict对象可以非常容易的表示一个对象。dict的使用也很灵活,可以修改、添加或删除属性。>>>student={'name':'jack','age':18,'height':170}>>>student{'name':'jack','age':
系统 2019-09-27 17:56:53 2282
本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能。分享给大家供大家参考,具体如下:代码的入口:if__name__=='__main__':main()#!/usr/bin/python3#-*-coding:utf-8-*-#author:Sirius.Zhaoimportjsonfromurllib.parseimportquotefromurllib.requestimporturlopenfromurllib.requestimpo
系统 2019-09-27 17:56:14 2282
使用pygame模块首先安装pipinstallpygame方法实现**defplay_music(self):filepath=r"E:\music\消愁.mp3";pygame.mixer.init()#加载音乐pygame.mixer.music.load(filepath)pygame.mixer.music.play(start=0.0)#播放时长,没有此设置,音乐不会播放,会一次性加载完time.sleep(300)pygame.mixer.m
系统 2019-09-27 17:56:05 2282
本文实例讲述了python类继承用法。分享给大家供大家参考。具体方法如下:#!/usr/bin/python#Filename:inherit.pyclassSchoolMember:'''Representsanyschoolmember.'''def__init__(self,name,age):self.name=nameself.age=ageprint'(InitializedSchoolMember:%s)'%self.namedeftell(
系统 2019-09-27 17:55:31 2282
在前面(【实战演练】数据库基本知识与原理系列https://blog.51cto.com/14423403/2418820)的文章,已经分享过数据库的原理,设计与开发的范式,以及根据我们django项目的需求,进行了数据库的设计。另外也介绍过数据库操作的基本SQL命令。以前不使用web框架来进行开发,那么就需要在一个php或者py文件(页面文件里面),从展示层(html、css、js)到逻辑层(php、python)到数据层(SQL)的东西都要写。直接用p
系统 2019-09-27 17:55:27 2282
本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:一、首先下载驱动:(cx_Oracle)http://www.python.net/crew/atuining/cx_Oracle/不过要注意一下版本,根据你的情况加以选择。二、安装:首先配置oracle_home环境变量执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。如果是linux,执行复制代码
系统 2019-09-27 17:55:16 2282
有一些通用的参数,比如axis=0为行,1为列index=指定行,columns=指定列ascending=False倒序,True顺序找不到代码时候试试会有惊喜行列通用通过标签选择数据df[[...]]df.loc['']df['']df.loc[indexList,columnList]通过位置选择数据df[num]df.iloc[indexList,columnList]通过标签/位置选择数据df.ix[indexList,columnList][i
系统 2019-09-27 17:55:06 2282
前言随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界。首先看一下本实验需要的数据集,为了简便我们只进行两个人的识别,选取了beyond乐队的主唱黄家驹和贝斯手黄家强,这哥俩长得有几分神似,这也是对人脸识别的一个考验:两个文件夹,一个为训练数据集,一个为测试数据集,训练数据集中有两个文件夹0和1,之前看一些资料有说这里要遵循“slabel”命名规则,
系统 2019-09-27 17:55:02 2282
subprocess意在替代其他几个老的模块或者函数,比如:os.systemos.spawn*os.popen*popen2.*commands.*subprocess最简单的用法就是调用shell命令了,另外也可以调用程序,并且可以通过stdout,stdin和stderr进行交互。subprocess的主类复制代码代码如下:subprocess.Popen(args,bufsize=0,executable=None,stdin=None,stdou
系统 2019-09-27 17:54:43 2282
一、多线程同步由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源。大部分情况都推荐使用多进程。python的多线程的同步与其他语言基本相同,主要包含:Lock&RLock:用来确保多线程多共享资源的访问。Semaphore:用来确保一定资源多线程访问时的上限,例如资源池。Event:是最简单的线程间通信的方式,一个线程可以发送信号,其他的线程接收到信号后执行操作。二、实例1)L
系统 2019-09-27 17:54:05 2282
一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用
系统 2019-09-27 17:54:05 2282