所有的一种编程语言都需要处理数据,如数字、字符串、字符等等,我们可以直接使用数据,或者把它保存到一个变量中,以方便以后使用。 变数(Variable)可看作是一个专门用于在程序中“装入”数据的小盒子。每一个变量都有一个唯一的名字,变量名称可以通过变量名称查找。 从底层来看,程序中的数据最终都被放入内存(内存条),变量实际上就是这个内存的名称。 和变量相对应的是常量(Constant),它们都是用来“盛装”数据的小箱子,不同的是:变量保存的数据可以被多次修改,而常量一旦保存某个数据之后就不能修改了。 Python变量的赋值在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。Python使用等号=作为赋值运算符,具体格式为: name=value1复制代码类型:[python] name表示变量名;value表示值,也就是要存储的数据。 注意,变量是标识符的一种,它的名字不能随便起,要遵守Python标识符命名规范,还要避免和Python内置函数以及Python保留字重名。 例如,下面的语句将整数10赋值给变量n: n=101复制代码类型:[python] 从此以后,n就代表整数10,使用n也就是使用10。 更多赋值的例子: pi = 3.1415926 #将圆周率赋值给变量 piurl = "http://c./python/" #将 Python 教程的地址赋值给变量 strreal = True #将布尔值赋值给变量 real12345复制代码类型:[python] 变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可;另外你也不用关心数据的类型,可以将不同类型的数据赋值给同一个变量。请看下面的演示: n = 10 #将10赋值给变量nn = 95 #将95赋值给变量nn = 200 #将200赋值给变量nabc = 12.5 #将小数赋值给变量abcabc = 85 #将整数赋值给变量abcabc = "http://c./" #将字符串赋值给变量abc12345678910111213复制代码类型:[python] 注意,变量的值一旦被修改,之前的值就被覆盖了,不复存在了,再也找不回了。换句话说,变量只能容纳一个值。 除了赋值单个数据,你也可以将表达式的运行结果赋值给变量,例如: sum = 100 + 20 #将加法的结果赋值给变量rem = 25 * 30 % 7 #将余数赋值给变量str = "C语言中文网" + "http://c./" #将字符串拼接的结果赋值给变量12345复制代码类型:[python] Python变量的使用使用Python变量时,只要知道变量的名字即可。 几乎在Python代码的任何地方都能使用变量,请看下面的演示: >>> n = 10>>> print(n) #将变量传递给函数10>>> m = n * 10 + 5 #将变量作为四则运算的一部分>>> print(m)105>>> print(m-30) #将由变量构成的表达式作为参数传递给函数75>>> m = m * 2 #将变量本身的值翻倍>>> print(m)210>>> url = "http://c./cplus/">>> str = "C++教程:" + url #字符串拼接>>> print(str) C++教程:http://c./cplus/123456789101112131415复制代码类型:[python] Python是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言、C++、Java是强类型语言的代表。 下面我们以C++为例来演示强类型语言中变量的使用: int n = 10; //int表示整数类型 n = 100; n = "http://c./socket/"; //错误:不能将字符串赋值给整数类型 url = "http://c./java/"; //错误:没有指明类型的变量是没有定义的,不能使用。123456789复制代码类型:[python] 和强类型语言相对应的是弱类型语言,Python、JavaScript、PHP等脚本语言一般都是弱类型的。 弱类型语言有两个特点: 变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。 注意,弱类型并不等于没有类型!弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。我们可以使用type()内置函数类检测某个变量或者表达式的类型,例如: >>> num = 10>>> type(num) <class 'int'> >>> num = 15.8 >>> type(num) <class 'float'> >>> num = 20 + 15j>>> type(num) <class 'complex'> >>> type(3*15.6) <class 'float'> |
|