Python

Python中有趣在__call__函数

Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于重载了括号运算符。classg_dpm(object):def__init__(self,g):self.g=gdef__call__(self,t):return(self.g*t**2)/2计算地球场景的时候,我们就可以令e_dpm=g_dpm(9.8),s=e_dpm(t)。classAnima

系统 2019-09-27 17:45:33 2220

Python

详解Python编程中包的概念与管理

Python中的包包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python的应用环境。考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码:#!/usr/bin/python#-*-coding:UTF-8-*-defPots():print"I'mPotsPhone"同样地,我们有另外两个保存了不同函数的文件:Phone/Isdn.py含有函数Isdn()Phone/G3.py含有函数G3()现在,在Ph

系统 2019-09-27 17:38:41 2220

Python

深入解析Python中的变量和赋值运算符

Python变量类型变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号

系统 2019-09-27 17:38:21 2220

Python

python动态网页批量爬取

四六级成绩查询网站我所知道的有两个:学信网(http://www.chsi.com.cn/cet/)和99宿舍(http://cet.99sushe.com/),这两个网站采用的都是动态网页。我使用的是学信网,好了,网站截图如下:网站的代码如下:准考证号:请输入15位准考证号姓名:姓名超过3个字,可只输入前3个由图中可以看出表单提交的链接为/cet/query,即:http://www.chsi.com.cn/cet/query,好了,填写表单和结果如下:

系统 2019-09-27 17:38:16 2220

Python

python代码 if not x: 和 if x is not None

代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth

系统 2019-09-27 17:38:05 2220

Python

Python中的rfind()方法使用详解

rfind()方法返回所在子str被找到的最后一个索引,或者-1,如果没有这样的索引不存在,可选择限制搜索字符串string[beg:end].语法以下是rfind()方法的语法:str.rfind(str,beg=0end=len(string))参数str--此选项指定要搜索的字符串beg--这是开始索引,默认情况下为0end--这是结束索引,默认情况下它等于该字符串的长度返回值此方法如果找到返回最后一个索引,否则返回-1例子下面的例子显示了rfind

系统 2019-09-27 17:38:04 2220

Python

Python线程详解

1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时候,线程"print"便来打印列表了,输出就成了一半0一半1,这就是数据的不同步。为了避免

系统 2019-09-27 17:37:41 2220

Python

Python 面向对象总结

面向对象类class类型类变量实例方法initattackbite类指针-指向父类对象对象指针实例变量self.nameslef.age组合一个对象作为一个属性self.course=python继承classFoo:passclassSon(Foo):passSon是子类\派生类Foo是父类\超类\基类继承的特点:如果多个类都用到了相同的方法\属性我们应该把这些共用的方法抽象到他们的父类中去减少代码的冗余先写子类的功能,发现重复才创建父类子类自己没有某一

系统 2019-09-27 17:56:43 2219

Python

python单线程下实现多个socket并发过程详解

先看服务端的代码importsys#importsocketimporttimeimportgeventfromgeventimportsocketfromgeventimportmonkeymonkey.patch_all()#类似于python中的黑魔法,把很多模块的阻塞的变成非阻塞的,比如socket中的rece和send都变#为不阻塞了defserver(port):s=socket.socket()s.bind(("127.0.0.1",port

系统 2019-09-27 17:55:42 2219

Python

南京大学python课程系列笔记之python基础之第一周:走进python

视频地址:https://www.icourse163.org/course/NJU-10015710051.1python简介:历史,特点,应用1.2第一个python程序:1.输出:print(字符串)print(变量)2.输入:varibale=input("message":)返回的是字符串str类型如需其它类型,可使用int(),float()等函数进行类型转换3.注释:#4.缩进:具有相同缩进的程序语句构成同一语句块1.3python语法基础1

系统 2019-09-27 17:54:31 2219

Python

python中的break、continue、exit()、pass全面解析

1、breakbreak是终止本次循环,比如你很多个while循环,你在其中一个while循环里写了一个break,满足条件,只会终止这个while里面的循环,程序会跳到上一层while循环继续往下走以简单的for循环来举例foriinrange(10):print("-----%d-----"%i)forjinrange(10):ifj>5:breakprint(j)这里遇到j>5的时候第二层的for就不循环了,继续跳到上一层循环2、continueco

系统 2019-09-27 17:54:11 2219

Python

python安装Scrapy图文教程

安装方法pipinstallScrapy如果顺利的话不用管直接一路下来就OK验证是否安装成功安装成功不顺利的情况1)lxml安装不成功使用whl进行安装,不过需要先安装whlpipinstallwheel安装完成后下载lxml的whl文件网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/whl版本挑选进入cmd――>importpip――>printpip.pep425tags.get_supported(),按照截

系统 2019-09-27 17:54:03 2219

Python

Python+sklearn机器学习应该了解的33个基本概念

机器学习(MachineLearning)根据已知数据来不断学习和积累经验,然后总结出规律并尝试预测未知数据的属性,是一门综合性非常强的多领域交叉学科,涉及线性代数、概率论、逼近论、凸分析、算法复杂度理论等多门学科。目前机器学习已经有了十分广泛的应用,例如数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。总体上说,机器学习算法和问题可以分为有监督学习和无

系统 2019-09-27 17:53:49 2219

Python

详解python和matlab的优势与区别

Python是一种面向对象的解释型计算机程序设计语言。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。Python的优势:Python相对于Matlab最大的优势:免费。但既然你已经能用上Matlab,想必不在乎这个了。Python次大的优势:开源。你可以大量更改科学计算的算法细节。可移植性,Ma

系统 2019-09-27 17:53:35 2219

Python

开发人工智能电话机器人必须掌握的语言,Python

要说近几年科技圈什么最火热,无疑就是人工智能,各大科技公司纷纷投入这个浪潮之中,很多从事的是毫不相关的行业的企业也投入到了人工智能的开发与应用中,也想在里面分得一勺半羹。提及人工智能,就不得不说到和他息息相关的开发工具,python就是最接近AI的预言之一。总所周知,机器学习和深度学习是开发人工智能两个非常重要的模块,而Python拥有keras、Numpy、matplotlib、sklearn、等大量的库,像matplotlib、sklearn、pand

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