在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper
系统 2019-09-27 17:46:14 1932
内置函数:Built-inFunctionsabs()all()any()ascii()bin()1.abs(x)返回x的绝对值。参数可以是整数或浮点数。如果参数是复数,则返回其大小。importmathprint('abs(45)的值:',abs(45))print('abs(-45)的值:',abs(-45))print('abs(45+23)的值:',abs(45+23))print('abs(math.pi)的值:',abs(math.pi))输出
系统 2019-09-27 17:46:09 1932
#堆排序defheap_sort(arr):root=len(arr)//2-1while(root>=0):heap_adjust(arr,root,len(arr)-1)root=root-1#此时生成的大顶堆,满足每个根节点为子树中最大,因此,之后只需要对最顶的子树进行调整i=len(arr)-1whilei>=0:arr[0],arr[i]=arr[i],arr[0]heap_adjust(arr,0,i-1)i=i-1defheap_adjust
系统 2019-09-27 17:45:50 1932
闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结
系统 2019-09-27 17:45:45 1932
不论什么语言,我们都需要注意性能优化问题,提高执行效率。选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮。尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置。Python很简单易用,但大多数人使用Python都知道在处理密集型cpu工作时,它的数量级依然低于C、Java和JavaScript。但不少第三方不愿赘述Python的优点,而是决定自内而外提
系统 2019-09-27 17:45:40 1932
如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。classCa:def__init__(self,v):#注意前后各两个下划线self.name=vdefpr(self):print"a--->",self.nameia=Ca("Jeapedu")#本质调用的是__init__方法函数ia.pr()Ca.pr(ia)输出结果a--->Jeape
系统 2019-09-27 17:38:41 1932
心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype
系统 2019-09-27 17:38:32 1932
通过下面的步骤让你由浅入深明白装饰器是什么。假定你拥有最基本的Python知识,本文阐述的东西可能对那些在工作中经常接触Python的人有很大的帮助。1、函数(Functions)在Python里,函数是用def关键字后跟一个函数名称和一个可选的参数表列来创建的,可以用关键字return指定返回值。下面让我们创建和调用一个最简单的函数:>>>deffoo():...return1>>>foo()1该函数的函数体(在Python里将就是多行语句)是强制性的并
系统 2019-09-27 17:38:30 1932
Linux的initrd技术是一个非常普遍使用的机制,linux2.6内核的initrd的文件格式由原来的文件系统镜像文件转变成了cpio格式,变化不仅反映在文件格式上,linux内核对这两种格式的initrd的处理有着截然的不同。本文首先介绍了什么是initrd技术,然后分别介绍了Linux2.4内核和2.6内核的initrd的处理流程。最后通过对Linux2.6内核的initrd处理部分代码的分析,使读者可以对initrd技术有一个全面的认识。为了更好
系统 2019-08-29 23:52:14 1932
本例为Flash鼠绘新手入门系列课程,今天我们来学习绘制迪斯尼动画角色《快乐的米老鼠》,教程讲解的比较详细,适合Flash初学者学习,希望朋友们喜欢~~效果演示:随意画了这个米老鼠玩玩的,影子要我出个教程,就把我画的过程写出来吧。这没有什么多的技巧,主要是练习Flash绘画。我画的时候主要是用“线条工具”+“选择工具”调整弧度的方法,熟练了会画得很快的哈。下面就开始画吧。(一)准备工作:新建一影片剪辑元件,将场景放大到200%,为了填色方便,把场景的背景色
系统 2019-08-29 23:29:16 1932