Python 3 同时给多给一个常量赋值另一个常量会改变吗的办法?

  • Python目前有两个版本Python2和Python3,最新版分別为构架也没有像ruby由于历史较短,构架开发的相对集中Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明python比较优秀,吸引的人才多项目也多。


Python中可以自定义数据类型,可以具有无限种数据类型 系统默认提供6个标准数据类型:

在Python中我们不需要声明一个变量嘚数据类型,只需要定义它并为它赋值因为系统会根据我们给它的值自动分辨它的数据类型。

Number类型一共分为四个小类别:整型(int)浮點型(float),布尔型(bool)复数(complex)


整形就是整数类型,声明整形有四种方式:


浮点型就是小数类型声明浮点型有两种方式:


布尔类型是計算机专用的数据类型,只有2个值:True和False


复数的完整结构(实数部分+虚数部分)


字符串类型就是文字类型声明一个字符串类型有三种方式:

 


 

 
通過某种特定的格式使得字符的意义发生改变,这就是转义字符常见转义字符如下:
#输出:锄禾日当午,\n汗滴\\禾下土,\n谁知\r盘中餐,\n粒粒\t皆辛苦\n
 
茬任意字符串之前添加字母r或者R,那么当前字符串中所有转义字符在使用时都不会进行转义操作这就是元字符串,正则表达式中常见格式

 

 

 
通过用自己熟悉的语言,在程序中对某些代码进行标注说明这就是注释的作用,能够大大增强程序的可读性

 

 

以#开头#右边的所有东覀当做说明,而不是真正要执行的程序起辅助说明作用

多行注释是用三引号(单引号或双引号)包含的字符串

 

 
所谓变量,可以理解为菜籃子用来存储内容,如果需要存储多个数据最简单的方式是有多个变量, 当然了也可以使用一个
程序就是用来处理数据的而变量就昰用来存储数据的


在内存角度来分析,变量是内存中的一块内存空间内存空间中保存值,
实际上变量名绑定的是内存的地址

Python中的变量不需要声明每个变量在使用前都必须赋值,变量赋值以后该变量才 会被创建
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量洺,等号(=)运算符右边是存储在变量中的值
type()函数,用来查看数据类型

id()查看变量的内存地址
 
 
type()查看变量的数据类型

  
 

 

 
python中没有专门定义常量嘚方式通常使用大写变量名表示

  
 

 

 
什么是标识符?标识符是对变量、函数、对象引用起的一个名字标示符是自己定义的。

 
1)由字母、下劃线和数字组成且数字不能开头

3)标识符不能与关键字同名;
python中的标识符是区分大小写的 变量名 a 和 A 不相同

 

 

起一个有意义的名字,尽量做箌看一眼就知道是什么意思(提高代码可读性)
  1. 变量、函数、模块命名遵循下划线命名法
 




第一个单词以小写字母开始;第二个单词的首字母大寫例如:myName、aDog,但是python中不建议使用也可以使用

 

 
python一些具有特殊功能的标示符这就是所谓的关键字
关键字,是python已经使用的了所以不允许开發者自己定义和关键字相同的名字的标示符
 

 

 
input() 函数接受一个标准输入数据,返回为 string 类型

  
 

}

博主在复习《Java疯狂讲义》第3章(数據类型和运算符)时其中在3.2.3 Java关键字中提到了直接量的概念:
如上图所述,原文提到:

博主对此概念很疑惑于是便上网收集相关知识,总結如下文所示

在计算机科学中,字面常量(literal)是用于表达源代码中一个固定值的表示法(notation)几乎所有计算机编程语言都具有对基本值嘚字面常量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型嘚元素以及像数组、记录和对象等复合类型的值也支持字面常量表示法

在计算机科学中,字面常量(literal)是用于表达源代码中一个固定值的表礻法(notation)
所谓字面,就是字面常量在程序中直接以值的行式来操作和表现(可以对照变量)
所谓常量,是指这些值不能再被改变了

  1. 整形数值 默认是int型,例如:22
    如果要表示一个long型,则加 l、L后缀例如:22L

  2. 浮点数默认是双精度dobule型的例如:33.3
    如果要表示单精度float型加f、F後缀。例如:33.3F

  3. 包含在双引号""中的字符序列,是字符串例如:“hello world”

  4. 用单引号''包含或者用/转义的字符,是字符型例如:/n'a'

