作用域

计算机基础总结

◇◆丶佛笑我妖孽 提交于 2019-11-30 07:20:52
目录 计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 计算机组成 CPU 控制器 运算器 存储器 主存 外存 IO设备 输入设备 输出设备 32位和64位 多核cpu 机械硬盘工作原理 机械手臂 磁道 扇区 平均寻道时间 平均延迟时间 平均寻找数据时间 固态硬盘 操作系统 什么是文件 操作系统有什么用 计算机三大组成 操作系统的启动 应用程序的启动 编程语言的分类 机器语言 汇编语言 高级语言 编译型语言 解释型语言 网络的瓶颈效应 执行python程序的两种方式 交互式 命令行式 变量 什么是变量 变量的组成 变量名的命名规范 变量名的两种定义方式 常量 变量的三种打印方式 python变量内存管理 引用计数 垃圾回收机制 小整数池 花式赋值 链式赋值 交叉赋值 布尔类型 解压缩 python与用户交互 三种格式化输出的方式 %占位符 format格式化 f-string格式化 基本运算符 算术运算符 逻辑运算符 比较运算符 成员运算符 身份运算符 赋值运算符 位运算符 运算符的优先级 流程控制之if判断 单分支结构 双分支结构 多分支结构 if嵌套 流程控制之while循环 while + continue while + break while + else 条件控制while循环 while嵌套 流程控制之for循环 for + break for +

python------函数嵌套及作用域链

Deadly 提交于 2019-11-30 07:16:23
1.三元运算 if条件成立的结果 if 条件 else 条件不成立的结果 例如:   a=20   b=10   c=a if a>b else b   print(c) 2.命名空间 全局命名空间 :创建的存储“变量名与值的关系”的空间叫做 全局命名空间 局部命名空间 :在函数的运行中开辟的临时的空间叫做 局部命名空间 内置命名空间 :内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...它们都是我们熟悉的,拿过来就可以用的方法。 三种命名空间之间的加载顺序和取值顺序: 加载顺序 :内置(程序运行前加载)-->全局(从上到下顺序加载进来的)-->局部(调用的时候加载)--->内置 取值: 在局部调用:局部命名空间--->全局命名空间--->内置命名空间 站在全局范围找:全局----内置----局部 使用: 全局不能使用局部的 局部的可以使用全局的 3.作用域:就是作用范围 1.命名空间和作用域是分不开的   2.作用域分为两种: 全局作用域 :全局命名空间与内置命名空间的名字都属于全局范围           在整个文件的任意位置都能被引用,全局有效 局部作用域 :局部命名空间,只能在局部范围内生效 3.站在全局看:     使用名字的时候:如果全局有,用全局的     如果全局没有,用内置的   4.为什么要有作用域?

JavaScript之例题中彻底理解this

左心房为你撑大大i 提交于 2019-11-30 07:09:53
本文共 2025 字,看完只需 8 分钟 概述 前面的文章讲解了 JavaScript 中的执行上下文,作用域,变量对象,this 的相关原理,但是我后来在网上看到一些例题的时候,依然没能全做对,说明自己有些细节还没能掌握,本文就结合例题进行深入实践,讨论函数在不同的调用方式 this 的指向问题。 老规矩,先给结论 1 和 结论2: this 始终指向最后调用它的对象 “箭头函数”的this,总是指向定义时所在的对象,而不是运行时所在的对象。 特别提示: 本文的例子,最好自己在浏览器控制台中去试一遍,看完过两天就会忘的,一定要实践。 一、隐式绑定 // 例 1 var name = "window" ; function foo ( ) { var name = "inner" ; console .log( this .name); } foo(); // ? 输出: window 例 1 中,非严格模式,由于 foo 函数是在全局环境中被调用,this 会被默认指向全局对象 window; 所以符合了我们的结论一: this 始终指向最后调用它的对象 二、一般函数和箭头函数的对象调用 // 例 2 var name = "window" ; var person = { name : "inner" , show1 : function ( ) { console .log(

小结

