首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Python入门笔记(22):Python函数(5):变量作用域与闭包
】的更多相关文章
Python入门笔记(22):Python函数(5):变量作用域与闭包
一.全局变量与局部变量 一个模块中,最高级别的变量有全局作用域. 全局变量一个特征就是:除非被删除,否则他们存活到脚本运行结束,且对于所有的函数都可访问. 当搜索一个标识符(也称变量.名字等),Python是先从局部作用域开始搜索,如果局部作用域内没有找到那个名字,那么就在全局域找,如果还没有则抛出一个NameError异常. 一个变量的作用域和它寄存的名称空间相关,注意,局部变量会覆盖全局变量.如: bar = 10 def foo(): bar = 100 return bar global…
python学习笔记三:函数及变量作用域
一.定义 def functionName([arg1,arg2,...]): code 二.示例 #!/usr/bin/python #coding:utf8 #coding=utf8 #encoding:utf8 #encoding=utf8 def fun(x=3,y='甜'): print '生成一个',x,'元',y,'口味的蛋糕' fun() fun(10) fun(y='奶油') 冗余参数: #!/usr/bin/python def f(name="jim",age=2…
Python入门笔记(20):Python函数(3):关于lambda
一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数""" def foo():return 'beginman' #Python中单行参数可以和标题写在一行 """lambda关键字创建匿名函数,该表达式同以上函数""" lambda:'beginman' 上面的只是简单的…
Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过程抽象和数据抽象.过程抽象有时也称控制抽象. 子程序在1950年以前就发明了,作为一种抽象那时候并未被完全接受.相反,最初它被看做是一种节省代码的机制,但很快子程序就被认可为过程抽象的一种方式.意识到子程序可以作为一种抽象机制,这产生了三个重要结果. 人们发明了一些语言,支持各种参数传递机制 奠定了…
Python 包、模块、函数、变量作用域
Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量 Python是利用包和模块来组织一个项目的. 包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包,要想让个文件夹成为一个包,就必须在这个文件夹下增加个特定的文件 __init__.py __init__.py里面可以什么也不写,只是纯粹来标注这个文件夹是个包. 也可以在这个文件里编写代码. 对于模块的名字:包名.模块名 对于__init__.py模块的名字:直接是包名 导入有两种方式:…
Python学习(21):Python函数(5):变量作用域与闭包
转自 http://www.cnblogs.com/BeginMan/p/3179040.html 一.全局变量与局部变量 一个模块中,最高级别的变量有全局作用域. 全局变量一个特征就是:除非被删除,否则他们存活到脚本运行结束,且对于所有的函数都可访问. 当搜索一个标识符(也称变量.名字等),Python是先从局部作用域开始搜索,如果局部作用域内没有找到那个名字,那么就在全局域找,如果还没有则抛出一个NameError异常. 一个变量的作用域和它寄存的名称空间相关,注意,局部变量会覆盖全局变量.…
Python入门笔记(21):Python函数(4):关于函数式编程的内建函数
一.关于函数式编程的内建函数 apply()逐渐被舍弃,这里不讨论 1.filter() #filter(func,seq) """纯Python描述filter函数""" def Myfilter(bool_func,seq): filtered_seq = [] for obj in seq: if bool_func(obj): filtered_seq.append(obj) return filtered_seq print Myfil…
Python入门笔记(19):Python函数(2):函数/方法装饰器
一.装饰器(decorators) 装饰器的语法以@开头,接着是装饰器函数的名字.可选参数. 紧跟装饰器声明的是被装饰的函数和被装饰的函数的可选参数,如下: @decorator(dec_opt_args) def func(func_args): .... 其实总体说起来,装饰器其实也就是一个函数,一个用来包装函数的函数,装饰器在函数声明完成的时候被调用,调用之后声明的函数被换成一个被装饰器装饰过后的函数. 如: def deco(func): ... return func @deco de…
Python入门笔记(14):Python的字符编码
一.字符编码中ASCII.Unicode和UTF-8的区别 点击阅读:http://www.cnblogs.com/kingstarspe/p/ASCII.html 再推荐一篇相关博文:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 二.Unicode与ASCII Python能处理Unicode和ASCII编码,为了让这两者看起来尽可能的相似,Python字符串从原来简单的类型改成了真正的对象.ASCII字符串成了Stri…
Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多捏. 基本定制型 代码如下: C.__init__(self[, arg1, ...]) 构造器(带一些可选的参数) C.__new__(self[, arg1, ...]) 构造器(带一些可选的参数):通常用在设置不变数据类型的子类. C.__del__(self) 解构器 C.__str__(self)…