详解python变量的命名和使用

 更新时间:2023年12月10日 10:27:23   作者:听海边涛声  
变量名只能包含字母、数字和下划线,本文主要介绍了详解python变量的命名和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

变量名只能包含字母、数字和下划线

变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。例如,可将变量命名为message_1,但不能将其命名为1_message。

Python 语言中,以下划线开头的标识符有特殊含义

在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定义中,用下划线作为变量前缀和后缀来表示类的特殊成员。

以单下划线开头

说明

_xx:这样的对象叫做保护变量,不能用’from module import *'导入。
_xx 以单个下划线开头命名的方法或者变量,就是说明它是仅提供内部使用的。

举例1:模块访问举例

首先在demo1.py中定义了两个函数,一个以下划线开头,另外一个不以下划线开头:

def my_fun():
    print('hello my_fun()')
    
def _my_fun():
    print('hello _my_fun()')

然后在另外一个模块demo2.py中访问这两个函数:

from demo1 import *

my_fun()
_my_fun

运行输出:

在这里插入图片描述

可以看到,不以单下划线开头的函数my_fun可以正常访问;而以单下划线开头的_my_fun函数访问出错,提醒没有定义。

举例2:类访问举例

在类A中定义了以单下划线开头的成员变量_num,类Aa继承了A类:

class A():
    def __init__(self):
        self._num = 1
        self._age = 12
        
    def afun(self):
        print(self._age)
        
class Aa(A):
    def __init__(self):
        super().__init__()
        
a = A()
aa = Aa()
print("在父类中访问_num变量:", a._num)
print("在子类中访问_num变量:", aa._num)

运行输出:

在这里插入图片描述

可以发现,通过父类、子类可以访问以单下划线开头的成员变量_num。

以双下划线开头

说明

以双下划线开头的标识符(如__add)表示类的私有成员。
__xxx:类中的私有成员,只有类对象自己的函数中能访问。

举例:类对象通过函数可以访问自身类中双下划线开头的成员变量

在类A中定义了以双下划线开头的变量__age:

class A():
    def __init__(self):  
        self.__age = 12
        
    def afun(self):
        # 在类本身的函数中访问双下划线开头的变量
        print(self.__age)
        
class Aa(A):
    def __init__(self):
        super().__init__()
        
a = A()
aa = Aa()
# 类对象本身调用自己的函数
a.afun()

运行输出:

在这里插入图片描述

举例:子类对象调用父类的函数可以访问父类双下划线开头的成员变量

在类A中定义了以双下划线开头的变量__age:

class A():
    def __init__(self):  
        self.__age = 12
        
    def afun(self):
        # 在类本身的函数中访问双下划线开头的变量
        print(self.__age)
        
class Aa(A):
    def __init__(self):
        super().__init__()
        
a = A()
aa = Aa()
# 子类对象调用父类的函数
aa.afun()

运行输出:

在这里插入图片描述

举例:类对象本身也无法直接访问自己类定义的双下划线开头的成员变量

在类A中定义了以双下划线开头的变量__age:

class A():
    def __init__(self):  
        self.__age = 12
        
    def afun(self):
        # 在类本身的函数中访问双下划线开头的变量
        print(self.__age)
        
class Aa(A):
    def __init__(self):
        super().__init__()
        
a = A()
# aa = Aa()
a.__age

运行输出:

在这里插入图片描述

以双下划线开头、双下划线结尾

以双下划线作为开头和结尾的标识符(如 init),是专用标识符。
以双下划线开头,双下划线结尾的对象,Python内置属性名或者魔法方法名。是Python自己实现的属性和方法,一般不允许自定义类似此种命名方式的属性或者方法。

变量名不能包含空格

变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。

不要将Python关键字和函数名用作变量名

不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。

变量名应既简短又具有描述性

变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。

慎用小写字母l和大写字母O

慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

备注:就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。

到此这篇关于详解python变量的命名和使用的文章就介绍到这了,更多相关python变量命名和使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python中类的定义与使用

    详解Python中类的定义与使用

    本篇文章主要介绍了详解Python中类的定义与使用,介绍了什么叫做类和如何使用,具有一定的参考价值,想要学习Python的同学可以了解一下。
    2017-04-04
  • Tensorflow实现AlexNet卷积神经网络及运算时间评测

    Tensorflow实现AlexNet卷积神经网络及运算时间评测

    这篇文章主要为大家详细介绍了Tensorflow实现AlexNet卷积神经网络及运算时间评测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • PyCharm 配置远程python解释器和在本地修改服务器代码

    PyCharm 配置远程python解释器和在本地修改服务器代码

    这篇文章主要介绍了PyCharm 配置远程python解释器和在本地修改服务器代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 如何使用python写截屏小工具

    如何使用python写截屏小工具

    这篇文章主要介绍了如何使用python写截屏小工具,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python过滤序列元素的方法

    Python过滤序列元素的方法

    这篇文章主要介绍了Python过滤序列元素的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Python中Selenium模拟JQuery滑动解锁实例

    Python中Selenium模拟JQuery滑动解锁实例

    这篇文章主要介绍了Python中Selenium模拟JQuery滑动解锁实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • python实现简单贪吃蛇小游戏

    python实现简单贪吃蛇小游戏

    这篇文章主要为大家详细介绍了python实现简单贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Python文件操作和异常处理的方法和技巧

    Python文件操作和异常处理的方法和技巧

    本文介绍了Python文件操作和异常处理的方法和技巧,包括读写文本文件、读写二进制文件、文件指针、异常类型和处理、try-except语句、异常处理程序等内容,帮助读者更好地掌握Python在文件操作和异常处理方面的应用
    2023-05-05
  • Python机器学习NLP自然语言处理基本操作新闻分类

    Python机器学习NLP自然语言处理基本操作新闻分类

    本文是Python机器学习NLP自然语言处理系列文章,开始我们自然语言处理 (NLP) 的学习旅程. 本文主要学习NLP自然语言处理基本操作新闻分类
    2021-09-09
  • 实例讲解Python中浮点型的基本内容

    实例讲解Python中浮点型的基本内容

    在本文里小编给大家整理了关于Python中浮点型的基本知识点内容,有兴趣的朋友们学习下。
    2019-02-02

最新评论