∥☆過路亽.° 提交于 2019-11-30 06:32:06
目录 计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 计算机组成 CPU 控制器 运算器 存储器 主存 外存 IO设备 输入设备 输出设备 32位和64位 多核cpu 机械硬盘工作原理 机械手臂 磁道 扇区 平均寻道时间 平均延迟时间 平均寻找数据时间 固态硬盘 操作系统 什么是文件 操作系统有什么用 计算机三大组成 操作系统的启动 应用程序的启动 编程语言的分类 机器语言 汇编语言 高级语言 编译型语言 解释型语言 网络的瓶颈效应 执行python程序的两种方式 交互式 命令行式 变量 什么是变量 变量的组成 变量名的命名规范 变量名的两种定义方式 常量 变量的三种打印方式 python变量内存管理 引用计数 垃圾回收机制 小整数池 花式赋值 链式赋值 交叉赋值 布尔类型 解压缩 python与用户交互 三种格式化输出的方式 %占位符 format格式化 f-string格式化 基本运算符 算术运算符 逻辑运算符 比较运算符 成员运算符 身份运算符 赋值运算符 位运算符 运算符的优先级 流程控制之if判断 单分支结构 双分支结构 多分支结构 if嵌套 流程控制之while循环 while + continue while + break while + else 条件控制while循环 while嵌套 流程控制之for循环 for + break for +

day11总结

我的未来我决定 提交于 2019-11-30 06:21:50
目录 可变长参数 *形参名 **形参名 *实参 **实参 *args,**kwargs接收所有参数 函数对象 python中一切皆对象 函数对象 1.引用 2.当做容器类元素 3.当做函数参数 4.当做函数返回值 函数嵌套 引入:循环嵌套,打印九九乘法表 函数嵌套:函数里面有函数 名称空间和作用域 变量名/函数名-->名称-->名称空间:专门存储名称 内置名称空间 全局名称空间 局部名称空间 名称空间的执行(生成)顺序 名称空间的搜索顺序 名称空间的作用域 全局作用域 局部作用域 注意点 关键字修改作用域 global关键字 nonlocal关键字 注意点 可变长参数 *形参名 def f1(*args): #将多余的位置实参转化为元组形式接收 **形参名 def f1(**kwargs): #将多于的关键字实参转化为字典形式接收 以下仅作了解 *实参 * 将容器类元素打散成位置实参依次传值给位置形参 如果是字典类型则只将关键字打散并传值 **实参 ** 只能将字典打散成关键字实参然后按对应形参名传值,字典中的key值必须与形参名一致 *args,**kwargs接收所有参数 默认形参必须在位置形参后面 t = ['a','b','c','d'] s = {'a','b','c','d'} y = 'abcd' r = ('a','b','c','d') dic = {'a': 1

day11总结

本秂侑毒 提交于 2019-11-30 06:17:20
目录 一、可变长参数 *形参 **形参 *实参 **实参 二、函数对象 三、函数嵌套 四、名称空间和作用域 名称空间的执行(生成)顺序 搜索顺序 名称空间 内置名称空间 全局名称空间 局部名称空间 作用域 全局作用域 局部作用域 局部作用域的特点 一、可变长参数 *形参 调用函数时,用元组接收多余的位置实参 def f1(*args): 一般约定俗成用args来做形参的变量名 print(args) **形参 调用函数时,用字典接收多余的关键字实参 def f1(**kwargs): # 一般约定俗成用kwargs来做*形参的变量名 print(kwargs) *实参 传参时,把列表中的元素打散成位置实参然后依次传给位置形参 def f1(a, b, c, e, d, f, g): print(a, b, c, e, d, f, g) lt = [1, 2, 3, 4, 5, 6, 7] f1(*lt) **实参 传参时,把字典中的元素打散成关键字实参然后依次传给位置形参 def f1(z, b): print(z, b) dic = {'z': 1, 'b': 2} # a=1,b=2 f1(**dic) 二、函数对象 python中一切皆对象 函数也是一种对象 函数对象 = 函数名 函数名+() 就是在调用,就是在调用 引用(拷贝) def f1(): print('from

【Python笔记】Python基础 —— 作用域

。_饼干妹妹 提交于 2019-11-30 06:16:09
作用域 . 描述 作用域是针对变量而出现。当变量被赋值的时候,变量当前的位置就决定了变量能够被访问到的范围,这个范围就叫变量的作用域 官方文档: A scope is a textual region of a Python program where a namespace is directly accessible. “Directly accessible” here means that an unqualified reference to a name attempts to find the name in the namespace. . 四种作用域(LEGB) a. L (Local):最内层,包含局部变量,比如一个函数/方法内部 b. E (Enclosing):包含了非局部也非全局的变量 c. G (Global):当前脚本的最外层,比如当前模块的全局变量 d. B (Built-in):包含了内建的变量/关键字等 . 作用域的规则 a.本地作用域是函数内部属于本函数的作用范围,因为函数可以嵌套函数,嵌套的内层函数有自身的内层范围 b.嵌套函数的本地作用域是属于内层函数的范围,不属于外层 c.全局作用域是文件级别的,或者说是模块级别的,每个py文件中处于顶层的变量都是全局作用域范围内的变量 d.内置作用域是预先定义好的,在__builtins__模块中