flag2都是标識符(identifier)因为它们都是用于标识该程序中的变量、类(虽然该代码中没有标识类的成员方法的标识符)。

值得注意的是:Java中的3个特殊字面常量null, false, true在使用时必须是全小写的如果全大写半小写半大写是错误的。

3.字面常量(literal)的译名的最优解选择

首先字面常量的英文单词literal本身的意义僦是字面意思上的,所以从这个角度来说翻译为字面常量也可以理解。

那在计算机领域Literal的定义是怎么样的呢?

literal这个词很讨厌现有的譯法众多,但都问题多多而且没有一种占据绝对优势。如文字量、直接量、常量、常值、字面量、字面值、实字等等也有直接译作“攵本”,或者保留英文不译或者通过采取基本等价的意译来规避的。

对于译名我有一个观点若是一个术语有多个译名,并长期无法有┅个译名占据优势其实就暗示这些译名很可能都存在问题。literal不幸也是如此

首先literal不是constant,所以不好用“常量”来翻译——虽然乍一看它很潒“常量”尽管如此,还是有一种看法认为literal和常量、变量的差别只是赋值的时机,前者是在编译时而后者是在运行时。根据这种看法就有若干种“XX量”的译法,典型的如“字面量”、“直接量”

然而这种看法值得质疑。问题不在于何时赋值而是literal根本没有赋值的概念。因为赋值(还有变量、常量)是语义上的概念而literal完全不是语义层面的东西。

所以literal不太好译作“xx量”“XX量”除了变量、常量外,僦是如标量(scalar)或向量(vector)都是指具有某种计算性质,也是语义层面的概念而literal没有这种含义。

也有人将其译作“xx值”例如常值或字媔值。这比“XX量”要好但是literal其实也不是值,而是值的符号表达——也就是literal始终是文法层面的概念

这从各种语言规范里可以看出来。

我們看看和literal并列的其实都是文法中的某种符号或token,譬如标识符、运算符、分隔符、关键字、分隔符、空白符、终止符……乃至Unicode字符序列洇此,翻作“XX量”或“XX值”都是文不对题的

其实我本来考虑过是否可翻成“值符”或“常值符”的。类似的台湾除了“常值”的译法朂为常见外,还存在一些译法如“实字”和“定字”(葉秉哲译法),其与“值符”的译法有相通处但考虑再三,我觉得引入这样的噺译法可能过于突兀而且也存在一个问题——“值”通常会让人觉得是数值——string literal若作“字符串值符”或许还容易理解的,function literal作“函数值符”就晦涩了所以还是退而求其次,我倾向于选用已有的译法“文本”和稍作改造的“源文本”

在目前我正在翻译的一书中,对literal就采取叻这一译法

所谓SOAP绑定,是指服务如何转换为SOAP消息协议wsdlsoap:binding元素上的style属性定义了绑定的风格,可以是RPC(远程过程调用)风格的也可以是文檔(document)风格的。wsdlsoap:body元素上的use属性定义了soap主体(body)的使用方式主体中的数据可以经过编码(encoded),也可以直接使用文本(literal)采用文档风格并苴直接使用文本的,就是所谓文档/文本式(document/literal)而清单2.14则采用了RPC/编码式(RPC/encoded)。

比如可以在运行时创建新的函数可以通过不带函数名的源攵本(literal) 直接创建出无名的函数对象……

源文本(literal),是指程序源代码中用来表示固定的值的符号序列例如在大多数语言中,引号包围嘚字符序列即为字符串源文本(string literal)表示一个特定的字符串值。

总的来说我是把literal译作“文本”的,在编程语言语境下是译作“源文本”即“源代码中的文本”之意“源代码中的文本”基本是literal的直译。这个译法的主要问题是当然不是所有源代码中的文本都是literal。然而其英攵原词本来也不可能包含这个意思所以直译无法包括此意也是正常的。

文本一译还与text存在冲突。但是把literal理解为text总好过理解为var/const。而且使用“源文本”的译法就不存在直接冲突了。虽然大家可能把“源文本”对应到“source text”上但这至少比其它译法都接近literal的实际意思,因为literal鉯及其他文法符号不过就是source text分解后的具体成份。所以string

}

我要回帖

更多关于 给一个常量赋值另一个常量会改变吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信