python中单下划线(_)和双下划线(__)的特殊用法
作者:BRYANT_2019 发布时间:2022-08-09 22:23:22
标签:python,单下划线,下划线
函数使用单下划线_开头
使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入。
但可以用:from module import _func形式单独导入。
类属性和类方法使用单下划线_开头
_开头为保护类型的属性和方法,仅允许类内部和子类访问,类实例无法访问此属性和方法。
类属性和类方法使用双下划线__开头
__开头为私有类型属性和方法,仅允许类内部访问,类实例和派生类均不能访问此属性和方法。
所以双划线比单划线权限更严格。
补充说明
对于__开头的属性和方法如果派生类一定要访问,使用单下划线+基类名+双下划线开头的属性和方法的形式,
且双下划线开头的属性和方法后面最多只能以一个单下划线结束,否则也无法访问。
class BaseCls:
def __init__(self, name, age, nick_name):
self.name = name
self.__nick_name_ = nick_name # __nick_name后面最多以一个_结束,否则通过基类名混淆的方式也无法访问了。
self.age = age
class SubCls(BaseCls):
def __init__(self, name, age, addr, nick_name):
super().__init__(name, age, nick_name)
self.addr = addr
self.a_nick_name = self._BaseCls__nick_name_
总结
以上所述是小编给大家介绍的python中单下划线(_)和双下划线(__)的特殊用法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/bryant24/archive/2019/08/29/11429653.html


猜你喜欢
- 本文实例讲述了Python调用C语言的方法。分享给大家供大家参考,具体如下:Python中的ctypes模块可能是Python调用C方法中最
- 本篇博客参考Keqi Zhang的文章“A Progressive Morphological Filter for Removing No
- Python中的变量作用域一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。全局变量所有作用域都可用,局部变量只能在本
- 今天去辛集买箱包,下午挺晚才回来,又是恶心又是头痛。恶心是因为早上吃坏东西+晕车+回来时看到车祸现场,头痛大概是烈日和空调混合刺激而成。没有
- 获取表字段:select * from user_tab_columns where Table_Name='用户表' or
- 1.前言 &n
- 基于python的Appium进行b站直播消费记录爬取之前看文章说fiddler也可以进行爬取,但尝试了一下没成功,这次选择appium进行
- 一、类和对象Python属于动态类型的语言,而动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时创建的,而是运行时动态创建的,比方
- 这个concatenate用于将矩阵合并,他将沿着已经存在的轴合并一个矩阵,相关参数有(a1, a2, ...), axis=0, out=
- 本文实例讲述了Python实现正弦信号的时域波形和频谱图。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-#
- Python爬虫为什么受欢迎如果你仔细观察,就不难发现,懂爬虫、学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 P
- 一:绑定方法:其特点是调用方本身自动作为第一个参数传入1.绑定到对象的方法:调用方是一个对象,该对象自动传入2.方法绑定到类:调用方是类,类
- 以下实验是我在百度公司实习的时候做的,记录下来留个小经验。多GPU训练cifar10_97.23 使用 run.sh 文件开始训练cifar
- 功能很简单,代码也很简洁,这里就不多废话了。package mainimport ( "fmt
- 一、主线程会等待所有的子线程结束后才结束首先我看下最普通情况下,主线程和子线程的情况。import threadingfrom time i
- 404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士
- 昨晚写代码的时候,一不小心把某个代码文件误删了。。。赶紧上网找了一下pycharm如何恢复误删文件,结果还真有。经过操作,成功恢复了误删文件
- 很多小伙伴都不会在家里或者办公室安装网络摄像头或监视摄像头。但是有时,大家又希望能够随时随地观看视频直播。大多数人会选择使用IP摄像机(In
- range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生
- 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法?方法一:基于Scrapy框架中的Spider的递归爬去进行实现