3.1.从1+1说开去

类别:软件工程 点击:0 评论:0 推荐:

今天我们来研究一下用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的类型

本文地址:http://com.8s8s.com/it/it33262.htm