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