赋值

全局变量 局部变量

二次信任 提交于 2020-03-22 08:01:22
全局变量 大写 局部变量 小写 1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如: num = 100 def func(): num = 123 print(num) func() #输出: 123 说明函数中定义的num是一个局部变量,会将全局变量覆盖。再例如: num = 100 def func(): num += 100 print(num) func() #输出: UnboundLocalError: local variable 'num' referenced before assignment 错误提示局部变量num在赋值前被应用,也就是该变量没有定义就使用它,由此再次证明了这里定义了一个局部变量,而不是使用的全局的num。 总结:函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量。 Python makes educated guesses on whether variables are local or global. It assumes that any variable assigned a value in a function is local. From: https://www.tutorialspoint.com/python

为什么有些寄存器值的更新会延迟一个时钟周期变化

点点圈 提交于 2020-03-21 12:49:37
module counter( input clk, input rst_n, output reg[7:0] data_out ); //reg define reg [3:0] cnt; //假设计数器每计数十次,溢满一次 reg [2:0] lsm_cnt; //计数器每溢满一次,lsm_cnt寄存器自加1 //parameter [7:0] num = 8'b10110101;此句和下面两句功能等效 wire [7:0] num; //定义一个八位数据 assign num = 8'b10110101; initial data_out <= 8'b0000_0000; //如果此处没有给初值,那么在仿真中不知道每一位是0还是1,data_out的值将呈现高阻态为8‘dX, //只有后面case语句执行8次将寄存器的每一位都写入值后,仿真中data_out才有值显示出来 always@(posedge clk or negedge rst_n)begin if(!rst_n) cnt <= 4'd0; else if(cnt < 9) //如果是发送数据则需要一个标志位去启动计数器开始计数 cnt <= cnt + 1'b1; else cnt <= 4'd0; end always@(posedge clk or negedge rst_n)begin if(!rst_n

shell脚本编程高级篇

徘徊边缘 提交于 2020-03-21 12:40:58
SHELL脚本编程进阶 循环执行:简单来说就是把一些指令重复循环。 循环代码具体的指令有三种: for , while , until其中for, while用的最多。 for循环 for 变量名 in 列表;do 循环体 done 关键字的帮助都是用help来查询。 for循环语法:在shell编程中 for,in,do,done。这些都是他的关键字,其中循环的指零就放在do和done之间。 WORDS决定了循环次数。 循环的次数由in 后面跟的WORDS(字符串)的数量决定。字符串的个数决定了do和done之间的指令执行的次数。 $ :for认为是一个整体 br/>$@:for认为是独立的参数 for循环逻辑:↓↓ :这条命令意思是,将i变量为1 22 33 等于说i同时等于这3个变量然后用到$i把变量显示出来第一次i就是1第二次i就是22第三次i就是333这就是for循环的逻辑。 :还可以使用花括号或字母一次性显示完。 for脚本编辑语法:,脚本意思是i变量为arg而$@是独立的一个整体执行为脚本后面跟123代表arg is 独立的123。 :这是重复创建10次用户的意思i变量为{1..10}这个范围 :这是让FILE变量为userlist.txt这个文件然后执行这个文件里有多少用户,在来循环多少次。 :不用创建脚本也可以在外执行for结尾必须使用;隔开done

JS加强学习-DOM学习05

蓝咒 提交于 2020-03-21 09:58:36
7.6 移除节点 removeChild() 是将父元素中的某个子节点移除掉;这个为彻底移除。 7.7 插入节点 insertBefore 不同于appendChild(),appendChild()为将指定的元素剪切至对象所有子元素的最后。而insertBefore(,)是将指定的元素插入到某个位置之前,第一个参数为指定的元素,第二个参数为父元素中某个子元素的位置,指定元素会插入到第二个参数位置之前。 8. JS设置样式 8.1 JS设置样式的两种方式 style:逐条获取样式属性,逐条改变对应样式。 className:只能获取页面通过style设置的类名,无法获取外联式引入的。 当然我们需要改变的样式较少时可以直接通过style的方式改变,可是如果样式较多就可以先在页面style标签中取个类名将所有的样式放在这个类名下,然后使用className的方法来调用这个类名。 8.2 JS设置样式时常有的style属性: backgroundColor:设置背景颜色 backgroundImage:设置背景图片 color:设置字体颜色 width:设置元素宽度 height:设置元素高度 border:设置元素边框 opacity:透明度设置取值范围为0-1,IE8及以前版本的只支持filter:alpha(opacity=XX);XX为0-100之间的值。 总结:由于JS中不识别

