• xx: 公有变量
  • _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问
  • __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)
  • xx:双前后下划线,用户名字空间的魔法对象或属性。例如:init , __ 不要自己发明这样的名字
  • xx_:单后置下划线,用于避免与Python关键词的冲突
#coding=utf-8class Person(object):def __init__(self, name, age, taste):self.name = nameself._age = age self.__taste = tastedef showperson(self):print(self.name)print(self._age)print(self.__taste)def dowork(self):self._work()self.__away()def _work(self):print('my _work')def __away(self):print('my __away')class Student(Person):def construction(self, name, age, taste):self.name = nameself._age = age self.__taste = tastedef showstudent(self):print(self.name)print(self._age)print(self.__taste)@staticmethoddef testbug():_Bug.showbug()# 模块内可以访问,当from  cur_module import *时,不导入
class _Bug(object):@staticmethoddef showbug():print("showbug")s1 = Student('jack', 25, 'football')
s1.showperson()
print('*'*20)# 无法访问__taste,导致报错
# s1.showstudent()
s1.construction('rose', 30, 'basketball')
s1.showperson()
print('*'*20)s1.showstudent()
print('*'*20)Student.testbug()


总结:

  • 父类中属性名为__名字的,子类不继承,子类不能访问
  • 如果在子类中向__名字赋值,那么会在子类中定义的一个与父类相同名字的属性
  • _名的变量、函数、类在使用from xxx import *时都不会被导入

私有化(xx,_x,__xx,__xx__,xx_)相关推荐

  1. Python私有化与poperty方法

    1.私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突 ...

  2. python提高——类(私有化,封装、继承、多态)

    目录 1私有化 2import导入 import搜索路径 3封装 4继承 5多态 1私有化 xx: 公有变量 x: 单前置下划线,私有化属性或方法,from somemodule import *禁止 ...

  3. python语言的理解-Python动态语言理解

    1. 动态语言的定义 动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用.它是一类 在运行时可以改变其结构的语言 :例如新的函数.对象.甚至代码可以被引进,已有的函数可以被删 ...

  4. Python基础提高

    什么是GIL?GIL对多线程的影响 GIL全称Global Interpreter Lock(全局解释器锁).GIL和Python语言没有任何关系,只是因为历史原因导致在官方推荐的解释器Cpython ...

  5. Python全栈编程

    王铭东-知识库-it项目网 (itprojects.cn) (一)基础知识 一.变量 变量定义:是一个存储数据的容器. 变量特性: 1️⃣引用着某个具体数值: 2️⃣并且可以 改变这个引用. 变量由三 ...

  6. python为什么是蟒蛇_Python 为什么推荐蛇形命名法?

    关于变量的命名,这又是一个容易引发程序员论战的话题.如何命名才能更具有可读性.易写性与明义性呢?众说纷纭. 本期"Python为什么"栏目,我们将聚焦于变量命名中的连接方式,来切入 ...

  7. python的标志为什么是蛇_Python 为什么推荐蛇形命名法原因浅析

    关于变量的命名,这又是一个容易引发程序员论战的话题.如何命名才能更具有可读性.易写性与明义性呢?众说纷纭. 本期"Python为什么"栏目,我们将聚焦于变量命名中的连接方式,来切入 ...

  8. python驼峰命名法_蛇形命名,驼峰命名,你的选择?

    关于今天要讲的,小编想想还有点小激动.那就是关于变量的命名,这个一直都是容易引起程序员论战的话题.如何命名才更具可读性.易写性以及明义性? 程序命名常使用的是英文单词,当他们被作为变量名时,有全小写. ...

  9. 深入浅出python机器学习_7.1_支持向量机

    %matplotlib inline# 支持向量机SVM的核函数import numpy as npimport matplotlib.pyplot as pltfrom sklearn import ...

  10. PHP获取字符串的所有子集,PHP Regexp(PCRE)-查找所有子字符串的集合

    我有以下字符串,例如: aaXXccYYeeXX_ZZkkYYmmXX_ZZnnXXooYYuuXX_ZZvv 如何在字符串中找到所有XX.* YY.* ZZ部分? (可能通过使用preg_match ...

最新文章

  1. 通俗理解卡尔曼滤波及其算法实现(实例解析)
  2. 网站关键词优化如何控制其密度?
  3. 数据结构(五)堆排序
  4. Python编程基础17:构造方法和析构方法
  5. Apache创建虚拟目录绑定域名
  6. BAT会看上哪样的中小公司程序员? 1
  7. 弱电工程施工规划实施
  8. 少儿编程之Scratch入门汇总篇
  9. linux下检测USB的热插拨
  10. 基于易语言的键盘监听器(仅供学习)
  11. 问题解决“Windows Installer 程序包有问题,此安装需要的程序不能运行。请与您的支持人员或程序包开发商联系”
  12. Android 音视频开发(三) -- Camera2 实现预览、拍照功能
  13. Unity5场景应该如何烘焙?
  14. 机器人行走背后的机械原理动画,一文看透
  15. 魔兽世界任务制作教学,已经本人自己服务器中测试
  16. win10右下角声音符号红叉提示解决未安装任何音频输出设备
  17. java校园共享单车管理系统
  18. 给桌面装个会动的地球
  19. 有C++基础如何直接上手QT?
  20. 进销存仓库管理的意义

热门文章

  1. OK6410移植UBOOT
  2. 摄氏温度和华氏温度相互转换(及其概念)
  3. 简单一步解决网页内容无法复制
  4. 手机备份True NAS(FreeNAS)+​FolderSync​爬坑
  5. solaris 命令大全
  6. 支付宝第三方应用代调用API关系说明
  7. OPNsense用户手册-用户管理
  8. python参数类型为uint8,将图像数据类型从uint16转换为uint8
  9. BUUCTF:[WUSTCTF2020]girlfriend
  10. Python修改图片分辨率(附代码) | Python工具