使用两个_将变量设置为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())

读书和健身总有一个在路上

最新文章

  1. JS中,!=, !== 和 !的区别和使用场景
  2. mysql 查询行号
  3. Bjarne Stroustrup对C++程序员的忠告
  4. DataGridView的按钮列的点击事件
  5. [SQLServer]学习总结笔记(基本涵盖Sql的所有操作)
  6. Flume NG中的Netcat Source
  7. Xcode7之后常见问题整理-b
  8. linux的sudo apt-get install 和dpkg -i <package.deb>命令
  9. 对163k地方门户网站系统QQ互联功能修改
  10. .NET、C#和ASP.NET、ASP.NET MVC四者之间的区别
  11. Ansible剧本介绍及使用演示(week5_day2)--技术流ken
  12. Linux 学习 (二) 文件处理命令
  13. java多线程与线程间通信
  14. parent.relativePath' points at wrong local POM
  15. SNMP学习笔记之SNMP的安装及Python的调用
  16. Linux下软件包安装
  17. 浅析js中取绝对值的2种方法
  18. 转载:【架构师之路】依赖注入原理---IoC框架
  19. web接口测试中需要测试的几个点
  20. CVE-2013-1347Microsoft Internet Explorer 8 远程执行代码漏洞

热门文章

  1. window.location.href在微信端不起作用的解决方法?
  2. BDD本质及与ATDD区别
  3. 卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)
  4. 目标检测标注工具labelImg安装及使用
  5. Mac OS 安装 MySQL5.7
  6. C#nameof用法
  7. 宣化上人:大佛顶首楞严经四种清净明诲浅释(6-7)(转自学佛网:http://www.xuefo.net/nr/article23/230700.html)
  8. Sql server with as update用法
  9. Jackson解析自定义json到实体类
  10. LeetCode_202. Happy Number