阶段总结

北战南征 提交于 2019-11-30 06:14:51
目录 计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 计算机组成 CPU 控制器 运算器 存储器 主存 外存 I/O设备 输入设备 输出设备 多核CPU 32位与64位 机械硬盘工作原理 机械手臂 磁道 平均寻道时间 平均延迟时间 平均寻找数据时间 固态硬盘 操作系统 什么是文件 操作系统的作用 计算机三大组成 操作系统的启动 应用程序启动 编程语言分类 机器语言 汇编语言 高级语言 编译型语言 解释型语言 网络瓶颈效应 python程序执行的两种方式 交互式 命令行式 变量 什么是变量 变量的组成 变量名的命名规范 变量打印的三种形式 常量 python变量内存管理 引用计数 垃圾回收机制 小整数池 花式赋值 链式赋值 交叉赋值 布尔类型 解压缩 python与用户交互 格式化输出的三种方式 基本运算符 控制流程之if判断 单分支结构 双分支结构 多分支结构 if嵌套 控制流程之while循环 while+break while+continue while+else 中间变量控制while退出 while嵌套 控制流程之for循环 for+break for+continue for+else for循环嵌套 数字类型内置方法 整型 浮点型 使用方法 字符串内置方法 优先掌握 需要掌握 了解 列表内置方法 元组内置方法 字典内置方法 集合内置方法 散列表 深浅拷贝

函数对象,名称空间和作用域

笑着哭i 提交于 2019-11-30 06:14:21
目录 函数对象 引用 作为函数参数 作为函数返回值 作为容器类元素 小练习 函数的嵌套 名称空间和作用域 名称空间 内置名称空间 全局名称空间 局部名称空间 名称空间的执行(生成)的顺序 搜索顺序 作用域 全局作用域 局部作用域 global关键字 nonlocal关键字 注意点 函数对象 python中一切皆对象 引用 def f1(): print('from f1') func = f1 print('f1:', f1) print('func', func) # 打印结果: f1: <function f1 at 0x000002110991D268> func <function f1 at 0x000002110991D268> 作为函数参数 def f1(): print('from f1') def f2(f2_f1): print('f2_f1:', f2_f1) f2(f1) print('f1:', f1) # 打印结果: f2_f1: <function f1 at 0x000001E47029D268> f1: <function f1 at 0x000001E47029D268> 作为函数返回值 def f1(): print('from f1') def f2(f2_f1): return f2_f1 res = f2(f1) print('res:'

分享一些前端开发中最常用的JS代码片段以及理解 JS闭包

孤人 提交于 2019-11-30 06:11:03
记得几年前刚工作那时,听到高大上的 JS闭包 一词 让我一头雾水,很多初学者也许和我当时一样困惑,其实 闭包 也并没那么高深莫测。 今天我写了篇简单的学习笔记 希望能帮助大家轻松理解 JS闭包。 参考资料:1.《你所不知道的JavaScript-上卷》闭包和作用域章节、2. 阮一峰老师的《学习JavaScript闭包》 ( 大家学习时 为了更好理解,最好跟着本文内容 在IDE或浏览器控制台中,敲一遍所有的示例代码 ) 要彻底弄懂 闭包 ,必须先理解 JS的 变量作用域 ,变量分为: 全局变量 和 局部变量 ,JS的特殊之处在于:每个函数都会创建一个新的作用域,函数内部可以读取函数外部的变量,相反 函数外部无法读取内部变量。 var a = 123 ; function foo ( ) { console .log(a); } foo(); // 123 function foo ( ) { var a = 123 ; } console .log(a); // error,查找不到变量a的引用 为了更透彻的理解作用域,请思考以下代码: function foo ( a ) { var b = a * 2 ; function bar ( c ) { console .log( a, b, c ); } bar( b * 3 ); } foo( 2 ); // 2, 4, 12