1.外部函数&内部函数 内部函数: 定义在某个函数的内部,就是内部函数: [注意事项]: 1).内部函数可以随意使用它外部函数中的内容 2).外部函数不能使用内部函数中的内容 3).内部函数不能直接在外界被调用(与作用域有关) 4).内部函数的执行需要依赖于外部函数 nonlocal关键字: 如果想要在内部函数中修改其外部函数中变量的值, 可以先使用nonlocal定位到某个变量,然后重新赋值即可--> 例如:nonlocal aa = 30 演示外部函数和内部函数的结构关系,演示他们的调用…
4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配成功,那么返回一个空列表 compile()配合search()使用: pat=re.compile(r'www') matchobj=pat.search('www.sina.com!!www.baidu.com.com!!www') print(matchobj) 函数:findall(rege…
函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个match对象:此时就算后面还有匹配的子数据,直接无视...当然匹配不成功,返回None值[注意]:由于search调用完毕之后返回的仍然是一个match对象,所以还是可以调用5个常用的函数 import re print(re.match(r'www','hahawww.baidu.com!!ww…
2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传递一个参数:string即可) 注意: 以上函数中涉及的参数:regex.flags.string和re.match中的参数一样理解…
函数:match(regex,string,[flags=0])参数:regex:就是正则表达式(定义了一套验证规则)string:需要被验证的字符串数据flags:模式/标志位,默认情况下(不定义) --> 不开启任何的模式功能:从头开始尝试匹配字符串数据(注意:如果开头就不匹配直接返回None值),如果匹配成功,那么就会返回一个match对象:如果匹配不成功,那么就会返回None值flags的取值:re.I:忽然大小写match对象有5个常用的函数:group():返回匹配成功的数据(原串中…
装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: 它在python中一般被使用在,性能测试,插入日志,事务管理,权限校验... 它就好比是一个切面(可插拔的),也就是我们之后学习中会提到的叫面向切面编程(aop) 开放封闭原则: 开放: 在不改动源码(破坏原本业务逻辑)的同时扩展新的功能 封闭: 不允许随意去修改源代码 说明装饰器的好处:部门A:…
演示list类型中常用的一些函数: 1.append(obj):将obj元素追加到列表的末尾 lt=['路费','佐罗','山治','乔巴','乌索普','纳米桑'] #append(): lt.append('香克斯') print(lt,len(lt)) lt.append(['鸣人','佐助','樱','卡卡西']) print(lt,len(lt)) 2.extend(iterable):将序列对象中的各个元素分别得到往列表的末尾追加 lt.append(['鸣人','佐助','樱','…
2.ascii码 美国设计出来的一张编码表,将涉及的字符都编号了,底层仍然还是进行二进制的运算: 记住:3个范围段 1).'0' --> 码值:48 2).'A' --> 码值:65 3).'a' --> 码值:97 内置函数: 1).ord(str):将str转换为码值(整数类型) 2).chr(num):将码值num转换为字符 演示:ord()和chr()内置函数的作用: num=48 c=chr(num) print(c,type(c)) print(ord(c),type(ord…
Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 urllib 与 urllib3 ,不知道大家看了以后有何感想,今天我们来继续聊聊 Python爬虫中的另一个常用库--requests,相信你今天看了这篇文章以后一定有想要揍我的冲动. 1.request 的简介   上一篇文章介绍了Python的网络请求库 urllib 和 urllib3 的使…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十六课:全屏反走样 全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据.看看吧,驱动程序为你做完了一切.   在图形的绘制中,直线的走样是非常影响美观的,我们可以使用反走样解决这个问题.在众多的…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十六课:从渲染到纹理 放射模糊和渲染到纹理: 如何实现放射状的滤镜效果呢,看上去很难,其实很简单.把渲染得图像作为纹理提取出来,在利用OpenGL本身自带的纹理过滤,就能实现这种效果,不信,你试试.   嗨,我是Dario Co…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十六课:反射 剪裁平面,蒙板缓存和反射: 在这一课中你将学会如何创建镜面显示效果,它使用剪裁平面,蒙板缓存等OpenGL中一些高级的技巧.   欢迎来到另一个激动人心的课程,这课的代码是Banu Cosmin所写,当然教程还是我…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第十六课:雾 雾: 这一课是基于第7课的代码的,你将学会三种不同的雾的计算方法,以及怎样设置雾的颜色和雾的范围. 这篇教程由Chris Aliotta编写. 你想给你的OpenGL程序添加雾效?我将在这篇教程中教你如何去做.这是我第…
Python学习第六课 课前回顾 列表 创建 通过 [] :写在[]里,元素之间用逗号隔开 对应操作: 查 增 append insert 改(重新赋值) 删除(remove del pop(删除后会有返回值)) 其他操作 count 统计 extend 可以在列表末尾追加多个值 index 返回列表索引位置 reverse 把我.列表中的元素反转 sort 按ASCII排序 元组 数据只可以被查询,不能被修改: 元组写在()里,之间用逗号隔开 enumerate(A,B) 添加序号;A表示所添…
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb') fw=open(dest,'wb') #读和写操作 content=fr.read() fw.write(content) #关闭两个文件 fw.close() fr.close() def copyFile01(src,dest): #1.打开两个文件:1个关联读操作.1个关联写操作 fr=…
Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理) 一丶封装 , 多态 封装:            将一些东西封装到一个地方,你还可以取出来(把一些内容装到某个容器内,用到这些内容还能取出来)            类设置静态属性, 设置一些方法 或者 对象, 对象可以在其对象封装一些属性 多态:            python默认支持多态, 多态指的是一种事务具有多种形态            多态的优点:            1…
RE:用匹配来演绎编程的艺术 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 pyquery 今天我们将迎来我们数据匹配部分的最后一位重量级人物,也是编程语言中普及率最高的一个东西,它就是正则.正则长期以来占据着编程新手的禁忌之地,大家对它是又爱又恨.今天,我们将揭开他神秘的面纱,直面正则,并助你征服它,让它成为你的得力助手! 1. 正则的介绍   由于正则并不是 Python 所独有的内容,本文大部分会以正则的角度来进行描述和讲…
BeautifulSoup 美味的汤 学习一时爽,一直学习一直爽!    Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 Xpath 的使用方法.Xpath 我觉得还是比较绕该怎么办呢???有没有更加简单易懂的方法呢?答案是肯定的,当然有更加简单易懂的方法了,那就是 BeautifulSoup 美味的汤.这个方法对于正则和 Xpath 来说更加的简单方便,更加易懂,能够节省我们大量的分析时间. 1.BeautifulSoup 的简介   BeautifulSoup…
Xpath:简单易用的网页内容提取工具 学习一时爽,一直学习一直爽 !   Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 requests 的使用方法.到上节课为止,我们已经学完了所有的 Python 常用的访问库.那么当我们获取到了访问的内容之后,我们就应该从网页上提取我们想要的内容了.所以,今天我们来讲网页内容的常用提取工具之一:Xpath .相比于 BeautifulSoup 而言,Xpath 更加简单易上手. 1.Xpath简介   Xpath 是一门在…
Python请求标准库 urllib 与 urllib3 学习一时爽,一直学习一直爽!   大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了什么是HTTP协议,那么这一次我们就要动手,来真正的了解如何使用Python访问一个网站了.今天我们要说的是Python自带的标准库,Urllib与Urllib3. 1.urllib库  1.1urllib的简介 ​  urllib`是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Pyt…
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击...................... 1 DoS............................................................................................................... 2 DDoS.......................…
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱码现象显示 3).tell():返回的是文件描述符的字节位 4).对于读操作,必须保证路径中的文件一定是真实存在的,否则报错:FileNotFoundError #打开文件: f2=open(r'F:\PyCharm\多味红豆\python第二十九课——文件读写\a.txt','r',encodin…
PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味的汤,BeautifulSoup 很适合刚刚接触爬虫的新手使用.虽然 BeautifulSoup 好用,但是也有它的局限性.今天我们来讲一讲 PyQuery,让我们以 JQuery的方式来快速提取我们想要的内容.废话不多说,让我们开始吧. 1. PyQuery 的简介   pyquery 允许您在…
HTTP:伟大而又无闻的协议 学习一时爽,一直学习一直爽!   Hello,大家好啊,我是Connor,一个从无到有的技术小白.有的人一说什么是HTTP协议就犯愁,写东西的时候也没想过什么是HTTP协议,只是知道HTTP协议是用来网页传输的,但是再深究一点就不明白了,所以今天我们来讲一讲什么是HTTP协议. 1.HTTP 与 HTTPS    1.1 什么是HTTP协议   超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络协议.…
第十课: http://note.youdao.com/noteshare?id=25b5ba45286464856f21eb4b6b391ecd&sub=19C4429995384F72BD3D30EC497DA9DD 第十一课: http://note.youdao.com/noteshare?id=fad4c97996ef158fbb82e8a1c22104a2&sub=102E33A0C49348278EC1AE8D0C97D47F 第十二课: http://note.youdao…
满足闭包的三个条件: 1).有外部函数和内部函数这样的结构 2).外部函数中定义的变量被内部函数所使用 3).内部函数对象作为返回值被外部函数返回 演示闭包的定义和使用: def outer(): a=10 def inner(): print(a+10) return inner i=outer() i() print(i,type(i)) 强化闭包的使用: 案例1: def outer(): # count=[0] count=0 def inner(): nonlocal count #…
序: 能源是文明和发展的重要保障,人类命运不可避开的话题,无论是战争还是发展,都有它存在的身影.从石器时代到现代文明,人类的能源应用在进步,也在面临能源枯竭的危机与恐惧,而开发与应用可再生能源才是解决这一难题的主要途径.中国在这一方面,一直走着实事求是,可持续发展的道路,追求新能源的开发与创新是每一个能源企业的使命. 太阳能能发电应运而生,这是一种清洁有效并且可持续的优质能源,这一能源即解决了能源短缺.持续供应等问题,还保障了环境卫生.中国政府出台了大量鼓励和支持光伏产业的政策法规.企业补贴,碳…
目录 [外部函数]  [内部函数] 1.外部函数  定义的函数能被本文件和其它文件访问(默认). 注:不允许有同名的外部函数. 2.内部函数  定义的函数只能被本文件访问,其它文件不能访问. 注:允许不同文件中有同名的内部函数.…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 局部变量 定义:在代码块内部定义的变量 作用域:从定义变量的那一行开始,一直到代码块结束 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收 没有默认的初始值 全局变量 定义:在函数外面定义的变量 作用域:从定义变量的那一行开始,一直到文件结尾(能…
3.函数重写(override) 前提:必须有继承性 原因: 父类中的功能(函数),子类需要用,但是父类中函数的函数体内容和我现在要执行的逻辑还不相符 那么可以将函数名保留(功能还是此功能),但是将函数体重构: 注意: 子类重写父类的函数,除了函数体以外的部分,直接复制父类的即可 演示函数重写的使用以及格式: class Fu: def test(self): print('九阳神功...') class Zi(Fu): def test(self): print('九阳神功...') supe…