精华内容
下载资源
问答
  • Python定义常量

    2020-12-13 18:15:01
    阅读目录一、Python定义常量Python定义常量constant.py 定义常量类import sysclass _const:# 自定义异常处理class ConstError(PermissionError):passclass ConstCaseError(ConstError):pass# 重写 __setattr__() ...

    阅读目录

    一、Python定义常量

    Python定义常量

    constant.py 定义常量类

    import sys

    class _const:

    # 自定义异常处理

    class ConstError(PermissionError):

    pass

    class ConstCaseError(ConstError):

    pass

    # 重写 __setattr__() 方法

    def __setattr__(self, name, value):

    if name in self.__dict__: # 已包含该常量,不能二次赋值

    raise self.ConstError("Can't change const {0}".format(name))

    if not name.isupper(): # 所有的字母需要大写

    raise self.ConstCaseError("const name {0} is not all uppercase".format(name))

    self.__dict__[name] = value

    # 将系统加载的模块列表中的 constant 替换为 _const() 实例

    sys.modules[__name__] = _const()

    test.py引用constan定义常量

    import constant

    constant.VALUE = 5

    constant.VALUE = 4 # ConstError

    constant.vaLue = 1 # ConstCaseError

    展开全文
  • Python 定义常量

    2020-12-04 12:43:37
    常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE, OUT_TIME等),但是python没有提供设置常量用法,需要自己自定义类实现常量功能。...

    常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE, OUT_TIME等),但是python没有提供设置常量用法,需要自己自定义类实现常量功能。

    自定义类实现常量功能

    这种办法就是解决简单用全大写和下划线定义固定变量无法解决篡改的问题。

    下面是一个例子:

    创建一个 constant.py 文件,在其中创建const类

    class Const():

    class ConstError(TypeError):

    pass

    class ConstCaseError(ConstError):

    pass

    def __setattr__(self, key, value):

    if key in self.__dict__.keys():

    # 存在性验证

    raise self.ConstError("Can't change a const variable: '%s'" % key)

    if not key.isupper():

    # 语法规范验证

    raise self.ConstCaseError("Const variable must be combined with upper letters:'%s'" % key)

    self.__dict__[key] = value

    如何使用自定义常量类

    from constant import Const

    const = Const()

    const.TEST = 'HH'

    print(const.TEST)

    # 尝试修改变量

    const.TEST = 'JJ'

    # 尝试常量名称为小写字母

    const.test = 'HH'

    展开全文
  • 今天小编就为大家分享一篇在Python定义一个常量的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python定义常量

    千次阅读 2018-04-21 21:15:42
    c++中使用const保留字指定常量,而python并没有定义常量的保留字。但是python并没有提供const关键字,但是我们可以通过自定义一个常量类来实现常量的功能。 # -*- coding: UTF-8 -*- # Filename: const.py # 定义...

    常量是指一旦初始化后就不能修改的固定值。

    c++中使用const保留字指定常量,而python并没有定义常量的保留字。

    但是python并没有提供const关键字,但是我们可以通过自定义一个常量类来实现常量的功能。 

    # -*- 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 定义常量的规范

    万次阅读 2019-03-17 20:15:36
    一个好的python程序员除了能够把功能、逻辑实现以外,还应该让你的代码可读性更强、拓展性更高,本文主要介绍python编程中经常用到的固定变量应该如何进行编写。 在我们编写程序的时候有的变量一旦在设定之后就不会...

    前言

    一个好的python程序员除了能够把功能、逻辑实现以外,还应该让你的代码可读性更强、拓展性更高,本文主要介绍python编程中经常用到的固定变量应该如何进行编写。
    在我们编写程序的时候有的变量一旦在设定之后就不会再进行变动,对于这些变量,程序员之间有一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE, OUT_TIME等),但这种方式没办法避免在程序中该变量被修改。

    python版本:3.6.7

    自定义类实现常量功能

    这种办法就是解决简单用全大写和下划线定义固定变量无法解决篡改的问题。
    下面是一个例子:
    创建一个 constant.py 文件,在其中创建const类

    
    class Const():
        class ConstError(TypeError): pass
    
        class ConstCaseError(ConstError): pass
    
        def __setattr__(self, key, value):
            print()
            if key in self.__dict__.keys():
                # 存在性验证
                raise self.ConstError("Can't change a const variable: '%s'" % key)
    
            if not key.isupper():
                # 语法规范验证
                raise self.ConstCaseError("Const variable must be combined with upper letters:'%s'" % key)
    
            self.__dict__[key] = value
    
    
    

    在另一个需要创建固定变量的测试文件中导入该模块

    from constant import Const
    
    const = Const()
    
    const.TEST = 'HH'
    print(const.TEST)
    const.TEST = 'JJ'  # 尝试修改变量
    
    

    结果:
    在这里插入图片描述
    可以看到当我们试图给固定变量赋新值的时候会抛出异常

    再试试第二个异常,如果设置的固定变量字母不全为大写则抛出异常:

    from constant import Const
    
    const = Const()
    
    const.test = 'HH'
    # print(const.TEST)
    # const.TEST = 'JJ'
    
    

    在这里插入图片描述

    展开全文
  • python定义常量文件

    千次阅读 2018-07-08 10:22:11
    class _const: class ConstError(TypeError) : pass class ConstCaseError(ConstError) : pass def __setattr__(self, name, value): if self.__dict__.has_key(name): raise self.C...
  • python 定义常量

    2020-01-12 11:21:59
    参考Link: (1)python中定义常量 ...(2)python定义常量 https://www.cnblogs.com/menkeyi/p/7525409.html Python并未提供如C/C++/Java一样的const修饰符,换言之,python中没有常量,python程序...
  • python定义常量

    2021-03-10 13:35:32
    python定义常量 Python没有提供如C/C++/Java一样的const修饰符,在python中一般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现常量,其对应的值仍然可以被改变。后来,python...
  • First time user on stack overflow and I'm excited to be here.INTRO: I recently began the magical adventure into the world of Python programming - I love it. Now everything has gone smoothly in my awkw...
  • python定义常量

    千次阅读 2012-12-23 20:02:24
    c++中使用const保留字指定常量,而python并没有定义常量的保留字。但是python是一门功能强大的语言,可以自己定义一个常量类来实现常量的功能。 # -*- coding: UTF-8 -*- # Filename: const.py # 定义一个常量...
  • Python在启动时预先装入了一些模块,如果你在一个Python IDE环境下,sys.modules包含了你在IDE中运行的所有程序所导入的所有模块定义class _const(object): class ConstError(TypeError): pass def __setattr__(self...
  • 问 题我按照网上的方法自定义了一个常量类,如下:class _const:"""自定义常量:(1)命名全部大写;(2)值不可修改"""class ConstError(TypeError):passclass ConstCaseError(ConstError):passdef __setattr__(self, ...
  • 在很多高级语言中都会提供常量的关键字来定义常量,如 C++ 中的 const , Java 中的 final 等,但是 Python 语言因为变量无类型,所以也就不存在这样的修饰符,其本身并未提供任何机制来进行常量的定义。因此我们...
  • python中如何定义常量

    2020-11-24 09:46:21
    Python并未提供如C/C++/Java一样的const修饰符,换言之,python中没有常量python程序一般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现常量,其对应的值仍然可以被改变。后来,...
  • 跟C语言不同,C可以用 const float PI = 3.1415926f;..."""python定义一个常量""" # 创建一个元组,即创建一个Python常量:CONST_A[0] CONST_A = (666,) # 尝试修改这个常量,会报错 CONST_A[0] = 777 pri
  • python数值常量

    2021-01-29 05:43:15
    Python在程序执行过程中数值保持不变的量是:A保留C 常量 常量是不可变的把python list中每个元素加1,有什么简洁的写法么a = [1,1,1,1] b = [i+1 for i in a]python中,dataframe或series对象可以对列进行运算可以对...
  • 如何在 Python3 中定义和使用常量

    万次阅读 2017-10-28 21:02:33
    相对其他语言,Python定义常量略显麻烦。不仅仅只是单靠 const 就可以完成的。在 Python 中定义常量需要用对象的方法来创建。我们需要在外部库的 Lib 目录下创建一个 const.py 文件。
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • Python基础 - 变量及常量1、变量1.1 定义: 变量从字面意思上看,顾名思义就是可变化的量。变量可以通过变量名称来访问。1.2 定义规则:1、变量名只能是数字、字母或者下划线的任意组合#我们定义一个变量,根据我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 66,158
精华内容 26,463
关键字:

python定义常量

python 订阅