3.1.从1+1说开去

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

今天我们来研究一下用Python做算术运算,首先我写了一行的程序

>>> print 1+1

2

结果其实还没被证明是正确了,姑且认为正确了。

从上面看出来,如果直接打印1+1居然就能直接得出结果为2说明一个问题:

Python和我们C++以及Java不同,这个叫做“动态类型定义”这是他的一项技术,就是在程序执行期间决定一个对象的类型。

打个比方:

如果定义一个变量a初始化为1,对象的类型会被定义为整数,以为2是整数(有点废话),如果a被初始化成”Python”,对象的类型就被定义为字符串。

我们把1+1写的复杂一点,做一个文件叫add.py,内容如下

int1=raw_input("输入一个数字:\n")

int1=int(int1)

int2=raw_input("再输入一个数字:\n")

int2=int(int1)

sum=int1+int2

print sum

我们看看上面的程序,要注意的是raw_input函数返回的是字符串,这里用就必须用int函数转成数字才能做和。

写到这里就要描述一下python的原理了,看看上面的程序,首先raw_input创建一个对象存储用户输入的字符串,分配内存,通过赋值运算=将名称int1和新建的对象做个关联。比如用户输入一个1,python就将字符串”1”放在和int1对应内存的位置。

执行int1=int(int1)时函数int会新建一个对象用来保存整数值1,折光念书对象将从一个新的内存文治开始,Python将int1和这个新的内存地址绑定,然后把原来int1的字符串位置释放。Int2也是一样处理。

执行sum=int1+int2,将两个值做和,然后打印出来。

总结来说呢:Python中的每个Object都有一个地址,一个类型,以及一个值,而且所有这些对象的属性都可以一通过对象名称来访问,比如:

Id(int1)获取int1的地址

Type(int1) 获取int1的类型

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有