变量

python中的偏函数和变量作用域

China☆狼群 提交于 2020-02-18 07:37:21
1.偏函数 当一个函数有大量的参数时,调用会变得非常麻烦,我们可以通过偏函数,固定一些参数,简化函数的调用。例如, def addaddminus ( num1 , num2 , num3 , num4 ) : return num1 + num2 + num3 - num4 print ( addaddminus ( 1 , 2 , 3 , 4 ) ) 执行结果如下, 2 这个addaddminus()函数包含有四个参数,下面我们使用偏函数将参数num1和参数num2固定为1和2,并重新计算。 import functools addaddminus = functools . partial ( addaddminus , 1 , 2 ) print ( addaddminus ( 3 , 4 ) ) 执行结果如下, 2 我们也可以固定参数num2和参数num3,如下, import functools addaddminus = functools . partial ( addaddminus , num2 = 2 , num3 = 3 ) print ( addaddminus ( num1 = 1 , num4 = 4 ) ) 注意,这时我们传参时需要通过关键字传参。 执行结果如下, 2 2.变量的作用域 程序中的变量并不是在任意的位置都可以随意访问,在哪

php内存回收机制的学习

丶灬走出姿态 提交于 2020-02-18 07:31:59
  今天朋友去面试,回来问了一下怎么样,结果他说一脸懵逼,看来我们平时还是学习的太少了啊。于是比较好奇,果断问了一下都有哪些问题,朋友说第一个问题就是“描述PHP的垃圾回收机制”,我当时听了也是一脸茫然,因为平时我们业务逻辑写的太多,很少去关注这些,但是没办法,既然有人问这个问题,看来还是很有必要了解一下的。于是马上搜了一下,网上资料文章很多,看了几篇后加上自己的一些理解记录一下。   首先看了一下官方手册,只有php5.3版本以后的才有了所谓的新的垃圾回收机制GC,那么以前是怎么干的呢?以前是基于引用计数的方式,这里就需要提一下引用计数的知识,官方手册里面说php的每个变量都是存在一个叫做zval的容器里面,这个容器不仅包含了这个变量的值和类型,还包含了另外两个重要的信息,“is_ref”和“refcount”,“is_ref”看名字就应该知道大概和引用相关,它是一个bool值,如果这个值是true那么代表这是一个引用变量,否则是普通变量。“refcount”指的是有多少个变量(符号)指向这个zval容器。   比如一个变量$a="test",如果我们php安装了xdebug插件并且开启了插件,就可以用xdebug_debug_zval(“a”)来显示zval里面的值。这里会输出a:(refcount=1,is_ref=0)=“test”,可以看到refcount=1

ruby 学习精简笔记

时光毁灭记忆、已成空白 提交于 2020-02-18 07:02:47
============================================================================ 1、控制器中的方法可以相互调用吗 2、控制方法中定义的@变量是不是实例变量,它貌似只能在控制器方法对应的view中应用,不能被其他view使用 3、text_field等的传值方式,表单的传值方式 4、activeRecord的关系映射 ============================================================================ ruby中的代码每个语句放在单独的行数,不需要在每个句子的末尾加上分号 ruby的变量不需要预先声明,可以在使用的时候直接赋值,根据赋值的类型确定变量类型 ruby字符串中含有表达式或者变量用#{表达式},如果是全局变量或实例变量则可以不用花括号 $greeting="helllo" @name="prudence" puts "#$greeting,#@name" 方法以def...end的形式表示 ruby方法所返回的值,是最后一个被求值的表达式的值,可以省略return. ruby使用一种命名惯例来区分名称的用途:名称的第一个字符显示这个名称如何使用, 局部变量、方法参数和方法名称都必须使用小写或者下划线,全局变量都用美元符号($)为前缀;

JDK安装 与 环境配置

别说谁变了你拦得住时间么 提交于 2020-02-18 05:56:14
1:安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可 2:安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可 注:若无安装目录要求,可全默认设置。无需做任何修改,两次均直接点下一步。 3 安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 4 系统变量→新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0) 5 系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码) 6 系统变量→新建 CLASSPATH 变量 变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点) 系统变量配置完毕 7 检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格) 若如图所示 显示版本信息 则说明安装和配置成功。 来源: https://www.cnblogs.com/suancaipaofan/p/6809775.html

python3列表

