资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章标识符和对象名2第二章第二章内容简介内容简介32.1 标识标识符符标识符是一个名字,只能以字母(A-Z / a-z)或下划线(_)开头,其余部分可以包含字母(A-Z / a-z)、下划线(_)或者数字。Python标识符是大小写敏感的。studentName studentname 42.1.1 标识标识符的命名符的命名规则规则两种规则:两种规则:1.驼峰标记(驼峰标记(CamelCase)从第二个单词开始,每个单词的首字母大写。从第二个单词开始,每个单词的首字母大写。例如例如“studentName”“teacherName”等。等。注意:注意:类类名的首字母通常大写,其他名的首字母通常大写,其他标识标识符的首字母小写。符的首字母小写。例如例如UnitTest2.下划下划线线用作用作单词单词分隔符分隔符例如例如“student_name”“teacher_name”等。等。52.1.1 标识标识符的命名符的命名规则规则有关标识符的说明如下。有关标识符的说明如下。说明说明1:不能将保留字用作标识符。:不能将保留字用作标识符。说明说明2:避免使用单个字母:避免使用单个字母“l”(小写字母(小写字母L)“o”“O”作为作为标识符,这些字符与数字标识符,这些字符与数字1和和0无法区分。无法区分。说明说明3:Python字符串是基于字符串是基于Unicode的,标识符本质是一个的,标识符本质是一个字符串,这就意味着标识符中可以包含中文字符,但本书不建字符串,这就意味着标识符中可以包含中文字符,但本书不建议这样做。议这样做。说明说明4:不建议使用内置函数和内置数据类型的名字作为标识符。:不建议使用内置函数和内置数据类型的名字作为标识符。例如不建议使用例如不建议使用float、id、int、input、list、str、sum、max、min等作为标识符。等作为标识符。说明说明5:不建议使用两个下划线作为前缀、两个下划线作为后缀:不建议使用两个下划线作为前缀、两个下划线作为后缀的名字作为标识符。这种特殊的名字叫做魔法属性或者魔法方的名字作为标识符。这种特殊的名字叫做魔法属性或者魔法方法,法,Python为这种特殊的名字赋予特殊的含义。为这种特殊的名字赋予特殊的含义。62.1.2 单单下划下划线标识线标识符符“_”的妙用的妙用例如打印例如打印10次次“你好你好Python”,可以使用单下划线,可以使用单下划线“_”为为临时对象命名。临时对象命名。Python程序程序12for _ in range(10): print(你好Python)72.1.2 单单下划下划线标识线标识符符“_”的妙用的妙用例如下列代码用于提取例如下列代码用于提取1和和3,单下划线,单下划线“_”用于占位。用于占位。Python程序程序123a, _, b, _ = (1, 2, 3, 4)print(a)print(b)82.2 Python内存内存优优化机制化机制Python内置了一套内存内置了一套内存优优化机制,会最大限度地重用化机制,会最大限度地重用现现有存有存储储空空间间中的中的对对象。象。Python会将数值较小的整数对象(大于等于-5且小于等于256)置入“全局intern池”中(intern译作驻留)。“全局intern池”中的对象被所有Python会话共享使用。也可将“全局intern池”理解为“全局常量池”或“小数据池”。提示:内置函数id(obj)返回对象obj的内存地址(类似于房间的房间号)。Python Shell A1id(0)Python Shell B1id(0)92.2 Python内存内存优优化机制化机制Python内置了一套内存内置了一套内存优优化机制,会最大限度地重用化机制,会最大限度地重用现现有存有存储储空空间间。开辟新的存储空间需要耗费一定的时间。Python内部有一套内存优化机制,同一个Python Shell会最大程度地利用现有存储空间,避免因开辟新“存储空间”而浪费时间。Python Shell A12id(999)id(1000)102.3 对对象名的管理象名的管理如果如果经经常常拨拨打某个手机号,我打某个手机号,我们们会将会将该该手机号命名,并存手机号命名,并存储储到到电话电话簿中,便于今后再次使用。簿中,便于今后再次使用。同理,同理,如果一个如果一个对对象象频频繁使用,最好的繁使用,最好的办办法也是法也是为为它命名。它命名。赋值语赋值语句句“=”的主要功能就是的主要功能就是为对为对象命名,并将象命名,并将对对象名存象名存储储在在命名空命名空间间中。中。Python程序程序1telephone_no = 13555555555112.3 对对象名的管理象名的管理如果如果电话电话簿中的某个手机号不再使用,我簿中的某个手机号不再使用,我们们会将其从会将其从电话电话簿簿中手中手动删动删除。除。如果一个如果一个对对象名不再使用,可以使用象名不再使用,可以使用del语语句将句将对对象名从命名空象名从命名空间间中手中手动删动删除。除。Python程序程序1del age122.3 对对象名的管理象名的管理总之:总之:(1)对象名存储在命名空间中。对象名存储在命名空间中。(2)对对象名的管理包括象名的管理包括为对为对象命名;象命名;删删除除对对象名。象名。132.3.1 使用使用赋值语赋值语句句为对为对象命名象命名赋值语句的语法格式:赋值语句的语法格式:“对对象名象名 = 对对象象”赋值语句赋值语句执执行行过过程程:先先执执行行“=”右右边边的代的代码码,再,再执执行行“=”左左边边的代的代码码,最后,最后执执行行“=”。“=”右右边边的代的代码码:负责创负责创建新建新对对象或重用已有象或重用已有对对象。象。“=”左左边边的代的代码码的的执执行流程行流程:先在当前命名空先在当前命名空间间中中查查找找对对象名象名。如果不能找到如果不能找到,则创则创建建对对象名;象名;如果能如果能够够找到找到,则则重用已有重用已有对对象名。象名。“=”:负责为对负责为对象象贴贴上上“对对象名象名”标签标签。需要注意,同一个需要注意,同一个对对象名在某个象名在某个时时刻只能刻只能贴贴在一个在一个对对象象上上。Python程序程序1age = 2020-8-8142.3.2 使用使用del语语句句删删除除对对象名象名如果某个如果某个对对象名不再使用,可以使用象名不再使用,可以使用del语语句将句将对对象名手象名手动删动删除。除。Python程序程序1del age152.3.2 使用使用del语语句句删删除除对对象名象名需要注意,需要注意,对对象名存象名存储储在命名空在命名空间间中,中,对对象存象存储储在堆内存空在堆内存空间间中。中。删删除除对对象名和象名和删删除除删删除除对对象并不是同一个概念象并不是同一个概念。对对象名可以通象名可以通过过del语语句手句手动删动删除,除,对对象无法手象无法手动删动删除。除。命名空间命名空间对象名堆内存空间堆内存空间 对象162.4 对对象和象和对对象名象名间间的关系的关系总结总结对对象名是一个象名是一个贴贴在在对对象上的象上的“标签标签”。对对象和象和对对象名的存在象名的存在顺顺序永序永远远是先有是先有对对象、再有象、再有对对象名。象名。对对象可以象可以单单独存在;独存在;对对象名必象名必须须依依赖赖于于对对象才能存在,离象才能存在,离开开对对象,象,对对象名没有象名没有丝丝毫意毫意义义。Python是是动态动态数据数据类类型的型的语语言。在不同言。在不同时时刻,刻,对对象名可以象名可以“贴贴在在”任意任意对对象上,象上,Python解解释释器根据分配的器根据分配的对对象确定象确定对对象象名的数据名的数据类类型。型。.未完待续未完待续Python程序程序12age = 18age = 2020-8-8172.4 对对象和象和对对象名象名间间的关系的关系总结总结一个一个对对象可以被多个象可以被多个对对象名同象名同时时引用。引用。.未完待续未完待续Python程序程序12age1 = 2020-8-8age2 = age1命名空间命名空间age1对象名age2对象名堆内存空间堆内存空间 对象2020-8-8182.4 对对象和象和对对象名象名间间的关系的关系总结总结在某个在某个时时刻,刻,对对象名只能象名只能贴贴在一个在一个对对象上。也就是象上。也就是说说,对对象名能象名能够够唯一唯一标记标记一个一个对对象,数学公式表示象,数学公式表示为为“对对象名象名对对象象”。可以手可以手动删动删除除对对象名,无法手象名,无法手动删动删除除对对象。象。对对象名存象名存储储在命名空在命名空间间中,中,对对象名占用的空象名占用的空间间极小;极小;对对象象存存储储在堆内存空在堆内存空间间中,中,对对象占用的空象占用的空间间通常很大。通常很大。Python程序程序12age1 = 2020-8-8age1 = 18192.4 对对象和象和对对象名象名间间的关系的关系总结总结谈谈及及对对象名象名时时,本,本质质是指是指对对象。象。例如例如谈谈及及age对对象(或者象(或者对对象象age)时时,本,本质质是指是指对对象名象名age所指向的所指向的对对象。象。Python程序程序12age = 18age = 2020-8-820上机实践上机实践上机上机实实践践1:认识认识保留字(也叫关保留字(也叫关键键字)字)上机上机实实践践2:理解:理解Python的内存的内存优优化机制化机制上机上机实实践践3:对对象名的管理象名的管理Note: 具体步骤具体步骤参看本书参看本书.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号