局部变量

函数的基本操作

允我心安 提交于 2019-12-05 06:45:52
自学函数的笔记整理 函数与函数式编程 编程方法: 1、面向对象 -->类 -->class(关键字) 2、面向过程 -->过程 -->def(关键字) 3、函数式编程 -->函数 -->def(关键字) python:非纯函数式编程,也是面向对象的(最火) 定义函数和定义过程的区别: 过程即为没有返回值的函数 1 # 定义函数 2 def func1(): 3 print('in the func1') 4 return 0 5 # 定义过程 6 def func2(): 7 print('in the func2') 8 9 x = func1() # x接收返回值0 10 y = func2() # y接收返回值空(python中给出了隐式返回值None) 11 print(x, y) # 0 None 区别 1 def test(x): 2 ''' 3 文档描述 4 :param x: 5 :return: 6 ''' 7 # 函数体(逻辑) 8 x += 1 9 # 定义返回值,终止函数的运行 10 return x 函数结构 1 import time 2 def test(): 3 ''' 4 文档描述 5 :param x: 6 :return: 7 ''' 8 # 函数体(逻辑) 9 time_format = '%Y-%m-%d %X' # X:时分秒 10

【java】关于Cannot refer to the non-final local variable list defined in an enclosing scope解决方法

被刻印的时光 ゝ 提交于 2019-12-05 04:53:34
今天学习中遇到了一个问题: Cannot refer to the non-final local variable list defined in an enclosing scope 这里的new Runnable(){...}是一个匿名局部内部类,其访问test()方法的局部变量list就会发生编译错误 解决方法: 用final修饰list 原因: 程序执行test()方法时,在方法的调用栈中生成了局部变量变量list,此时产生了一个局部内部类对象,它访问了该局部变量list,当方法test()运行结束后,局部变量list就已死亡了,不存在了,但:局部内部类对象还可能一直存在(只能没有人再引用该对象时,它才会死亡),它不会随着方法test()运行结束死亡。局部内部类对象和局部变量list的生命周期不一致,局部变量list死后,局部内部类对象不能访问一个不存在的变量。 使用final修饰符修饰局部变量list,这时的局部内部类对象将list的“复制品”作为自己的数据成员,当局部变量list死亡以后局部内部类对象依然可以访问list的“复制品”。 注意:Java8中不写final也能通过编译(会隐式的添加final) (我的是Java7) 来源: https://www.cnblogs.com/shuaiBqi/p/11907843.html

python 入门基础知识

◇◆丶佛笑我妖孽 提交于 2019-12-05 02:53:37
计算机基础知识(一) 计算机基础之编程 什么是编程语言 人与计算机交流的介质 什么是编程 通过编程语言写一堆文件 为什么要编程 替代劳动力 计算机组成 CPU 控制器 控制硬件 运算器 算术运算和逻辑运算 存储器 主存 优点:快 缺点:容量小/断掉即消失/贵 外存 优点:容量大/永久存储/便宜 缺点:慢 IO设备 《追寻记忆的痕迹》 输入设备 输入信息,如键盘/鼠标 输出设备 输出信息,如显示屏/打印机 32位和64位 一次性读取的二进制位 多核cpu 同一时刻干多件事情 机械硬盘工作原理 机械手臂 读取数据 磁道 存储数据 扇区 划分磁道 平均寻道时间 5ms 平均延迟时间 4.15ms 平均寻找数据时间 9.15ms 固态硬盘 基于电容存储数据 操作系统 什么是文件 操作系统提供的虚拟概念,存储信息 操作系统有什么用 把对硬件的复杂操作简单化 计算机三大组成 硬件 操作系统 软件 操作系统的启动 启动临时操作系统 临时操作系统启动真正的操作系统 关闭临时操作系统 应用程序的启动 双击qq(给操作系统发送指令) 操作系统给CPU发送指令 CPU给内存发指令 内存给外存发指令 外存找到qq的数据丢给内存 启动qq 编程语言的分类 机器语言 优点:执行效率高 缺点:开发效率低 汇编语言 优点:开发效率高 缺点:执行效率低 高级语言 编译型语言 编译型: 先一次性编译然后再执行,类似于

总复习知识点day18

和自甴很熟 提交于 2019-12-05 02:09:54
总复习: 1.计算机核心组件: - CPU - 内存 - 硬盘 - 输入设备: 键盘、鼠标 - 输出设备: 显示器、音响.. 2.python解释器: - 将人类编写好的代码转成机器能看得懂的字符。 - 解释器的作用: 帮你执行python代码。 3.pycharm编辑器: - 编辑器的作用: 可以更好的编写python代码,编辑器内部有很多强大的功能。 能够快速编写代码。 4.编程语言分类: - 机器语言(机器能直接看懂): 比如: 01010101 - 汇编语言(让人能看懂一点点): 比如: a ---> 01101001 - 高级语言(让人类能直接看懂): 比如: print('hello') 高级语言是更接近于人类的语言。 - 解释型: 一遍解释(翻译)一遍执行, 类似于同声传译。 优点: 开发效率高 可跨平台,一份代码可以多个平台使用。 缺点: 执行效率相比于编译型低。 - 编译型: 先一次性编译然后再执行,类似于 "有道翻译"。 优点: 执行效率高。 稳定义 缺点: 开发效率相比于解释型语言要低。 不可跨平台。 - 解释型语言的种类: python: 10级别 c# : java: 8 php: 3 - 编译型语言的种类: C c++ go 5.变量: 变量指的是可变化的量。 - 变量名: 可以与变量值绑定关系,通过变量名可以访问变量值。 - 相当于身份证ID号 -