。_饼干妹妹 提交于 2020-02-18 05:35:54
列表由一系列按特定顺序排列的元素组成。 用方括号[ ]表示列表,用逗号分隔其中的元素。 1、访问列表元素 (1)要访问列表元素,可指出列表的名称,再指出元素的索引。 例如print(cars[0]) (2)索引列表从0开始,而不是从1开始,即0对应列表的第一个元素,1对应列表的第二个元素; 2、修改列表元素 要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。 car[0]=123 3、在列表中添加元素 (1)在列表末尾添加元素,append(),用法:列表名.append(需要添加的元素) (2)在列表中插入元素,insert(),用法:列表名.insert(新元素的索引,新元素) (3)从列表中删除元素,使用del语句。用法:del 列表名[元素索引] (4)使用方法pop()删除元素。pop()就是从列表中弹出一个元素,并可将这个元素存储到一个变量,以便于使用。 例:popped_motorcycle=motorcycles.pop()。pop()默认弹出最后一个元素。若需要弹出其他位置的元素,需要指定元素索引,比如pop(1); (5)根据值删除元素,使用方法remove()。用法:列表名.remove(元素值) 4、使用方法sort()对列表进行 永久性排序。用法:列表名.sort()。sort按照字母顺序排列。 5、使用函数sorted(

Android 安装环境搭建

我只是一个虾纸丫 提交于 2020-02-18 05:16:03
1. Android软件下载 准备工作:下载Eclipse、JDK、Android SDK、ADT插件 下载地址:Eclipse: http://www.eclipse.org/downloads/ JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk7u9-downloads-1859576.html Android SDK: http://developer.android.com/sdk/index.html ADT: http://developer.android.com/tools/sdk/eclipse-adt.html SDK 下载位置: 2. 安装软件和配置环境 2.1 安装 JDK 下载好的 JDK 是一个可执行安装程序,双击安装。假设安装路径为: C:/Program Files/Java/jdk1.6.0_05 (当然其他路径也可以)。 JDK 安装完成之后要设置系统环境变量: 我的电脑点右键,选择 “ 属性 ” ,选择 “ 高级 ” 标签,进入环境变量设置 。环境变量设置,分别设置三个环境变量: JAVA_HOME 、 path 变量、 classpath 变量。 2.1.1 设置 JAVA_HOME 在系统环境变量那一栏中点 -> 新建 JAVA_HOME ( JAVA_HOME

C++中几个关键字

江枫思渺然 提交于 2020-02-18 04:50:49
volatile 编译优化时,为 提高存取速度 ,有时会把变量读取到寄存器,方便读取;但有时别的线程改变了变量的值,但寄存器值不变,造成程序读取值不一致,所以 使用volatile从变量内存中读取。 修饰某个变量,表明某个变量的值可能随时被外部改变,因此对这些变量的存取不能缓存到寄存器,每次使用时需要重新读取,从变量的地址中(内存中)读取数据。 volatile的作用 是告知编译器,它修饰的变量随时都可能被改变。因此,编译后的程序每次在使用该变量的值时,都会从 变量的地址中读取 数据,而不是从寄存器中获取。 作用:在进行编译时不优化,在执行的时候不缓存, 每次都需要从内存中读出(保证内存的可见性) 场景:多用于多线程或多CPU编程 static和const static和const static关键字至少有下列几个作用: (1)函数体内static变量的 作用范围为该函数体 ,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被 模块内所用函数 访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的 使用范围被限制在声明它的模块内 ; (4)在类中的static成员变量属于 整个类所拥有 ,对类的所有对象只有一份拷贝; (5

从零开始的JS生活(一)——JS简介、变量及基本结构

爱⌒轻易说出口 提交于 2020-02-18 04:06:05
本K在经过三个静态站制作的狂风暴雨之后,终于开始了JavaScript的学习。作为一只从来没有正儿八经接受过计算机语言的小白,居然能够跟上浩哥的课程进度,我的内心都被我的才智震惊到了,果然本K是天生丽质难自弃,天生我材必有用哇,哦呵呵~ 咳咳,废话不多说,咱们来开始我们的JS小课堂,希望能够帮助到跟我一样的第一次接受计算机语言的同志们。 一、什么是JS。 JavaScript,简称JS,它是一种基于浏览器的、基于对象的、用于事件驱动的脚本语言。简单来说,JS就是用来实现html页面上的一些动态效果的语言。它的作用有很多,它可以进行表单的验证,可以添加页面的动态效果,可以动态更改页面的内容,也可以通过Ajax来实现页面的局部更新。 二、JS的组成部分。 JS主要有三大部分组成。 1、ECMAScript语法标准,简称ES标准,它规范了JS中的语法、变量和数据类型、运算符、逻辑控制语句等重要内容。 2、BOM,浏览器对象模型,包括history(历史)、document(文档)、location(地址)等浏览器相关的重要信息。 3、DOM,文档对象模型,它的重要内容可以概括为“节点”,节点可以是html中的任意一个标签,像是head,body就是html文档中的两个节点,两者以下的所有分支都可以形成非常具有层次性的节点层。 三、JS的基本结构与使用方式 1、基本结构

day01 python基础

此生再无相见时 提交于 2020-02-18 03:41:56
Python 基础 一:什么是编程语言? 一般是:变量的声明赋值和宽度,条件,循环,作用域。 二:计算机组成部分 CPU ,内存,外存,输入设备,输出设备 运算器,控制器,存储器, I/O 装置 三:安装与使用 安装 python 解释器 安装 pycharm 编辑器 创建 python 文件,打印 hello world ! 四:什么变量? 变量,可变化的量。 # 变量值:‘ tank ’,会在内存中产生一份内存地址。 # 变量名:相当于一个门牌号,用于与变量进行绑定。 #= :用来把变量值绑定给变量 变量的命名规则 驼峰命名法: AgeOfTank #python 强烈推荐使用 下划线命名: age_of_tank 变量名定义规范: 1. 要以英文字母或下划线开头 a1 # 英文字母开头 _a # 下划线开头 2. 不能以数字开头 1a # 错误!!! 关键字不能命名 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',

day01 Python基础

Deadly 提交于 2020-02-18 03:41:23
python基础:一 编程语言 什么是编程语言? 上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作。 什么是编程? 编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件。 强调: 程序在未运行前跟普通文件无异,只有程序在运行时,文件内所写的字符才有特定的语法意义。二 计算机组成部分 CPU 内存 外存 输入设备 输出设备三 python的安装与使用 1.安装python解释器 2.安装pycharm编辑器 3.编写python代码,并输出打印hello world!四 变量 可变化的量。 变量值: 是真实存放在内存中的一块内存地址。 变量名: 用于与变量值绑定关系的。 赋值=号: 将变量的值绑定给变量名的。五 常量 不可变的量。 以全大写命名。 并不是不能对其修改,而是大家都规定好凡是全大写的变量都称之为常量,不可对其进行修改。六 用户与程序交互 输入: input() 1 name = input("input your name:") 输出: print() 1 #输出字符串 2 print("cjw") 3 #输出变量 4 name = 'tank' 5 print (name) #tank 七