存储例程

陌路散爱 提交于 2020-03-21 03:25:52
存储例程是存储程序的一种类型,本质上也是封装了一些可执行的语句,只不过它的调用方式是:需要手动去调用!存储例程又可以分为存储函数和存储过程。 存储函数 创建存储函数 存储函数其实就是一种函数,只不过在这个函数里可以执行命令语句而已。函数它可以把处理某个问题的过程封装起来,之后直接调用函数就可以去解决同样的问题了。MySQL 中定义存储函数的语句如下: CREATE FUNCTION 存储函数名称([参数列表]) RETURNS 返回值类型 BEGIN 函数体内容 END 从这里可以看出,定义一个存储函数需要指定函数名称、参数列表、返回值类型以及函数体内容,如果该函数不需要参数,那参数列表可以被省略,函数体内容可以包括一条或多条语句,每条语句都要以分号 ; 结尾。里边的制表符和换行仅仅是为了好看,完全可以用空格代替。 mysql> delimiter $ mysql> create function avg_score(s varchar(100)) -> returns double -> begin -> return (select avg(score) from student_score where subject = s); -> end $ Query OK, 0 rows affected (0.01 sec) 定义了一个名叫 avg_score 的函数,它接收一个

python基础巩固(变量类型:字典、集合、元组、列表、数字、字符串)

試著忘記壹切 提交于 2020-03-20 12:36:30
Python 3 教程 菜鸟教程 https://www.runoob.com/python3/python3-tutorial.html 在控制台 DOS运行.py文件 先切换到 .py 文件所在目录 再输入 python hello.py (输入 python3 hello.py 执行会报错, 这里与菜鸟教程不同 ) 在 Unix & Linux 平台安装 Python3 先下载 Unix/Linux 的源码压缩包 https://www.python.org/downloads/source/ 解压压缩包,并安装 # tar -zxvf Python-3.7.7.tgz 说明:这是解压文件 # cd Python-3.7.7 # ./configure # make && make install 说明: make 是编译 ,make insatll 来进行安装 在 Linux 设置环境变量 在 bash shell 输入 :export PATH= ”$PATH:/usr/local/bin/python” 说明 : /usr/local/bin/python 是 Python 的安装目录。 Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。 常见的 Shell 有 sh (sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有sh)、 csh

c#

做~自己de王妃 提交于 2020-03-19 19:41:54
//2.类 //[public] class 类名 //{ // 字段; // 属性; // 方法; //} //我们管(通过类来)创建类的对象过程称为类的实例化 // 使用new关键字 //类不会被程序执行 因为代码只有写在main方法中才会被执行 //所以应该要在main方法中创建类的对象 //类是不占内存的,而对象是占内存的。 //创建Person类对象 //class System.String System这个项目中的String类 //class _01.面向对象.Person _01.面向对象这个项目中的Person类 //自定义类:自己写的类,不是系统提供我们的类 //类是不占内存的,而对象是占内存的。 //你给属性赋值 实际上就是给属性所对应的字段赋值/ 你输出属性的值 实际上输出的是属性所对应的字段值 //表面上你给属性赋值实际上是给属性对应的字段赋值 //表面上你输出属性值实际上输出的是属性对应的字段值 //属性就相当于一个????里面有给字段赋值 和输出字段值的功能 //他会自动的识别出你在干什么进而执行相应的功能 当你要输出属性时他就会将这个属性所对应的字段输出 //当你要给属性赋值时 他就会把你给属性赋的值 赋给这个属性所对应的字段 //属性不能存值 它对应的字段存值 //输出属性值时实际上输出的是他所对应的字段值 get//取值 { /

