Python类的访问限制
2024-08-26 21:18:09
使用两个_将变量设置为private,访问变量可定义get方法,对变量值修改可定义set方法,修改变量值的时候可检查参数的有效性。
class Student(object):
#定义一个Student类,
def __init__(self, name, score,age,gender):
self.__name = name
self.__score = score
self.__age = age
self.__gender = gender
#使用两个_对变量进行私有化,其实例对象不可直接调用变量
def get_name(self):
return self.__name
def get_grade(self):
return self.__grade
def get_age(self):
return self.__age
def get_gender(self):
return self.__gender
#定义类方法get获取name、grade、age
def set_name(self,name):
self.__name = name
def set_score(self,score):
self.__score = score
def set_age(self,age):
self.__age = age
def set_gender(self,gender):
if gender == 'man':
self.__gender = gender
elif gender == 'girl':
self.__gender = gender
else:
print('gender,参数提供错误,请重新修改')
#定义类方法set,更改变量值
st1 = Student('lingyummu',67,25,'boy')
#创建一个Student类对象st1
print(st1.get_name(),st1.get_gender())
#使用get方法获取变量值
st1.set_name('zhangsan')
#使用set方法修改变量值
print(st1.get_name())
st1.set_gender('boy')
print(st1.get_gender())
读书和健身总有一个在路上
最新文章
- JS中,!=, !== 和 !的区别和使用场景
- mysql 查询行号
- Bjarne Stroustrup对C++程序员的忠告
- DataGridView的按钮列的点击事件
- [SQLServer]学习总结笔记(基本涵盖Sql的所有操作)
- Flume NG中的Netcat Source
- Xcode7之后常见问题整理-b
- linux的sudo apt-get install 和dpkg -i <;package.deb>;命令
- 对163k地方门户网站系统QQ互联功能修改
- .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别
- Ansible剧本介绍及使用演示(week5_day2)--技术流ken
- Linux 学习 (二) 文件处理命令
- java多线程与线程间通信
- parent.relativePath&#39; points at wrong local POM
- SNMP学习笔记之SNMP的安装及Python的调用
- Linux下软件包安装
- 浅析js中取绝对值的2种方法
- 转载:【架构师之路】依赖注入原理---IoC框架
- web接口测试中需要测试的几个点
- CVE-2013-1347Microsoft Internet Explorer 8 远程执行代码漏洞
热门文章
- window.location.href在微信端不起作用的解决方法?
- BDD本质及与ATDD区别
- 卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)
- 目标检测标注工具labelImg安装及使用
- Mac OS 安装 MySQL5.7
- C#nameof用法
- 宣化上人:大佛顶首楞严经四种清净明诲浅释(6-7)(转自学佛网:http://www.xuefo.net/nr/article23/230700.html)
- Sql server with as update用法
- Jackson解析自定义json到实体类
- LeetCode_202. Happy Number