`

用python定义常量类

 
阅读更多
常量是指一旦初始化后就不能修改的固定值。c++中使用const保留字指定常量,而python并没有定义常量的保留字。但是python是一门功能强大的语言,可以自己定义一个常量类来实现常量的功能。

# -*- coding: UTF-8 -*-
# Filename: const.py
# 定义一个常量类实现常量的功能
#
# 该类定义了一个方法__setattr()__,和一个异常ConstError, ConstError类继承
# 自类TypeError. 通过调用类自带的字典__dict__, 判断定义的常量是否包含在字典
# 中。如果字典中包含此变量,将抛出异常,否则,给新创建的常量赋值。
# 最后两行代码的作用是把const类注册到sys.modules这个全局字典中。
class _const:
    class ConstError(TypeError):pass
    def __setattr__(self, name, value):
        if self.__dict__.has_key(name):
            raise self.ConstError, "Can't rebind const (%s)" %name
        self.__dict__[name]=value
import sys
sys.modules[__name__] = _const()

    这样就完成了一个常量类的定义,我们可以在use_const.py中调用const类。

import const
const.magic = 23
const.magic = 33

    运行之后,python解释器会提示错误:

const.ConstError: can't rebind const(magic)
分享到:
评论

相关推荐

    在Python中定义一个常量的方法

    Python本身并没有提供直接定义常量的关键字或语法结构,但可以通过一些技巧来模拟实现常量的行为。这里我们将探讨如何在Python中定义一个常量,并了解`property`装饰器的作用。 首先,Python中没有像Java或C++那样...

    Python程序设计:Python常量和变量.pptx

    通过这个NBA球星信息查询任务,你可以学习到如何运用这些知识去查询和处理数据,比如使用变量存储球星信息,用字符串表示球员名字,用列表存储球员的得分记录,用字典存储球员的统计数据,甚至可以使用集合来找出...

    python枚举实现

    一个方便python定义常量、显示常量标题的类

    Python的变量、常量、注释

    接下来是常量的概念,在Python中没有像其他一些编程语言中那样提供真正的常量类型,但可以通过约定俗成的方式来定义常量,即使用大写字母来表示该变量值不会改变。例如,定义一个常量AGE并赋予初值18。实际上,常量...

    深入理解Python变量与常量

    Python中的变量不需要声明,变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建都包括变量的标识、名称、和数据这些信息。  Python中一次新的赋值,将创建一个新的变量。即使变量的名称相同,变量的...

    学学Python_42类的成员01 构造函数

    在Python编程语言中,类是创建对象的蓝图,它定义了一组特性和行为。当我们谈论“构造函数”时,我们通常指的是一个特殊的方法,当一个类的实例被创建时自动调用。在Python中,构造函数被称为`__init__`方法。这个...

    python读取C语言头文件,参考博客,有测试记录、使用说明

    在这个场景下,可能会遇到需要从C语言的头文件(`.h`文件)中提取信息,例如常量定义、函数声明等。本篇文章将介绍如何使用Python来读取和解析C语言的头文件,以便于在Python程序中利用这些信息。 首先,我们要了解...

    深入理解Python中的内置常量

    Python中的内置常量是编程语言的基本元素,它们是预定义且不可改变的值。本文将深入探讨Python中六个内置常量:True、False、None、NotImplemented、Ellipsis和__debug__。 首先,True和False是布尔(bool)类型的...

    Python中实现常量(Const)功能

    在Python编程语言中,虽然没有内置的常量(Const)概念,但在实际开发中,我们仍然需要使用常量来表示不可变的值。为了解决这个问题,开发者通常会采用一些变通的方式来模拟常量的使用。本文将详细介绍如何在Python...

    Python 关键字.docx

    使用 class 关键字可以定义一个新的类,类是对象的模板,定义了对象的属性和方法。 3. finally finally 是 Python 中的异常处理关键字。try 语句块中如果发生异常,finally 语句块中的代码将被执行。finally 语句...

    python微课视频教程-Python基础实例教程(微课版).pdf

    Python是一种高级编程语言,起源于1989年,由Guido van Rossum创造,旨在提高代码可读性和简洁性。...随着对更多章节的学习,如异常处理、类与对象、文件操作等,将能够掌握更高级的Python编程技巧。

    Python课程讲义.pdf

    在Python课程中,首先会介绍Python的基本概念,包括解释器的使用、环境变量配置、基本数据类型(如字符串、整数、浮点数等)、变量和常量的定义以及如何使用注释来提高代码的可读性。解释器是读取并执行代码的程序,...

    【Python--抽象类和抽象方法】--求三角形、矩形、圆的面积和周长的编程题(csdn)————程序.pdf

    2. 抽象类和抽象方法的定义与使用。 3. `abc`模块和`ABCMeta`元类的应用。 4. 类的构造方法`__init__()`和析构方法`__del__()`。 5. 特殊方法的理解和应用。 6. 类属性和实例属性的创建。 7. 条件判断语句。 8. ...

    少儿python编程教学 少儿编程python授课ppt

    Python支持面向对象编程,孩子们将学习如何定义类,创建对象,并理解继承、封装和多态等核心概念。通过创建简单的游戏或模拟情境,孩子们可以直观地理解这些概念。 **五、Python标准库与第三方库** Python拥有丰富...

    搜集和整理的100道Python考试题.docx

    Python 编程语言的基础知识点总结 1. Python 中的逻辑运算符:Python 中的逻辑运算符有 and、or、not 等,其中 and 的...18. Python 中的函数定义:Python 中的函数定义使用 def 关键字,可以用来定义自定义函数。

    Python练习题

    在Python中,使用`class`关键字来创建类。类的实例化使得数据和操作数据的方法结合在一起,提高了代码的复用性。比如创建一个简单的“汽车”类: ```python class Car: def __init__(self, brand, color): self....

    Python详细笔记.pdf

    常量是值不变的变量,Python中没有专门的语法定义常量,但可以使用全部大写字母的变量来表示常量。 #### 最基本内置数据类型和运算符 Python支持多种数据类型,包括数字(整数和浮点数)、字符串、布尔值等。运算符...

Global site tag (gtag.js) - Google Analytics