参考链接: 在Python中更改类成员

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类内部成员的访问及外部访问(入门)相关推荐

  1. python类的成员没有访问控制限制_Python 访问限制 private public的详细介绍

    一.知识点 在一个模块中,我们可能会定义很多函数和变量.但有的函数和变量我们希望能给别人使用,有的函数和变量我们希望仅仅在模块内部使用,so? 我们可以通过定义该函数.变量是公开的还是私有的来达到该目 ...

  2. python类中成员的的调用

    python类中成员的调用 python类中的方法到底到底是方法还是函数取绝于调用者, 当类名调用这个方法时他是一个函数 class Foo(object):def f1(self):print(&q ...

  3. Python类的成员

    类的成员 类的内置成员 code:_10class_buildin_member.py # ****************************************************** ...

  4. python类的成员函数_Python实现动态添加类的属性或成员函数的解决方法

    某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法.用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块. 本文就此简述了Python实现动态添加类的属性或 ...

  5. [转载] Python类属性、类方法和静态方法

    参考链接: Python中的类和实例属性 Python类属性.类方法和静态方法 在Python中,一切皆对象.通过类创建出来的对象是实例对象,类本身也是对象,称为类对象. 一.类属性 对象都有属性,我 ...

  6. C++57个入门知识点_40 常成员函数(用于定义不可修改类内部成员变量的函数,一般用来修饰Get函数;常成员函数this指针:const T* const;常成员函数内部变量修改方法:强转/关键字)

    前面我们已经学习了C++中重要的知识点,特别是虚函数可能会有些懵逼,但是需要我们在实践中不断的理解和尝试,写代码是进步最快的方式,接下来将会介绍一些简单但很重要的知识点,本篇介绍常成员函数. 总结: ...

  7. C++编程进阶4(C++中的强制类型转换运算符、不要返回自定义类内部成员的指针,引用和迭代器)

    十五.C++中的强制类型转换 C语言中的强制类型转换方式有两种 T i = (T)exp; T i = T(exp); 这两种方式没有差别,C++中也支持这两种方式,但是和C++中的强制类型转换运算符 ...

  8. python类的成员函数_注入一个python类成员函数

    你在这里要做的是Child2.foo用self不是a的方法调用未绑定的方法Child2. 这是非法的,Python 2将检测到并提出一个TypeError解释错误的地方:TypeError: unbo ...

  9. python类内部方法调用_python如何调用类中的方法

    调用同一个类中的方法 首先类中的方法在定义的时候需要先加参数self,例如:def SaveData(self,ip): print(ip)如果无self参数则不能在同一个类中调用(之前一直在这里犯错 ...

最新文章

  1. Spring MVC中数据绑定流程和原理
  2. linux 安装swoole
  3. c语言字符数组与字符串的使用详解
  4. Machine Learning笔记(三) 多变量线性回归
  5. PDF怎么在线合并为一个文件
  6. html音乐播放器怎么有黑边框,播放不能满屏有黑边怎么办,怎么剪切视频黑边,剪切黑边...
  7. ssm水电费管理系统java
  8. 查看php是否支持sg11,云虚拟主机支持SG11扩展
  9. 数学建模——使用matlab神经网络工具箱训练和预测
  10. 2020年IT技术的发展趋势!
  11. 修改Win10右键菜单
  12. 视网膜屏幕和高清视网膜屏幕
  13. 【图文并茂】一文讲透Dubbo负载均衡之最小活跃数算法
  14. 如何利用STM32和迪文串口屏以及WIFI模组进行数据交互
  15. Xiaojie雷达之路---DPM External Functions详解
  16. 什么是商业智能 (BI) 仪表板?
  17. CSS 中的 background 背景属性命令大全
  18. 9 年小厂老前端的年终总结(90 后,12 年毕业,工作 9 年,发过传单,做过运营)
  19. leaflet 在移动端地图显示不清晰的解决方法
  20. ubuntu的cuda10和cuda11共存

热门文章

  1. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海),签到题G Fibonacci
  2. 【超链接】多媒体工具网站
  3. java 包装类缺点_Java 自动拆箱和自动装箱学习笔记
  4. 2020-09-02 微机原理与接口课程复习题
  5. 2018 Multi-University Training Contest 1
  6. 杭州哪里学python好_杭州哪里学python好
  7. dns提供商主机名_DNS域名解析的过程
  8. 2019蓝桥杯C++B组 年号字串;完全二叉树的权值
  9. bzoj 2351: [BeiJing2011]Matrix(二维Hash)
  10. 块状树(bzoj 3720: Gty的妹子树)