常量与变量

二 Python 变量与常量

孤者浪人 提交于 2020-01-13 05:10:13
变量与常量 定义 变量: 程序运行过程中,值会发生变化的量 常量: 在程序运行过程中,值不会发生变化的量 Python 常量 PI = 3.14159265359 Python 格式化 格式化符号(注意区分大小写) %c 格式化字符串机器ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整数 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进驻数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %f 和%E的简写 %p 用十六进制数格式话变量的地址 其它常用命令 查看内存地址: id(查询的对象) 来源: CSDN 作者: 魔力军 链接: https://blog.csdn.net/weixin_45550881/article/details/103079842

C语言关键字const应用解析

被刻印的时光 ゝ 提交于 2020-01-12 14:46:06
只要学过C语言的,都有知道const这个关键字,知道是用来定义常量的,如果一个变量被const修饰,那么它的值就不能再被改变,那么还有什么其他作用呢? 一、const常用作用 1.修饰局部变量 const int n=5; int const n=5;/*二者是等价的,均表示变量n的值不能被改变了*/ 注意:在使用const修饰变量时,一定要给变量初始化,否则之后就不能赋值了! 接下来看看const用于修饰常量静态字符串,例如: const char * str = "fdsafdsa" ; 如果没有const的修饰,我们可能会在后面有意无意的写str[4]=’x’这样的语句,这样会导致对只读内存区域的赋值,然后程序会立刻异常终止。有了const,这个错误就能在程序被编译的时候就立即检查出来,这就是const的好处。让逻辑错误在编译期被发现。 2. 常量指针与指针常量 常量指针 是指针指向的内容是常量,可以有一下两种定义方式。 const int * n ; int const * n ; 需要注意的是一下两点: 1、常量指针说的是不能通过这个指针改变变量的值,但是还是可以通过其他的引用来改变变量的值的。 int a=5; const int* n=&a; a=6; 2、常量指针指向的值不能改变,但是这并不是意味着指针本身不能改变,常量指针可以指向其他的地址。 int a=5;

const int *p 与 int const* p 和const int const *p区别

醉酒当歌 提交于 2020-01-12 03:22:04
const int * p 与 int const* p 和const int const * p区别 一、何为const const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。也就是说const常量,具有不可变性。 例如: const int Max=100; Max++; //操作错误 二、 指针常量与常量指针 1、指针常量 指针就是内存单元的地址,所谓指针常量,也就是这个指针变量的值不可改变,即指针只能唯一的指向一个地址,这个地址所对应的内存单元中的内容可以被修改 int* const p = &a; //指针常量 eg: //如果不想要看到错误信息的话,注释掉#define CONFIG_DEBUG这句 #define CONFIG_DEBUG int a, b; int * const p = &a; // 定义了一个只能指向a的地址的指针 *p = 666; //操作成功 #ifdef CONFIG_DEBUG p = &b; //操作失败,指向的地址不可更改 #endif 2、常量指针 顾名思义,常量指针就是指向常量的指针,只要你想让你指向的内存单元中的内容具有像常量那样的不可变性,就可以用常量指针去指向它,相比指针常量,常量指针可以指向任何类型的变量的地址。 就像给小屋(内存单元)里的东西(内容)贴了封条,屋门上上了一把锁,即便是用钥匙打开了屋门

C++ Primer:第2章总结

随声附和 提交于 2020-01-10 11:39:17
第2章 变量和基本类型 2.1 基本内置类型 基本内容: 算术类型包含字符,整型数,布尔值和浮点数,空类型不对应具体值,仅用于无返回值时函数的返回类型等特殊场合。 类型转换:将对象从一种给定的类型转换为另一种类型。 字面值常量:整型字面值,浮点型字面值,字符字面值,字符串字面值,转义序列,字面值前缀和后缀,布尔字面值,指针字面值。 备注: 整型包括布尔类型和字符类型。 bit是数据存储的最小单位,byte是数据处理的基本单位,字是整数运算的自然单位:1 word = 4 byte(32位机器), 1byte = 8 bit。 类型选择:若数值不为负选用无符号类型;整型运算选用int;算术表达式不用char或bool;浮点数运算选用double。 切勿混用带符号类型和无符号类型。 2.2 变量 基本内容: 变量定义:类型说明符+变量名列表。初始化,列表初始化,默认初始化。 变量声明与变量定义:声明和定义都规定变量的类型和名字,此外定义申请存储空间,可能初始化;变量只能定义一次,声明多次。 标识符:由字母、数字和下划线组成,必须以字母或下划线开头,区分大小写。 名字作用域:全局作用域,块作用域,内层作用域,外层作用域 备注: 初始化 != 赋值。 用{}进行列表初始化,函数体内部的内置类型变量不会被默认初始化。 变量名用小写,类名以大写开头,多个单词用下划线连接。 变量第一次使用时

接口常量、类常量、枚举类

