Python中没有像C++中public和private这些关键字来区别公有属性和私有属性。它是以属性命名方式来区分,如果在属性名前面加了2个下划线'__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。

class Plane(object):

def __init__(self):

self.mA = 100

self.mB = 200

self.__mC = 300

p  = Plane()

但是类的方法可以封装__私有属性,如下可以通过Student.get_name访问self.__name

class Student(object): # 类名的括号里写继承的类,如果没有则写object,这是所有类都要继承的类

school = '清华大学' # 直接在类中定义的属性为类属性,归Student类所有,所有实例都可以访问到,但是与java的静态变量不同,如果一个实例改变了school的值,那么这个新值就生效,且只对这一个实例生效

def __init__(self, name, score): # 只要是class中定义的函数,第一个参数都要写self,并且调用时第一个参数都不必传                                     # init 是特殊函数,在创建类时会调用,相当于java的构造函数        self.__name = name # 可以直接self.新的变量名,注意,两个下划线开头的变量名为私有变量,不允许外部访问,但可以通过get和set方法访问和赋值        self.__score = score # 以两个下划线开头且以两个下划线结尾的变量为特殊变量,特殊变量不是私有变量,允许外部访问,因此起变量名时不要起成这种特殊变量的格式

def get_name(self):        return self.__name

def get_score(self):        return self.__score

def set_score(self, score):        if 0 <= score <= 100:            self.__score = score        else:            raise ValueError('bad score') # 手动抛出异常

def get_grade(self):        if self.__score >= 90:            return 'A'        elif self.__score >= 60:            return 'B'        else:            return 'C'

java代码下划线是啥意思_java类名加下划线相关推荐

  1. java 下划线转驼峰命名_Java驼峰命名 下划线命名 互转

    使用场景 sql字段转为java字段,直接从数据库通过sql语句 取出来的数据都是数据库字段,如果需要反射实例化对象 则需要把从下划线命名转为驼峰命名. /*** * 下划线命名转为驼峰命名 * * ...

  2. java代码如何写正则汉字规则_JAVA 正则表达式、汉字正则、 java正则代码

    1. 只有字母.数字和下划线且不能以下划线开头和结尾的正则表达式:^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$ 只有字母和数字的: ^[a-zA-Z0-9_]+$ 2. 至少一个汉字.数 ...

  3. java实现英文文件单词搜索系统_java对于目录下文件的单词查找操作代码实现

    这篇文章主要介绍了java对于目录下文件的单词查找操作代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写入文件的目录.代码通过找目录下的文件 ...

  4. java代码没错却运行不了_Java代码没错误,tomcat能正常运行,但是我的项目主页却一直显示不了,显示404错误...

    重新在别人的电抄脑上配置一次环境变量bai 配置环境变量 点击du计算机->高级系zhi统设置->环境变量dao-> 在第一个中新建一个 变量:classpath 值:.;(记住是分 ...

  5. java代码限制短信发送次数_java如何实现发短息限制日发送次数代码

    1.数据表结构 因为需要记录整天的发送记录,所以在此把数据保存到数据库中. 数据表结构如下图所示: type为验证码的类型,例如注册.重置密码等,sendTime的默认值为当前时间. 2.限制日发送次 ...

  6. Java代码示例: 使用reflections工具类获取某接口下所有的实现类

    pom依赖 <dependency><groupId>org.reflections</groupId><artifactId>reflections& ...

  7. java代码ftp重命名未生效_java使用apache commons连接ftp修改ftp文件名失败原因

    今天被ftp上中文名修改坑了好久 项目用的是 apache commons 里的 FtpClient 实现的对ftp文件的上传下载操作,今天增加了业务要修改ftp上的文件名,然后就一直的报错,问题是它 ...

  8. java代码ftp重命名未生效_java实现FTP远程文件移动(重命名、复制、拷贝) | 学步园...

    首先就标题说明一点,java使用org.apache.commons.net.ftp.ftpclient包来操作FTP是很爽滴,但对远程文件操作,好像没有实现 复制文件的方法.我用的是文件移动(mov ...

  9. java 代码段 执行超时 抛异常_Java 并发队列详解TransferQueue、BlockingQueue、BlockingDeque

    阻塞队列 BlockingQueue java.util.concurrent 包里的 BlockingQueue 接口表示一个线程安放入和提取实例的队列. BlockingQueue 用法 Bloc ...

  10. java代码中哪些不能犯的错误_Java程序员工作中千万不能犯的3个低级错误

    常在河边走,哪有不湿鞋.Java工程师也是人,他们也会犯错误.但是千锋广州小编提醒大家有三个错误是万万不能犯的!工作中犯了这三个错误,今年的加薪就和你say goodbye了!快看看自己是不是中枪了. ...

最新文章

  1. 机器学习工业复现的 12 个要素!
  2. 来晚了--SALTSTACK要弄起
  3. 人脸识别中的rank-n
  4. 我看360与酷派的“爱情”之争
  5. 信息系统项目管理师:第1章:信息化与信息系统(3)-重点汇总
  6. cls certificate.php,php加密解密处理类
  7. 如何使用Docker Swarm管理更多容器
  8. c语言单向链表经典,C语言基础 - 实现单向链表
  9. numpy random 模块
  10. 搭建subversion 服务器,并自动部署项目
  11. android 按钮事件添加事件吗,android为按钮添加事件的三种方法
  12. int 转string
  13. C++中异常处理中的构造和析构
  14. 你真的会用Context么?
  15. 网络安全——社会工程学02
  16. Language Models are Unsupervised Multitask Learners翻译
  17. Java Logging之JUL系列——Log Levels
  18. 快学会这个技能-.NET API拦截技法
  19. java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader
  20. 2021最全大数据学习路线(建议收藏)

热门文章

  1. 移动硬盘打不开(不用格式化)修复方法
  2. 显卡XP驱动 Win7驱动 NVIDIA GT520M GT525M GT540M
  3. 制作网页所需的一些简单ps技巧
  4. 一年级下册计算机教学计划,最新人教版一年级下册教学计划
  5. 总结几款国内外在线的神级抠图工具
  6. mysql修改字段的名称类型_MySQL修改字段名和字段数据类型
  7. 中超16强内援转会更新 陕西重金打造中国银河战舰
  8. 解决许可证的相关问题
  9. c语言 计算华氏温度
  10. 二手车数据挖掘- 数据分析