热门标签 | 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) # 对象.静态方法名([实参列表])



推荐阅读
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文深入探讨了Python中的高阶函数和Lambda表达式的使用方法,结合实际案例解析其应用场景,帮助开发者更好地理解和运用这些强大的工具。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 华为USG基于源地址的多出口策略路由配置
    网络拓扑如下:组网情况:企业用户主要有技术部(VLAN10)和行政部(VLAN20),通过汇聚交换机连接到USG。企业分别通过两个不同运营商(ISP1和ISP2)连接到 ... [详细]
  • 本文介绍如何使用 Python 将一个字符串按照指定的行和元素分隔符进行两次拆分,最终将字符串转换为矩阵形式。通过两种不同的方法实现这一功能:一种是使用循环与 split() 方法,另一种是利用列表推导式。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
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社区 版权所有