♀尐吖头ヾ 提交于 2020-01-07 12:26:55
一 、分析 常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量。不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量。代码如下: enum Season{ Spring,Summer,Autumn,Winter; } 二、场景 那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢? 1.枚举常量更简单 先把Season枚举翻译成接口,代码如下: interface Season{ int Sprint = 0; int Summer = 1; int Autumn = 2; int Winter = 3; } 枚举只需要定义每个枚举项,不需要定义枚举值,而接口常量(或类常量)则必须定义值,否则编译通不过;两个引用的方式相同(都是“类名.属性”,如Season.Sprint),但是枚举表示的是一个枚举项,字面含义是春天,而接口常量却是 一个Int类型。 2.枚举常量属于稳态型 使用常量接口,我们得对输入值进行检查,确定是否越界,如果常量非常庞大,校验输入就是一件非常麻烦的事情,但这是一个不可逃避的过程。 接口常量 public interface ConstInterfaceA { public static final String CONST_A = "aa"; public static final

(Go) 2. 常量与变量

六眼飞鱼酱① 提交于 2020-01-07 08:49:35
一. 变量 1.函数的特征 函数外只能放标识符(变量\常量\函数\类型) 如果要编译一个可执行文件,必须要声明一个main包,且代码中要有main函数 main函数是入口函数,没有参数,也没有返回值 函数外必须以关键字开头 // 第一行必须声明包名 package main// 导入语句 import "fmt" // fmt.Println("from G:") //非法 // 程序的入口函数 func main() { fmt.Println("from G:") } 2.标识符:字母数字下划线,只能以字母和下划线开头 3.25个关键字,37个保留字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 4. 静态语言 :变量必须要声明类型 eg:go 动态语言 :变量无需声明类型,eg: pyhon 5.注释 // 单行注释 /* 多行注释 */ 6.语法知识 // 第一行必须声明包名 package main // 导入fmt包 import "fmt" // 1.申明变量 // 局部变量必须先声明再使用,而且变量必须要使用

阿里巴巴java开发规范

独自空忆成欢 提交于 2020-01-03 01:50:34
一、编程规约 (一) 命名规约 1. 【强制】所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例: _name / __name / $Object / name_ / name$ / Object$ 凡是以两个或一个下划线开始,后面紧跟着一个大写字母的标识符,不管它出现在哪里,都是保留给编译程序或标准库函数使用的。 此外,凡是以一个下划线开始,后面不管跟着什么内容的标识符,如果它出现在文件范围内(即它不是出现在一个函数内),那么它也是被保留的。 如果你用一个保留的标识符来作一个变量的名称,结果是没有定义的(程序可能无法编译,或者可以编译但会崩溃)。 即使你能非常幸运地找到一个目前还没有被你的编译程序或函数库使用的标识符,你也应该记住这样的标识符是保留起来供将来使用的。 因此,最好还是避免使用以下划线开始的变量名或函数名。 2. 【强制】所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 变量 = 3; 正例: ali / alibaba / taobao / cainiao / aliyun / youku /

开发规范

余生长醉 提交于 2019-12-29 17:43:44
最近在coding的时候发现很多类和变量的命名都不是很规范,然后想着自己也刚工作大半年,还是应该要从开始就养成比较好的编码习惯,所以这里参考阿里的开发规范,从中选取一些自己认为重要的,或者自己犯过错的,亦或自己认为会经常使用的来规范自己的代码。内容摘自 https://www.jianshu.com/p/7c8c4a9bdf26 1.命名规约 【强制】所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式,国际通用拼音除外。(碰到不知道翻译的字段真没少用拼音,或者是被遗留系统的代码命名给带偏。。) 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:(领域模型 的相关命名)DO / DTO / VO / DAO 等。 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。 【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。 【强制】POJO 类中的任何布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。(涨知识,以前经常对布尔类型变量用is开头) 【强制】杜绝完全不规范的缩写,避免望文不知义。反例:<某业务代码>AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi

#define与const的差别

此生再无相见时 提交于 2019-12-28 19:39:07
#define 与 const 的差别 虽然他们在使用中感觉“差不多”,但是他们在实现上有什么区别? 请看下面的代码: #define T 13 /* 用 #define 定义的一个常量 T*/ int main() { const int t=13;/* 用 const 定义的一个常量 */ int n=t;/* 把 t 赋值给 n*/ int m=T;/* 把 T 赋值给 m*/ } 1. 差别 : const 与 #define 最大的差别在于:前者在堆栈分配了空间,而后者只是把具体数值直接传递到目标变量罢了。或者说, const 的常量是一个 Run-Time 的概念,他在程序中确确实实的存在可以被调用、传递。而 #define 常量则是一个 Compile-Time 概念,它的生命周期止于编译期:在实际程序中他只是一个常数、一个命令中的参数,没有实际的存在。 const 常量存在于程序的数据段 . #define 常量存在于程序的代码段。 2 优缺点 : 至于两者的优缺点,要看具体的情况了。一般的常数应用,我个人认为 #define 是一个更好的选择: i. 从 run-time 的角度来看,他在空间上和时间上都有很好优势。 ii. 从 compile-time 的角度来看,类似 m=t*10 的代码不会被编译器优化, t*10 的操作需要在 run-time 执行。而

const 命令

最后都变了- 提交于 2019-12-27 16:38:04
const声明一个只读的常量。一旦声明,常量的值就不能改变。 一. 概述 const 使用特点? 答:① const声明一个只读的常量。一旦声明,常量的值就不能改变;② const一旦声明变量,就必须立即初始化,不能留到以后赋值;③ const的作用域与let命令相同:只在声明所在的块级作用域内有效;④ const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用;⑤ const声明的常量,也与let一样不可重复声明。 const 声明基础类型和对象类型?答:声明基础类型不可改变;声明对象类型不可重新赋值,可修改对象属性。 二. const 命令 1.作用 const 声明一个只读的常量。一旦声明,常量的值就不能改变。 const PI = 3.1415 ; PI // 3.1415 PI = 3 ; // TypeError: Assignment to constant variable. 2.特点 const 一旦声明变量,就必须立即初始化,不能留到以后赋值。 //对于const来说,只声明不赋值,就会报错 const foo ; // SyntaxError: Missing initializer in const declaration const 的作用域与 let 命令相同:只在声明所在的块级作用域内有效。 if ( true ) { const