扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
>>> 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就将字符串”
执行int1=int(int1)时函数int会新建一个对象用来保存整数值1,折光念书对象将从一个新的内存文治开始,Python将int1和这个新的内存地址绑定,然后把原来int1的字符串位置释放。Int2也是一样处理。
执行sum=int1+int2,将两个值做和,然后打印出来。
总结来说呢:Python中的每个Object都有一个地址,一个类型,以及一个值,而且所有这些对象的属性都可以一通过对象名称来访问,比如:
Id(int1)获取int1的地址
Type(int1) 获取int1的类型
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者