ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

B3_Python中下划线详解

2021-09-29 18:01:56  阅读:190  来源: 互联网

标签:前缀 Python 后缀 B3 var 变量 下划线


文章目录

1. 单下划线前缀 _var

  1. 单下划线前缀的变量,在Python中是一种约定或者是提示,它表示这个变量只能或者方法
    只能再内部使用.尽量不要在外部使用,不像其他的强类型的语言,在外部是不可访问的.
  2. 单下划线的变量在使用通配符导入(from module import *)的时候是不可见的.
  • 单下划线前缀变量在外部依旧可以访问

  • 单下划线变量,在使用 from module import *的时候是不可见的.但是常规的导入就是可以的

    首先是创建一个模块,名称为module_simple,代码内容如下:

    val = "我是常规变量"  # 常规变量1
    _val = "我是带前导下划线的变量"  # 带前缀的变量2
    
    
    def normal_function():
        print("我是一个常规的函数")
    
    
    def _inner_func():
        print("我是一个带前导下划线的内部函数")
    
  • 通配符导入的时候无法访问单下划线开始的对象

  • 如果是常规导入模块的方式,可以访问单下划线开头的对象

    单下划线开头的变量只是一个Python的命名约定,表示这个名称是在内部使用.它通常不由Python
    解释器强制执行,只是作为对程序员的约束和提示

2. 单下划线后缀 var_

单下划线后缀没有实际的意义,就是给变量加一个下划线,避免和一些Python内置的关键字重复
或者避免跟已经存在的变量重复. 想类似str,int,class,def,for这样的关键字不能作为对象名称
可以加一个单下划线来解决 str_,int_,class_,def_,for_
单下划线没有实际的意义,就是用来解决变量名的冲突而产生的,一般很少使用

3. 双下划线前缀 __var

  1. 双下线开头的对象,会被认为是一个类的私有的对象,不能在外部直接访问
  2. 这个私有,是相对的,它只是被换了一个名称被保存了起来
  3. 双下划线开始的变量会被变成类的属性 _Class__var,其中_Class称为名称修饰符

在这里插入图片描述

这样做的目的是什么呢,就是防止外部直接使用,防止继承的子类直接使用进行修改,但是也不能完全的防止这个事情,因为它还是可以通过_Class__val的方式访问的

4. 双下划线前缀后缀皆有

如果一个变量名称,以双下划线开头并且以双下划线结尾,这个变量一般是Python内部的变量
Python解释器遇到这种变量的时候会做特殊的调用处理
这种变量可以直接访问,但是不建议我们自定义的使用使用,避免和Python的内置变量冲突

5. 单独的一个单下划线

  1. 单独的一个下划线_可以当成一个名字,用来表示某个临时的或者无关紧要的变量.
  2. 可以在拆分变量的时候,用_来占位那些你不要的变量,可以忽略掉.*_可以忽略多个变量

在这里插入图片描述

标签:前缀,Python,后缀,B3,var,变量,下划线
来源: https://blog.csdn.net/Fioman_GYM/article/details/120545389

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有