赋值语句

重构改善既有代码的设计《六》重新组织函数

天大地大妈咪最大 提交于 2020-01-15 18:54:31
6.1Extract Method(提炼函数) 1,你有一段代码可以被组织在一起并独立出来 将则这段代码房间一个独立函数中,并让函数名称解释该函数的用途 void printData ( double amount ) { printBanner ( ) ; //print detail System . out . println ( "name:" + _name ) ; System . out . println ( "amount:" + amount ) ; } 修改成: void printData ( double amount ) { printBanner ( ) ; printDetail ( amount ) ; } void printDetail ( double amount ) { System . out . println ( "name:" + _name ) ; System . out . println ( "amount:" + amount ) ; } 2,动机 如果每个函数的粒度都很小,那么函数复用的机会就很大 这会使高层函数读起来象一系列注释 如果函数都是细颗粒度,那么覆写也会更加容易 3,做法 创建一个新函数,根据这个函数的意图命名(做什么) 将提炼的代码从原函数复制到新建目标函数中 检查是否有“仅用于被提炼代码段”的临时变量

JavaScript——变量作用域

我怕爱的太早我们不能终老 提交于 2020-01-15 14:36:44
在javascript中, var 定义变量实际是有作用域的。 1、var变量作用域问题 1.2、假设一个变量在函数体中声明,则该变量的作用域为整个函数体则在函数体外不可以使用。 function qj() { var x = 1; x = x + 1; } x = x + 2; //Uncaught ReferenceError: x is not defined 无法在函数体外引用变量x 1.2、如果两个函数使用了相同的变量名,只要在函数内部,就不冲突 function qj() { var x = 1; x = x + 1; } function qj2() { var x = 'A'; x = x + 1; } 1.3、内部函数可以访问外部函数的成员,反之则不行 function qj() { var x = 1; // 内部函数可以访问外部函数的成员,反之则不行 function qj2() { var y = x + 1; // 2 } var z = y + 1; // Uncaught ReferenceError: y is not defined } 1.4、假设,内部函数变量和外部函数的变量重名 function qj() { var x = 1; function qj2() { var x = 'A'; console.log(' x in qj2()='

python day1

六月ゝ 毕业季﹏ 提交于 2020-01-14 00:14:18
第一章 什么是python 使用python的公司 Google ,dropbox(美国版百度网盘,py的创始人Guido van Rossum目前就在dropbox),YouTuBe(全球最大的视频网站),UBER,Quora(美国版的知乎),instagran(美国版的朋友圈,被facebook收购9亿美金,整个公司才13个人);yelp(世界杯大众点评),豆瓣,知乎; 初创公司比较喜欢使用python。 就业前景 Pythone未来十年发展预测 未来十年,python在中国的发展会怎样?使用python的企业会不会越来越多?python主要被运用的领域有哪些?使用Python的程序员会越来越多还是越来越少? Life is short,you need python! 计算机语言 计算机只能识别的语言为二进制,0和1, 编程语言种类 汇编语言 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的

右值引用与移动构造函数

不羁岁月 提交于 2020-01-12 19:26:15
右值引用与移动构造函数 文章目录 右值引用与移动构造函数 左值(lvalue)、右值(rvalue)、xvalue、prvalue、glvalue 定义 一些问题 左值引用与右值引用 测试 移动构造函数、移动赋值 Reference 左值(lvalue)、右值(rvalue)、xvalue、prvalue、glvalue 定义 c++primer ​ 这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能( 区别不是这么简单,这里的只是为了方便记忆 )。C++的表达式要么是右值(rvalue),要么是左值(lvalue)。 C++中,一个左值表达式的求值结果是一个对象或者一个函数(然而以常量对象为代表的某些左值实际上不能作为赋值语句的左侧运算对象)。此外,虽然某些表达式的求值结果是对象,但它们是右值而非左值。简单归纳:当一个对象被用作右值时,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。 1 (《C++ primer 5th edition》) 官方文档 C++11在官方文档上 ^2 ,说明了表达式的值类型。如下所示。 官方文档(官方文档 ^2 3.10节。这样解释: An lvalue (之所以这样称它,因为过去左值可以出现在赋值表达式的左边)表示了一个函数或一个对象。(比如,如果E是一个指针类型,那么

C语言基础:指针

旧街凉风 提交于 2020-01-12 18:10:52
【指针】 一、指针变量与定义 C语言有两种变量:其中变量(普通变量)存储内容值;地址变量(指针变量)存储地址值。 1、定义格式 类型名 *指针变量名;*是指针变量的标志,不包含在变量名里 注: (1)定义变量(普通变量、指针变量)都必须在前面有类型名。前类型后分号为定义语句。除此之外,其它语句都是执行语句。 (2)在定义指针变量时,指针变量名前的 * 表示现定义的是一个指针类型变量。星号并不是指针变量名的一总分,只是一个标志。 (3)指针变量专门用来存地址,禁止将一个整型直接赋给一个指针变量。 2、指针变量的引用 “&”取地址运算符,通过&运算符可以取出普通变量的地址。 “*”指针运算符,*可以取出指针变量所指向的普通变量的值(间接引用普通变量)。功能是 *地址 -》 取出内容值。 “&”“*”是单目运算符,优先级2级,方向从右向左 指针变量运算方法:(口诀四)地址变量得地址,得谁地址指向谁, 有*为内容值,不是读就是写,*在赋值号左边为写,其它都为读。无*为地址值,地址赋值意味着改指向。 注: (1)可以通过赋值使一个指针变量“指向”某一普通变量(指针变量=&普通变量)。 指针变量必须定义且初始化后再使用。 (2)在C语言中正确的做法是先让指针变量指向一个确定的存储单元后,再通过该指针变量引用它所指向的存储单元。 (3)变量名(普通变量、指针变量)都表示其存储单元内的值。 (4

mysql存储过程总结

霸气de小男生 提交于 2020-01-08 16:42:17
N年没写过存储过程了,突然要写存储一下都忘记完了,现在回顾总结。 先废话的说下mysql中的变量有1.系统变量 和 2.自定义变量 系统变量:变量由系统提供,不是用户定义,属于服务器层面 a.查看所有的系统变量: show global | session variables; b.查看满足条件的部分系统变量: show global | 【session】 variables like '%char%'; c.查看指定的某哥系统变量的值: select @@global | 【session】.系统变量名; d.为某个系统变量赋值 方法一: set global | 【session】 系统变量名 = 值; 方法二: set @@global | 【session】.系统变量名 = 值; e.全局变量 1.查看所有的全局变量: SHOW GLOBAL VARIABLES; 查看部分的全局变量: SHOW GLOBAL VARIABLES LIKE '%char%'; 3.查看指定的全局变量的值: SELECT @@global.autocommit; SELECT @@tx_isolation; 4.为某个指定的全局变量赋值: SET @@global.autocommit=0; f.会话变量 1.查看所有的会话变量 SHOW VARIABLES; SHOW SESSION

javascript基础

不打扰是莪最后的温柔 提交于 2020-01-08 14:22:00
Day 01 变量 本质:变量是程序在内存中申请一块用来存放数据的空间 变量的使用 1.声明变量 2.赋值 变量的初始化:声明一个变量 并赋值 var age = 18; 变量语法拓展 1.更新变量:一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准 var myname = '张三'; myname = '迪丽热巴'; console.log(myname);//迪丽热巴 2.同时声明多个变量,只需要写一个var,多个变量名之间用英文逗号隔开,最后一个用分号结束 var age = 18, address = '火影村', gz = 2000; 3.声明变量的特殊情况 3.1只声明不赋值,结果为undefined var age; console.log(age); //undefined 3.2不声明,不赋值直接使用某个变量会报错 3.3不声明,直接赋值使用能正常输出 变量命名规范 1.由字母,数字,下划线,美元符号组成。 2.严格区分大小写 3.不能以数字开头 4.不能是关键字,例如var,for,while 5.变量名必须有意义 6.遵守驼峰命名法,首字母小写,后面单词得首字母需要大写。如myFirstName 7.尽量不要使用name作为变量名 案例 交换两个变量 思路 1.需要一个临时变量 2.把apple1给临时变量temp 3

Shell 参数扩展及各类括号在 Shell 编程中的应用

本秂侑毒 提交于 2020-01-07 09:30:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天看有人总结了 shell 下的参数扩展,但不是很全,恰好以前整理过放在百度空间,但百度空间目前半死不活的情况下对 Google 非常不友好,索性一并转过来方便查阅。 1、bash 中的 大括号参数扩展 (Parameter Expansion) 假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 1.1 bash 下的 split 取“数组”的首、尾: ${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt ${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt ${file##*.}:拿掉最后一个 . 及其左边的字符串:txt ${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3 ${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值) ${file%.*}:拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file ${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my Tips: 记忆的方法为: #

oracle存储过程创建-调试-调用-删除(二)

喜欢而已 提交于 2020-01-07 08:54:57
上一篇文章已经介绍了存储过程简单的创建,调用,调试和删除。这篇文章将会主要讨论一下存储过程中选择循环判断等的用法。 存储过程中变量的定义和赋值 在存储过程里,我们除了可以使用参数,还可以定义一些变量来进行操作。 第一种赋值方式 ::= 1. 定义的变量要写在as或is关键字后面,begin前面。 2. 定义的变量区别于参数的是,需要指定长度。 3. 定义完的参数可以在begin中对其进行赋值,oracle中赋值的动作不是 = 而是 := 。 4. 参数为in类型的不允许再次赋值了。 5. 下面的参数num虽然存在,但是下面的代码中没有地方引用,所以编译的时候会提醒 ‘已编译但有警告’。 6. commit提交一定要写,否则无法成功完成insert操作。 7. 为字符类型的变量赋值的时候两边要用单引号,数值型则不用。 1 create or replace procedure test3(num number) as 2 age integer;--integer不需要指定长度 3 names varchar2(20);--varchar2 需要指定长度 4 sex integer; 5 begin 6 age:=0;--为上面定义的变量赋值不是用 = 而是用 := 7 names:='张三';-- 为字符型数据赋值两边要加上单引号 8 sex:=1; 9 --num:=1;

这26个为什么,让初学者理解Python更简单!

柔情痞子 提交于 2020-01-07 04:13:50
为什么Python使用缩进来分组语句? 为什么简单的算术运算得到奇怪的结果? 为什么浮点计算不准确? 为什么Python字符串是不可变的? 为什么必须在方法定义和调用中显式使用“self”? 为什么不能在表达式中赋值? 为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现? 为什么 join()是一个字符串方法而不是列表或元组方法? 异常有多快? 为什么Python中没有switch或case语句? 难道不能在解释器中模拟线程,而非得依赖特定于操作系统的线程实现吗? 为什么lambda表达式不能包含语句? 可以将Python编译为机器代码,C或其他语言吗? Python如何管理内存? 为什么CPython不使用更传统的垃圾回收方案? CPython退出时为什么不释放所有内存? 为什么有单独的元组和列表数据类型? 列表是如何在CPython中实现的? 字典是如何在CPython中实现的? 为什么字典key必须是不可变的? 为什么 list.sort() 没有返回排序列表? 如何在Python中指定和实施接口规范? 为什么没有goto? 为什么原始字符串(r-strings)不能以反斜杠结尾? 为什么Python没有属性赋值的“with”语句? 为什么 if/while/def/class语句需要冒号?