栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

云学python (第5章对象带你飞之一切皆对象 动态类型)《vamei-从Python开始学编程》 笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

云学python (第5章对象带你飞之一切皆对象 动态类型)《vamei-从Python开始学编程》 笔记

6.3我是风儿,我是沙​​​​​​​ 

1.动态类型

动态类型(Dynamic Typing)是Python的另一个重要核心概念。前面说过,Python的变量不需要声明。在赋值时,变量可以重新赋值为其他任意值。

a = 1

在Python中,整数1是一个对象。对象的名字是“a”。但更精确地说,对象名其实是指向对象的一个引用。对象是存储在内存中的实体。对象名是指向这一对象的引用(reference)。借着引用操作对象,就像是用筷子夹起热锅里的牛肉。对象是牛肉,对象名就是那双好用的筷子。

通过内置函数id()能查看到引用指向的是哪个对象。这个函数能返回对象的编号:

a = 1

print(id(1))

print(id(a))
______________
4300382472
4300382472
_____________
#Python中还有一个  getattribute  ()特殊方法,用于查询任意属性。

可以看到,赋值之后,对象1和引用a返回的编号相同。

在Python中,赋值其实就是用对象名这个筷子去夹其他的食物。每次赋值时,我们让左侧的引用指向右侧的对象。引用能随时指向一个新的对象:

a=3
print(id(a))
a = "at"
print(id(a))
_____________
4385284424
4380401968

第一个语句中,3是储存在内存中的一个整数对象。通过赋值,引用a指向对象3。第二个语句中,内存中建立对象“at”,是一个字符串。引用a指向了“at”。通过两次的id()返回能发现,引用指向的对象发生了变化。既然变量名是个随时可以变更指向的引用,那么它的类型自然可以在程序中动态变化。因此,Python是一门动态类型的语言。

一个类可以有多个相等的对象。比如两个长字符串可以是不同的对象,但它们的值可以相等。

除了直接打印id外,还可以用is运算来判断两个引用是否指向同一个对象。但对于小的整数和短字符串来说,Python会缓存这些对象,而不是频繁地建立和销毁它们。因此,下面的两个引用指向同一个整数对象3。

a= 3

b= 3

print(a is b)  

——————————————-
True

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/928785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号