线程局部变量ThreadLocal

你。 提交于 2019-12-04 13:46:41
一般我们考虑的是在线程间共享变量的风险。 有时可能要避免共享变量, 使用 ThreadLocal 辅助类为各个线程提供各自的实例。 ThreadLocal<SimpleDateFormat> dateFormat = ThreadLocal.withInitial(() -> new SimpleDateFormat("yy-MM-dd")); 在一个给定线程中首次调用 get 时, 会调用 initialValue 方法。 在此之后, get 方法会返回 属于当前线程的那个实例。 可以使用 ThreadLocal 辅助类为各个线程提供一个单独的生成器, 不过 JDK7 还另外 提供了一个便利类。 只需要做以下调用: int random = ThreadLocalRandom.currentO.nextlnt(upperBound): ThreadLocalRandom.current() 调用会返回特定于当前线程的 Random 类实例。 来源: https://my.oschina.net/ytuan996/blog/3130194

tensorflow: FailedPreconditionError (see above for traceback): Attempting to use uninitialized value

强颜欢笑 提交于 2019-12-04 06:04:55
问题描述: tensorflow 执行时出错:FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_4/kernel 解释:tensorflow变量未初始化 解决办法: sess = tf.Session() init_g = tf.global_variables_initializer() sess.run(init_g) sess.run(var) 问题解决,耶✌️ 另外:还有一个方法: tf.local_variables_initialize()用来初始化局部变量。 来源: CSDN 作者: siqi_fighting 链接: https://blog.csdn.net/u010454261/article/details/80354218

C/C++指针,预处理

和自甴很熟 提交于 2019-12-04 05:30:32
C/C++指针 int a; int* p = &a; // 指向a地址的指针*p 1、与const一起的时候   char * const p; // 指针不可变,也就是指针只能指向一个地址char* p的指针;   char const * p; // 所指内容不可改,也就是 p是常量字符串   char const * const p; // 内容和指针都不能改   const char * const p; // 同上...内容和指针不能改    2、str[]和 str的区别 #include <iostream> using namespace std; int main() { char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout << ( str1 == str2 ) << endl; cout << ( str3 == str4 ) << endl; cout << ( str5 == str6 ) << endl; cout << (

[Python]变量进阶

风流意气都作罢 提交于 2019-12-04 04:10:20
变量进阶 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数的参数传递 以及 返回值 都是靠 引用 传递的 => Python的 函数参数 和 返回值 是引用,注意不是值传递 引用的概念 在 Python 中 变量 和 数据 是分开存储的=>数据保存在内存中的一个位置,变量中保存着数据在内存中的地址 变量 中 记录数据的地址 ,就叫做 引用 => 引用和指针的差别,引用定了就不能改变了,但是指针是可以改变的 使用 id() 可以查看变量中保存数据所在的 内存地址 注意: 如果变量已经被定义了,当给一个变量赋值的时候,本质上 修改了数据的引用 => 再赋值是修改了变量的引用 变量 不再 是之前的数据引用, 改为 对新赋值的数据引用 a = [] print(id(a)) b = a # 理解以下,变量实际上存储了是封装的内存地址 print(id(b)) # id(a)和id(b)是一样的 变量引用的示例 在 Python 中,变量的名字类似于 便签纸 贴在 数据 上 函数的参数和返回值的传递 函数参数引用传递 def test(num): # 函数内部传进来的内存引用与函数外的内存引用一致 print("在函数内部 %s 对应的 内存地址是 %s" % (num, id(num))) # 1. 定义一个数字的变量 a = 10 #

函数的名称空间和作用域

对着背影说爱祢 提交于 2019-12-04 03:58:22
命名空间 一、什么是python的名称空间 名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对应的值。各个命名空间是独立没有关系的,一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响。 通俗讲:名称空间就是存放名字的地方,三种名称空间,(之前遗留的问题x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方) 原文链接:https://blog.csdn.net/lmseo5hy/article/details/80353099 二、名称空间的分类 内置名称空间 (Built-in)    存放着python的内置名称,如内置语言的名称如 len,char 和一些异常的名称 BaseException等,在任何模块都可以被调用,且随着python解释器的启动而产生,关闭而回收,因此它是第一个被加载的名称空间. >>> len <built-in function len> 全局名称空间    模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量,伴随着python文件的执行而产生 局部名称空间    函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量,只有调用函数时才会产生,调用完成时便会被回收 >>> def func(): ... a = 1 ... >>> a

华为软件测试工程师面试题

情到浓时终转凉″ 提交于 2019-12-04 01:46:53
1 、请你分别写出 OSI 的七层网络结构图和 TCP/IP 的五层结构 OSI 的七层结构从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP 的五层结构分别是应用层、运输层、网络层、链路层、物理层。 2 、请你详细解释一下 IP 的定义,在哪个层上面,主要有什么作用? TCP 与 UDP 呢? IP 在网络层, TCP 和 UDP 在传输层, TCP/IP 是传输控制协议 / 网际协议( Transmission Control Protocol / Internet Protocol )。 TCP/IP 之所以流行部分原因是它可以用在各种各样的信道和底层协议之上。确切地说, TCP/IP 是一组包括 TCP/IP , UDP(User Datagram Protocol) 、 ICMP(Internet Control Message Protocol) 和其他一些协议的协议组。 TCP/IP 并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的七层抽象参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层、而 TCP/IP 采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4