热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python实例的成员方法地址_python类内部成员的访问及外部访问(入门)

classStudent():schoolxcxy#类属性__majorcomputer#类私有属性def__init__(self,name,age):#构造方法self

class Student():

school = "xcxy" # 类属性

__major = "computer" # 类私有属性

def __init__(self ,name, age): # 构造方法

self.name = name # 实例属性

self.__age = age # 实例私有属性

def match(self, score): # 实例方法

print(self.school) # 访问类属性 self.类属性名

print(Student.school) # 访问类属性 类名.类属性名

print(self.__major) # 访问类私有属性 self.类私有属性名

print(Student.__major) # 访问类私有属性 类名.类私有属性名

print(self.name) # 访问实例属性 self.实例属性名

print(self.__age) # 访问实例私有属性 self.实例私有属性名

def __fly(self,nnn): # 私有方法 外部访问只能是 对象._类名__私有方法名

print(nnn) # 其他和实例方法相同

@classmethod

def eat(cls,num): # 类方法

print(cls.school) # cls.类属性

print(Student.school) # 类名.类属性

print(cls.__major) # cls.类私有属性

print(Student.__major) # 类名.类私有属性

@staticmethod

def run(numm):

print(Student.school) # 类名.类属性

print(Student.__major) # 类名._ _私有类属性

stu = Student("hjh",24) # 实例化对象

类属性 类私有属性

以下称为外部

对类属性访问

print(stu.school) # 对象.类属性名 xcxy

print(Student.school) # 类名.类属性名 xcxy

对类属性修改

stu.school = "qhdx" # 对象. 类属性名 = "qhdx"

print(stu.school)

Student.school = "bjdx" # 类名. 类属性名 = "bjdx"

print(Student.school)

对类私有属性的访问

print(stu._Student__major) # 对象._类名__私有属性名 computer

print(Student._Student__major) # 类名._类名__私有属性名 computer

对类私有属性的修改

stu._Student__major = "jixie" # 对象._类名__私有属性名 = "jixie"

print(stu._Student__major)

Student._Student__major = "dianqi" # 类名._类名__私有属性名 = "dianqi"

print(Student._Student__major)

对实例属性访问

print(stu.name) # 对象.实例属性名

对实例属性修改

stu.name = "hsf" # 对象.实例属性名 = "hsf"

print(stu.name)

对实例私有属性访问

print(stu._Student__age) # 对象.实例属性名

对实例私有属性修改

stu._Student__age = 20 # 对象._类名__实例属性名 = "hsf"

print(stu._Student__age)

外部调用实例方法

stu.match(300) # 对象.方法名(参数列表) 不能使用 类名.实例方法名 的方式调用

外部调用私有方法

stu._Student__fly(500)

调用类方法

Student.eat(200) # 类名.类方法名([实参列表])

stu.eat(200) # 对象.类方法名([实参列表])

调用静态方法

Student.run(800) # 类名.静态方法名([实参列表])

stu.run(800) # 对象.静态方法名([实参列表])



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文深入探讨了Python中的高阶函数和Lambda表达式的使用方法,结合实际案例解析其应用场景,帮助开发者更好地理解和运用这些强大的工具。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 华为USG基于源地址的多出口策略路由配置
    网络拓扑如下:组网情况:企业用户主要有技术部(VLAN10)和行政部(VLAN20),通过汇聚交换机连接到USG。企业分别通过两个不同运营商(ISP1和ISP2)连接到 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
  • 本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
author-avatar
RealMadrid
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有