python编程基础知识python编程基础及应用高等教育出版社课后答案
下载地址 https://share.weiyun.com/oKXAf8Zh
资料目录 Python编程基础教学视频 51CTO学院(60集) python编程基础教学视频 乾颐盾系列 Python编程基础 张健 张良均 人民邮电出版社.pdf Phthon编程金典.pdf Python 编程指南.pdf 《Python 编程基础》 教学大纲.pdf 《Python编程入门指南(上下册)》 明日科技.pdf 《小小的Python编程故事》毛雪涛,丁毓峰编著.pdf Python编程初学者指南.pdf Python编程入门经典.pdf 树莓派Python编程入门与实战 第2版.pdf Python编程实战__运用设计模式、并发和程序库创建高质量程序.pdf 《Python编程基础》复习资料.pdf Python编程基础与应用-题库大全.doc Python编程基础张健 , 张良均课后习题及答案.pdf Python程序设计基础及实践(慕课版)郭炜习题答案.pdf 《Python程序设计基础与应用》习题答案.pdf 《Python快速编程入门》——课后题答案.doc Python程序设计基础习题答案与分析.doc python基础试题(含答案).doc Python考试题复习知识点试卷试题.doc Python编程基础.pptx 《Python编程之美:最佳实践指南》by Kenneth Reitz.pdf 《Python编程基础与HTTP接口测试》阿奎 编著.pdf Python编程 从入门到实践 by Eric Matthes.pdf Python编程导论第2版_2018 翻译 陈光欣.pdf Python编程快速上手—让繁琐工作自动化_[美] Al Sweigart 著.pdf 趣学python编程中文版.pdf 举例 访问限制 在类的内部可以定义属性和方法,而在类的外部则可以直接调用属性或方法来操作数据,从而隐藏了类内部的复杂逻辑。但是 Python 并没有对属性和方法的访问权限进行限制。为了保证类内部的某些属性或方法不被外部所访问,可以在属性或方法名前面添加单下画线(_foo)、双下画线(__foo)或首尾加双下画线(__foo__),从而限制访问权限。其中,首尾双下画线、单下画线和双下画线的作用如下。 __foo__:首尾双下画线表示定义特殊方法,一般是系统定义名字,如__init__()。 _foo:以单下画线开头的表示 protected(保护)类型的成员,只允许类本身和子类进行访问,但不能使用“from module import *”语句导入。 例如,创建一个 Swan 类,定义保护属性_neck_swan,并在__init__()方法中访问该属性,然后创建 Swan 类的实例,并通过实例名输出保护属性_neck_swan,代码如下: 01 class Swan: 02 '''天鹅类''' 03 _neck_swan = '天鹅的脖子很长' # 定义私有属性 04 def __init__(self): 05 print("__init__():", Swan._neck_swan) # 在实例方法中访问私有属性 06 swan = Swan() # 创建 Swan 类的实例 07 print("直接访问:" , swan._neck_swan) # 保护属性可以通过实例名访问 执行上面的代码,将显示以下内容: __init__(): 天鹅的脖子很长 直接访问: 天鹅的脖子很长 从上面的运行结果中可以看出,保护属性可以通过实例名访问。 __foo:双下画线表示 private(私有)类型的成员,只允许定义该方法的类本身进行访问,而且也不能通过类的实例进行访问,但是可以通过“类的实例名.类名__xxx”方式访问。 例如,创建一个 Swan 类,定义私有属性__neck_swan,并在__init__()方法中访问该属性,然后创建 Swan 类的实例,并通过实例名输出私有属性__neck_swan,代码如下: 01 class Swan: 02 '''天鹅类''' 03 __neck_swan = '天鹅的脖子很长' # 定义私有属性 04 def __init__(self): 05 print("__init__():", Swan.__neck_swan) # 在实例方法中访问私有属性 06 swan = Swan() # 创建 Swan 类的实例 07 # 私有属性,可以通过“实例名.类名__xxx”方式访问 08 print("加入类名:" , swan._Swan__neck_swan) 09 print("直接访问:" , swan.__neck_swan) # 私有属性不能通过实例名访问,出错执行上面的代码后,将输出如图 9.4 所示的结果。 图 9.4 访问私有属性 从上面的运行结果中可以看出:私有属性可以通过类名.属性名访问,也可以通过“实例名.类名__xxx”方式访问,但是不能直接通过实例名.属性名访问。
|