[C#详解] (1) 自动属性、初始化器、扩展方法

我的梦境 提交于 2020-03-19 12:48:36
文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/CSharp-focus-1.html 代码下载: 点我下载 目录 前言 属性与自动属性 属性 自动属性 初始化器 对象初始化器 集合初始化器 扩展方法 无参数扩展方法 带参数扩展方法 结尾 前言 首先祝大家2015新年快乐! 新的一年,新的开始。来博客园安家已经快两个月了。每天看博客、写博客、评论、回答博问已经渐渐养成了一种习惯。可以很明显的感觉到泡在博客园里真的可以学到很多,不论是技术文章的还是一些记叙经历、抒发感想的随笔,都让我从各个方面受益良多。不知道大家是否和我一样,就是感觉博客园有一种特殊的魔力,让你没事就想上去看一眼,看上面是不是又有人发了新文章,而且累了的时候在上面看看非技术的东西也能放松自己。 有时会问自己:在博客园上花了这些时间和精力,是否值得?毕竟这也算是"义务劳动",不为自己创造任何价值,通俗点说就是不挣钱。但是每想一次这个问题我都会更加坚定自己的选择。坚持博客园的理由有三: 不断地利用博客园中的技术知识提高自己的技术水平,这无疑是在增加自身的价值。我觉得要想拿高工资,最本质的问题就是提高自身价值。对于我们技术人员来讲,就是知识面越广、掌握的技术越深入、编码的速度越快、质量越高、解决难题的问题越强,我们的价值就越高。博客园在这些方面对我们都是有帮助的。

对象的扩展

巧了我就是萌 提交于 2020-03-19 04:34:35
属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 const foo = 'bar'; const baz = {foo}; baz // {foo: "bar"} // 等同于 const baz = {foo: foo}; 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。下面是另一个例子。 function f(x, y) { return {x, y}; } // 等同于 function f(x, y) { return {x: x, y: y}; } f(1, 2) // Object {x: 1, y: 2} 除了属性简写,方法也可以简写。 const o = { method() { return "Hello!"; } }; // 等同于 const o = { method: function() { return "Hello!"; } }; 下面是一个实际的例子。 let birth = '2000/01/01'; const Person = { name: '张三', //等同于birth: birth birth, // 等同于hello: function ()... hello() { console.log('我的名字是', this.name); } };

函数的参数

纵饮孤独 提交于 2020-03-18 19:24:47
一丶形参与实参的介绍   函数的参数分为形式参数和实际参数,简称形参和实参   形参:在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名 def func(x,y): print(x,y)   实参:在调用函数阶段传入的值称之为实际参数,简称实参,相当于变量值,实参是传入的值,但值可以是以下形式 #1:常量 func(1,2) #2:变量 a=1 b=2 func(a,b) #3:表达式 func(10*2,10*func(3,4)) #4:实参可以是常量、变量、表达式的任意组合 a=2 func(1,a,10*func(3,4))   形参和实参的关系:     1.在函数调用时实参(值)会绑定给形参(变量名)     2.这种绑定关系只能在函数体内使用     3.绑定关系在函数调用时生效,调用结束后解除绑定关系   二丶形参与实参的具体使用   2.1 位置参数:   按照从左到右的顺序依次定义的参数称之为位置参数   位置形参:在函数定义阶段,按照从左到右的顺序直接定义的"变量名",       特点:必须被传值,多一个不行少一个也不行 def func(x,y): print(x,y) func(1,2,3) #报错 func(1,) #报错   位置实参:在函数调用阶段, 按照从左到有的顺序依次传入的值,       特点:按照顺序与形参一一对应 func