Python学习笔记010——作用域】的更多相关文章

1 作用域的分类 全局变量:在文件中所有函数外部创建的变量,整个文件可见 局部变量:在函数.类等内部创建的变量且仅用在函数内部的变量: 函数的形参也是局部变量. 注:所有的变量必须是先创建,再使用. x = 100 def func(): x += 1 print (' x =', x) return func() 运行该段代码会报错 Traceback (most recent call last): File "test.py", line 6, in <module>…
1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要return来返回值,表达式本身结果就是返回值. lambda 仅简洁了代码,并不会提高程序运行效率 如果可以用 for...in...if 来完成的,最好不使用匿名函数lambda 使用lambda时,函数内不要包含循环.嵌套:如果存在,则最好使用def函数来完成,这样的代码可读性和复用性均较高 l…
1 递归定义 函数直接或间接调用函数本身,则该函数称为递归函数 2 递归特点 Python函数递归调用,会用到栈 – 这里的栈是函数/程序运行时系统为其分配的一段内存区 – 栈具有 后进先出 的特性 – 该段内存区域大小有限,大小跟系统有关 – 该区用来存储局部变量等 – 递归函数,调用时借助这个区域存放中间过程 – 所以递归有层数限制 3 优缺点 优点:把问题简单化,让逻辑调理清晰 缺点:递归是一种运行效率不高的调用方式,消耗很多系统资源:一般的编程语言对递归的层数有一定的限制 4 递归函数的…
函数文档字符串documentation string (docstring)是在函数开头,用来解释其接口的字符串.简而言之:帮助文档 包含函数的基础信息 包含函数的功能简介 包含每个形参的类型,使用等信息 是接口设计的重要部分. 注:一个良好的接口不能简单.清晰的表述该函数,则说明该函数还有优化改进的空间 函数文档的使用 必须在函数的首行,经过验证前面有注释性说明是可以的,不过最好函数文档出现在首行 使用三引号注解的多行字符串(当然,也可以是一行),因三引号可以实现多行注解(展示)(''' '…
在使用中忽略了一个问题,形参有些和实参类似,也不能是“关键字后面含有位置参数”,即“默认形参”后面必须不能含有“位置”形参! def test(a=100,b): print("test") test(a=100,b=200) 输出: File "test01.py", line 1 def test(a=100,b): ^ SyntaxError: non-default argument follows default argument 实际上,这种形式在写的时…
倒三角 num2 = int(input("Line:")) while num2 > 0:    num1 = num2    while num1 > 0:        print("*",end="")        num1 -=1    print()        num2 -= 1 九九乘法表 first = 1 while first <= 9:            second = 1    while s…
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, __init__.py可以有两种形式, 一种是直接import多个模块,例如 import fibo import abc 另外一种是 __all__ = ["A","B"] python学习笔记之module && package python的mo…
Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure). def outer(): x = 10 def inner(): # 条件一:inner是内部函数 print(x) # 条件二:外部环境的一个变量 return inner() # 结论:内部函数inner就是一个闭包 # 两种调用inner的方法 outer()…
Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[1,2],3,4 b[0][0] = 8 print(a) # 结果:[8,2],3,4 print(b) # 结果:[8,2],3,4 原理图: 2. 深拷贝-克隆一份 2. Set-集合 1. 集合的两大作用: 去重 关系测试 # 定义语法 s = set{'alex',1,2} 2. 关系测试…
Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin') 添加 s.add() s.update() 删除 s.remove() 关系操作: in , not in == , != 超级,子集 交集 并集 差集 对称差集 3. 函数 特性:代码重用.保持一致性.可扩展性 函数的定义 函数的参数:必备参数.关键字参数.默认参数.不定长参数 函数的返回值…
python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(traceback,一种错误信息)终止执行. 每个异常都是一些类的(本例中是ZeroDivisionError)实例,这些实例可以被引发,并且可以用很多种方式进行捕捉,使程序捕捉异常并处理异常,从而避免整个程序崩溃. 2..按自己的方式出错 所有的异常类,都是Exception的子类. 2.1.rai…
python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型或对象的不同而表现出不同的行为.   这是一个简单的例子,add方法,,包装了一下 + 函数.这就是多态.不管参数是什么类型,使用add方法,都可以把他们+在一起. 封装,封装式对全局作用域中其他区域隐藏多余的信息.和多态相似但是不同的概念,使用对象而不知道其细节.多态是不知道对象引用了什么类型,而…
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于字符串,但字符串是不可变的,所有元素赋值.切片赋值等操作都是非法的. 2.设置字符串的格式 这里设置字符串格式的基本思想是对字符串调用方法format,并提供要设置其格式的值.每个值都被插入字符串中,以替换用花括号 {} 括起的替换字段.要在最终结果中包含花括号,可以在格式字符串中使用两个花括号(即{{...…
总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: 同时Python条件控制语句可以和逻辑运行符一起使用,具体逻辑运算符的使用,请参考Python学习笔记一种的逻辑运算符部分. 2.单条件判断语句 格式: if   条件语句: 满足条件下要执行的模块语句 else: 不满足条件要执行的模块…
这篇文章主要介绍 Python 中几个常用的高级特性,用好这几个特性可以让自己的代码更加 Pythonnic 哦 1.生成器 什么是生成器呢?简单来说,在 Python 中一边循环一边计算的机制称为 生成器(generator) 生成器最大的优点在于它支持延迟操作,所谓的延迟操作是指在需要的时候才进行运算产生结果 我们可以使用以下两种方法 创建生成器: 生成器表达式 类似于列表生成式,只需将列表生成式中的中括号替换成圆括号即可 >>> gen = (item for item in ra…
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被称为文档字符串,它将作为函数的一部分储存起来,下面是一个演示程序 >>> def square(x): 'Calculates the square of the number x.' return x*x 可以通过下面语句访问文档字符串 >>> squeare.__doc…
Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 参数类型 默认值参数 关键参数 可变长度参数 参数传递时的序列解包 结束语句 变量作用域 lambda表达式 高级话题map, reduce等 面向对象程序设计 定义与使用 self 类成员与实例成员 私有成员与公有成员 方法 属性 特殊方法与运算符重载 继承 文件操作 文件对象 文本文件操作案例…
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返回元素个数 d[key] Return the item of d with key key. Raises a KeyError if key is not in the map. If a subclass of dict defines a method _missing_() and key…
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环境的搭建过程,以及Hello World的实现. 第二篇 VS2013中Python学习笔记[基础入门] 我简单学习使用了Python的几个基础的知识点. 第一个Web页面 第一步:首先打开VS2013开发工具 ,新建项目,选择Django Project模版. 修改项目名称,可以查看到项目的文件结…
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for filename in filelist: filepath=os.path.join(path,filename) if(os.path.isdir(filepath)): dirList(filepath) allfile.append(filepath) return allfile pri…
接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Author(models.Model): first_name = models.CharField(max_length=) last_name = models.CharField(max_length=) email = models.EmailField(blank=True ) 所有字段都默认bl…
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ 加入你使用的是CentOS系统或者Mac,默认版本是2.X,请及时更新版本到3.X 书中是这么说的: You can see that, and Python to be installed. If your system . 对于没有经验的人来说,使用python2.7 ,这是一个陷阱! Dan…
python学习笔记(一)元组,序列,字典…
Pythoner | 你像从前一样的Python学习笔记 Pythoner…
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho…
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签",东西都是一样的.改变或者添加,复制出来的变量也会改变 样例: >>> a=[1,2,3] >>> b=a >>> a [1, 2, 3] >>> b [1, 2, 3] >>> a[1]=0 >>>…
Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(多线程与进程池) Python学习笔记——进阶篇[第九周]———线程.进程.协程篇(队列Queue和生产者消费者模型) Python学习笔记——进阶篇[第九周]———协程 Python学习笔记——进阶篇[第九周]———MYSQL操作…
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python…
在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor). 一.迭代器(iterator) 在Python中,for循环可以用于Python中的任何类型,包括列表.元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器 迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前…
我的python学习笔记,快速了解python,适合有C语言基础的. http://note.youdao.com/noteshare?id=93b9750a8950c6303467cf33cb1ba461…