变量

ES6面试篇一

白昼怎懂夜的黑 提交于 2020-02-25 20:11:17
let 和 const let 和 var ES5使用 var 声明变量并没有块级作用域,会造成 for 循环的变量污染,变量名重复和变量提升的问题。 ES6新增 let 声明变量,变量只在代码块中有效,不存在变量提升的问题。 暂时性死区 TDZ const 和 let 声明变量前均为暂时性死区,在暂时性死区中,变量不能够被使用。 TDZ的本质:进入作用域后,变量已存在但声明后才可获取。 const 声明常量,且必须初始化。 本质维护内存栈中的保存的数据或地址不变,因此基本数据类型不会改变,引用数据类型可以增添修改属性。 字符串的拓展 字符串遍历器接口 for of 可直接遍历字符串,但最大优点在于可识大于0xFFFF码点的字符串。 字符串的拓展方法 确定字符串是否存在 includes() , startsWith() , endsWith() let str = "hello world" str . includes ( "o" ) //true str . includes ( "" ) //true str . startsWith ( "hello" ) //true str . endsWith ( "world" ) //true 重复字符串 "x" . repeat ( 3 ) //"xxx" 补全字符串 "1" . padStart ( 10 , "0" ) /

tf 模型保存

假装没事ソ 提交于 2020-02-25 20:04:09
tf用 tf.train.Saver类来实现神经网络模型的保存和读取。无论保存还是读取,都首先要创建saver对象。 用saver对象的save方法保存模型 保存的是所有变量 save( sess, save_path, global_step=None,   latest_filename=None, meta_graph_suffix='meta', write_meta_graph=True, write_state=True ) 保存模型需要session,初始化变量 用法示例 import tensorflow as tf v1 = tf.Variable(tf.constant(1.0, shape=[1]), name="v1") v2 = tf.Variable(tf.constant(2.0, shape=[1]), name="v2") result = v1 + v2 saver = tf.train.Saver() with tf.Session() as sess: sess.run(tf.global_variables_initializer()) saver.save(sess, "Model/model.ckpt", global_step=3) 输出 1. global_step 放在文件名后面,起个标记作用 2. save方法输出4个文件   

实例变量、静态变量、实例方法、静态方法

