目录1.Python简介2.第一个Python程序3.知识点梳理序言:未来是数据的世界,而python是一门可以高效简洁处理数据的语言,博主打算花45天左右完成python学习的从0到1。以此相关系列博客作为一个记录。1.Python简介Python的发音与拼写Python的意思是蟒蛇,源于作者喜欢的一部电视剧Python的作者是GuidovanRossum(龟叔)Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言Pyt
系统 2019-09-27 17:55:04 1899
1、BinarySearch算法简介二分查找,它的时间复杂度是O(logn)。其核心思想有点类似分治思想。即每次都通过跟区间中的中间元素对比,将待查找的区间缩小为一半,直到找到要查找的元素,或者区间被缩小为0。但是二分查找的代码实现比较容易写错。你需要着重掌握它的三个容易出错的地方:循环退出条件、mid的取值,low和high的更新。二分查找虽然性能比较优秀,但应用场景也比较有限。底层必须依赖数组,并且还要求数据是有序的。对于较小规模的数据查找,我们直接使
系统 2019-09-27 17:54:58 1899
Python函数编程——迭代器我们已经知道,可以直接作用于for循环的数据类型有以下几种:1、类是集合数据类型,如list、tuple、dict、set、str等;2、一类是generator,包括生成器和带yield的generatorfunction。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable,可迭代的意思就是可遍历、可循环。可以使用isinstance()判断一个对象是否是Iterable对象:>>>fromcollecti
系统 2019-09-27 17:54:50 1899
[TOC]题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符数值I1V5X10L50C100D500M1000例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况:I可
系统 2019-09-27 17:54:21 1899
迭代器迭代式访问元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。常见的字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4,5]>>>it=iter(list)>>>print(next(it))1>>>print(next(it))2迭代器对象可以使用常规for语句进行遍历:list=[
系统 2019-09-27 17:54:17 1899
电脑作为大家日常办公的工具,最怕的一件事情之一就是被偷,当我们的电脑被盗的时候,不仅仅是电脑本身,更重要的是电脑存储的资料都会丢失。如何尽快的找回电脑需要我们想点办法,今天就教大家一个好的技巧,虽说不能百分之百的好用,但是也能够发挥一定的效果。小编本次是基于Linux下的展示,之所以基于Linux,是因为需要电脑在启动的时候,需要自动启动程序,做到出其不意,原因我会在最后给出。程序是这样的,程序执行会首先调用笔记本的摄像头,拍摄笔记本面前的照片,然后,会给
系统 2019-09-27 17:54:03 1899
divmod(a,b)函数中文说明:divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数返回结果类型为tuple参数:a,b可以为数字(包括复数)版本:在python2.3版本之前不允许处理复数,这个大家要注意一下英文说明:Taketwo(noncomplex)numbersasargumentsandreturnapairofnumbersconsistingoftheirquotientandremainderwhenusinglon
系统 2019-09-27 17:53:37 1899
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。1.为什么要用lambda函数?先举一个例子:将一个列表里的每个元素都平方。先用def来定义函数,代码如下defsq(x):returnx*xmap(sq,[yforyinrange(10)])再用lambda函数来编写代码map(lambdax:x*x,[yforyinr
系统 2019-09-27 17:53:33 1899
装饰器是什么?定义:装饰器是用于拓展原函数功能的一种语法,返回新函数替换旧函数作用:在不更改原函数代码的前提下,拓展出新功能@语法:加上@符系统会自动把下面的函数当成参数传递到装饰器中,从下到上.@符又被称作语法糖装饰器:1.普通装饰器defdecor(func):definner():print(“财务拿钱买货”)func()print(“卖货的钱还回来”)returninner@decor#效果等同于sell=decor(sell)defsell():
系统 2019-09-27 17:53:22 1899
今天介绍个神奇的网站!堪称爬虫偷懒的神器!我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例,我们的请求头是这样的:一般来说,我们只要添加user-agent就能满足绝大部分需求了,Python代码如下:importrequestsheaders={#'authority':'developer.mozilla.org',#'pragma':'no-cache',#'cache-control':'no-cach
系统 2019-09-27 17:53:21 1899
模块:模块就是一个python文件。模块就是一个python文件。功能:1.可以提高文件的重复利用率。提高开发效率2.用于划分程序结构。自定义模块:模块就是一个python文件而已,所有python代码都可以放入模块,实际开发中,模块放入的内容都是重复利用率高的内容主要包含:1.为当前模块专门定义的变量【其他语言一般都是常量】2.函数。3.类4.测试代码注意:模块的命名不要和内置模块重名!测试代码统一放到判断当中if__name__=='__main__'
系统 2019-09-27 17:53:19 1899
早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错。本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的urllib2直接登录网站并处理网站的Cookie。Cookie的工作原理:Cookie由服务端生成,然后发送给浏览器,浏览器会将Cookie保存在某个目录下的文本文件中。在下次请求同一网站时,会发送该Cookie给服务器,这样服务器就知道该用户是否合
系统 2019-09-27 17:53:11 1899
首先我们提到一个代码块的概念。在python中并没有花括号来表示代码块这种规定。所以它有了一个新的规定:用缩进来表示代码块。(强制要求缩进)当然了,这对像我这种不缩进都要死的人,没有任何坏处。所以我们来将一下if语句的模板。cgg=10ifcgg<=60:print("Youarerubbish")else:print("Youaregarbage")这就是最基本的if-else当然了,我们还有elseif,在python中用elif来表示。如:cgg=1
系统 2019-09-27 17:53:01 1899
前言栈、队列和优先级队列都是非常基础的数据结构。Python作为一种“编码高效”的语言,对这些基础的数据结构都有比较好的实现。在业务需求开发过程中,不应该重复造轮子,今天就来看看些数据结构都有哪些实现。0x00栈(Stack)栈是一种LIFO(后进先出)的数据结构,有入栈(push)、出栈(pop)两种操作,且只能操作栈顶元素。在Python中有多种可以实现栈的数据结构。1、listlist是Python内置的列表数据结构,它支持栈的特性,有入栈和出栈操作
系统 2019-09-27 17:52:46 1899
Python命令行之旅:使用argparse实现git命令作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用arg
系统 2019-09-27 17:52:36 1899