ε祈祈猫儿з 提交于 2020-02-25 19:53:20
***实例变量:***只有new对象时才会赋值,如果构造方法没有赋值,则赋系统默认值,储存在堆内存中; ***静态变量:***当类加载进jvm时就赋值,如果没有手动赋值,则赋系统默认值,并同时储存在方法区中与class文件关联; ***实例方法:***只有先new对象,通过对象才能调用执行; ***静态方法:***当类加载进jvm时就执行; **实例代码块:**只有在new对象时才执行,在构造方法前执行。 **静态代码块:**类加载进jvm同时执行。 public class Test { //实例代码块 { System . out . println ( "实例代码块执行" ) ; } //静态代码块 static { System . out . println ( "静态代码块执行" ) ; } public static void main ( String [ ] args ) { new Test ( ) ; } } 控制台输出结果: 静待代码块执行 实例代码块执行 **注意:**静态代码块按静态代码块执行顺序执行。实例代码块按实例代码块的顺序执行。 来源: CSDN 作者: qq_28870891 链接: https://blog.csdn.net/qq_28870891/article/details/104503044

命名规则

最后都变了- 提交于 2020-02-25 19:05:41
说明 从大到小,代码文件,类,函数,变量这些都需要进行命名,命名是最常见的行为,命名的好坏对代码可读性影响非常大。 命名规则是代码风格中最基础的部分,但是也是效果最明显的。 作用 分隔单词 命名使用一个单词无法表明具体含义时,需要使用多个单词,多个单词需要进行分隔,不然容易误造成误解,分隔方法如下: 驼峰法 - 通过单词首字母大写分隔 * 大驼峰 TimeZone * 小驼峰 timeZone 下划线法 - 通过下划线分隔 time_zone 标识作用域 标识函数或变量的作用域,写代码时不用特意去记,或者查看定义,加快编码效率。 变量 * 全局变量;全局变量在变量名前面加上 “g_” ,例如:"g_test", 这样程序员一看到 g_ 就知道是全局变量,不用去找定义 * 类成员变量;类成员变量一般加上 “m_”。 * 局部变量; 局部变量什么都不加。 函数 * private 函数 * public 函数 * protect 函数 * go语言private函数首字母大小,public函数首字母大写。 * c/c++编程,私有函数会在函数前加上“__”,公有不加。 标明函数作用 当作用相同的处理函数加上统一的单词,程序员能够举一反三,可以很快明白函数的作用,例如: http请求的处理函数一般会加上 handle,这样一看就知道是http请求的处理函数。 来源: CSDN 作者:

SQL Server 临时表 Vs 表变量

强颜欢笑 提交于 2020-02-25 16:00:45
开始 说临时表和表变量,这是一个古老的话题,我们在网上也找到很多的资料阐述两者的特征,优点与缺点。这里我们在SQL Server 2005\SQL Server 2008版本上通过举例子,说明临时表和表变量两者的一些特征,让我们对临时表和表变量有进一步的认识。在本章中,我们将从下面几个方面去进行描述,对其中的一些特征举例子说明: 约束(Constraint) 索引(Index) I/0开销 作用域(scope) 存儲位置 其他 例子描述 约束(Constraint) 在临时表和表变量,都可以创建Constraint。针对表变量,只有定义时能加Constraint。 e.g.在Microsoft SQL Server Management Studio(MSSMS)查询中,创建临时表并建Constraint场景,<脚本S1.> Use tempdbgoif object_id('Tempdb..#1') Is Not Null Drop Table #1 GoCreate Table #1( ID int, Nr nvarchar(50) not null, OperationTime datetime default (getdate()), Constraint PK_#1_ID Primary Key (ID))Alter Table #1 Add Constraint CK_

一、变量和数据类型

徘徊边缘 提交于 2020-02-25 15:53:55
目录 1. 变量 1.1 定义 1.2 分类 1.3 变量命名 2. 数据类型 2.1 数字 2.2 布尔类型 2.3 字符串 2.4 列表 2.5 元组 2.6 集合 2.7 字典 1. 变量 1.1 定义 变量是用来存储数据的量,变量名由字母、数字、下划线组成的,且不能以数字开头。此外,在编程的过程中,所有变量的命名都要做到见名知意。 1.2 分类 全局变量 作用范围在全局的变量,例如:一个类中定义的类变量,类中所有的方法都可以使用该变量。 局部变量 作用范围在局部的变量,例如:一个类中的方法定义的方法变量,该变量只能在该方法中使用,而不能给类中的其他方法使用。 1.3 变量命名 下划线命名法 单词之间用下划线连接的命名方式,例如:auto_test。在Python中,一般默认函数名的命名方式采用下划线命名法。 驼峰命名法 小驼峰命名法 除首字母小写外之后的每个单词的首字母大写的命名方式,例如:autoTest。 大驼峰命名法 每个单词的首字母大写的命名方式,例如:AutoTest。一般默认类名的命名方式采用大驼峰命名法。 注意 在变量命名时要避开使用关键字来作为变量名。 2. 数据类型 2.1 数字 整数 int表示整数类型。 浮点数 float表示浮点数类型。 注意 int和float类型都是不可变的。 2.2 布尔类型 格式 bool,布尔类型的值只有两个

shell脚本:环境变量

佐手、 提交于 2020-02-25 15:31:21
环境变量 环境变量可以分成两种:全局变量与局部变量 linux中的全局变量是linux系统提前定义好的变量,不管是root还是普通用户登录系统,都是默认使用系统提前定义好的环境变量。 局部变量它只在当前的shell环境中有效,当进入子程序或新的子shell环境时,局部变量将无法再使用。 可以通过一个简单的例子,来理解全局和局部的区别 [ root@linus ~ ] # echo $ LANG zh_CN . UTF - 8 [ root@linus ~ ] # bash [ root@linus ~ ] # echo $ LANG zh_CN . UTF - 8 这是全局变量,进入新的shell环境,全局变量也不会改变。 [ root@linus ~ ] # a = hhh [ root@linus ~ ] # echo $a hhh [ root@linus ~ ] # bash [ root@linus ~ ] # echo $a 而局部变量只在当前shell环境中生效,打开一个新的shell环境,局部变量将无法使用。 区分全局和局部 对于区分全局和局部变量,除了打开新的shell环境外,还可以通过set和env命令进行区分。 首先是set,可以输出所有变量,包括局部和全局 [ root@linus ~ ] # a = hhh [ root@linus ~ ] # set |

Django 模板系统

左心房为你撑大大i 提交于 2020-02-25 14:19:33
作为一个 Web 框架,Django 需要一个动态生成 HTML 的便捷方法。最常用的方法就是模板。模板包含所需 HTML 输出的静态部分以及描述动态内容被插入的一些特殊语法。 Django 项目可以配置一个或多个模板,甚至没有,Django 内置了一套自己的模板系统,叫作 Django template language。 通过模板,我们可以将后端(变量、对象、数据库数据、时间等)渲染到前端 HTML。 模板中常用两种特殊符号 {{ 变量名 }} {% 逻辑相关 %} 1. 模板变量 当模板引擎遇到一个变量时,将计算这个变量,用原有的值替换这个变量。变量命名可以是 字母、数字以及下划线组合 ,但是不能有空格或标点符号。 语法: {{ 变量名 }} 模板变量中的点【.】 在模板中点有特殊含义,它可能是: 字典查询 属性或方法查询 数字索引查询 Tips: 在 Python 中调用一个方法时,往往都会有小括号,而在模板中是不用带括号的。另外需要注意的是模板中调用方法,不能调用带参数的方法。 示例 #views.py from django.shortcuts import render def index(request): data_list = [1, 2, 3] dic = {'name': 'rose'} tt = datetime.datetime.now() # 传时间

java基本类型和包装类的区别

此生再无相见时 提交于 2020-02-25 14:08:43
int 是基本类型,直接存数值 Integer是类,产生对象时用一个引用指向这个对象 Java把内存划分成两种:一种是栈内存,另一种是堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 而实际的对象是在存储堆内存中 即 int i = 5;//直接在栈中分配空间 Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中 在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理. 因为在堆中分配空间所需的时间远大于从栈中分配存储空间,所以JAVA速度比C 慢 当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的外覆类了。Java中每种基本类型都有相应的外覆类。 int 和 Integer 的区别 java 提供两种不同的类型:引用类型(或者封装类型,Warpper)和原始类型(或内置类型,Primitive)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型 封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float