精华内容
下载资源
问答
  • Python定义常量
    千次阅读
    2020-12-13 18:15:01

    阅读目录

    一、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

    更多相关内容
  • 在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compile-time constant),...
  • java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了
  • 在C++中,要定义一个常量,有两种主要的做法  1. 符号常量 (#define)  2. 常值变量 (const)  符号常量定义方式,其实与C++本身没有关系,它是一个编译器指令,或者称为预处理指令(有关的预处理指令还有#...
  • 在C++中,要定义一个常量,有两种主要的做法  1. 符号常量 (#define)  2. 常值变量 (const)  符号常量定义方式,其实与C++本身没有关系,它是一个编译器指令,或者称为预处理指令(有关的预处理指令还有#...
  • C语言中const定义常量

    2020-07-21 05:28:23
    本文章是关于C语言中const定义常量
  • 主要介绍了Powershell中定义常量的方法,本文讲解了如何在脚本和配置文件中创建常量,需要的朋友可以参考下
  • 这两个函数定义和取消定义变量常量,如#define C 中的预处理器命令。 没有使用全局变量。 在 R2006b 上测试查看每个文件的帮助
  • 1.const 定义常量和define()定义常量的区别? 希望一个成员变量不被修改 例如圆周率 3.1415926 定义:const 常量名=值; 没有$符 访问:类名 ::常量名 或 接口名::常量名 <?php defined('TEXT'); //检查一...
  • 定义php常量的详解

    2020-12-19 17:22:27
    在php中使用defaine()函数来定义常量,该函数的语法格式为:define(string constant_name, mixed value, case_sensitive = true)该函数有3个参数:constant_name:必选参数,常量名称,即标志符value:必选参数,常量的...
  • JAVA中定义常量方法

    千次阅读 2021-02-12 09:17:53
    JAVA中定义常量方法(2013-01-28 14:30:19)标签:it一、常量定义的基本注意事项。在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。...

    JAVA中定义常量方法

    (2013-01-28 14:30:19)

    标签:

    it

    一、常量定义的基本注意事项。

    在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final

    double PI=3.1315。在定义这个常量时,需要注意如下内容:

    一是常量在定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。都跟局部变量或者成员变量不同。当在常量定义的

    时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。(接口中定义的常量的访问方法)

    二是final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一

    个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。一旦一个数组对象被final关键字设置为常量数

    组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组(有序数组的插入方法可使用的二分查找算法)中的值。

    三是需要注意常量的命名规则。不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度与提高代码的易读

    性。在Java语言中,定义常量的时候,也有自己的一套规则。如在给常量取名的时候,一般都用大写字符。在Java语言中,大小写字符是敏感的。之所以采

    用大写字符,主要是跟变量进行区分。虽然说给常量取名时采用小写字符,也不会有语法上的错误。但是,为了在编写代码时能够一目了然的判断变量与常量,最好

    还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。这些规则

    虽然不是强制性的规则,但是为了提高代码友好性,方便开发团队中的其他成员阅读,这些规则还是需要遵守的。没有规矩,不成方圆。

    总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间最好使用下划线作为分隔符来进行连接多个单词。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被编辑器拒绝并提示错误信息。

    二、Final关键字与static关键字同时使用。

    由于Javal是面向对象的语言,所以在定义常量的时候还有与其它编程语言不同的地方。如一段程序代码从编辑到最后执行,即使需要经过两个过程,分别为代码的装载与对象的建立。不同的过程对于常量的影响是不同的。现在假设有如下的代码:

    Private static Random rd1=new Random(); //实例化一个随机数生成对象。

    Private final int int1=rd1.nestInt(10); //生成随机数并赋值给常量int1

    Private static final int int2=rd1.nestInt(10);

    //生成随机数并赋值给常量int2

    这上面的语句的大致含义是,通过Java语言提供的随机数类对象,生成随机数。并把生成的随机数赋值给常量int1与int2。细心的读者会发

    现,虽然同样是赋值语句,但是以上两个语句中有一个细小的差别,即在第二条语句中多了一个关键字static。关于关键字的用途,笔者在以前的文章中也有

    谈到过。这个是一个静态的概念。即当利用这个关键字来修饰一个变量的时候,在创建对象之前就会为这个变量在内存中创建一个存储空间。以后创建对对象如果需

    要用到这个静态变量,那么就会共享这一个变量的存储空间。也就是说,在创建对象的时候,如果用到这个变量,那么系统不会为其再分配一个存储空间,而只是将

    这个内存存储空间的地址赋值给他。如此做的好处就是可以让多个对象采用相同的初始变量。当需要改变多个对象中变量值的时候,只需要改变一次即可。从这个特

    性上来说,其跟常量的作用比较类似。不过其并不能够取代常量的作用。

    分享:

    a4c26d1e5885305701be709a3d33442f.png喜欢

    0

    a4c26d1e5885305701be709a3d33442f.png赠金笔

    加载中,请稍候......

    评论加载中,请稍候...

    发评论

    登录名: 密码: 找回密码 注册记住登录状态

    昵   称:

    评论并转载此博文

    a4c26d1e5885305701be709a3d33442f.png

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    展开全文
  • 目录 一.define 简介 ...C 语言中,可以用 #define 定义一个标识符来表示一个常量,用 #define 定义标识符的一般形式为: #define 标识符 常量 //注意define最后没有分号 //例如: #define MAX_VALUE

    目录

    零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

    一.define 简介

    C 语言中,可以用 #define 定义一个标识符来表示一个常量,用 #define 定义标识符的一般形式为:

    #define  标识符  常量   //注意define最后没有分号
    //例如:
    #define MAX_VALUE 100       //定义整型变量MAX_VALUE值为100
    #define USER_NAME "huge"    //定义字符串变量USER_NAME值为"huge"
    #define PI 3.1415926        //定义浮点数变量PI值为3.1415926
    

    凡是以 # 开头的均为预处理指令,预处理又叫预编译。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。

    二.define 实战

    举个栗子:语文/数学/英语每科成绩大于 90 分的就算成绩优异,我们分别使用 define 和不使用 [define](https://www.codersrc.com/archives/8877.html) 表示

    1.不使用 define

    /******************************************************************************************/
    //@Author:猿说编程
    //@Blog(个人博客地址): www.codersrc.com
    //@File:C语言教程 - C语言 define定义常量
    //@Time:2021/06/27 08:00
    //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
    /******************************************************************************************/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    
    int main()
    {
        int a = 90;
        int b = 88;
        int c = 95;
        if(a >= 90 && b >= 90 && c>= 90)
            printf("确认过眼神,你就是优秀学生\n");
        else
            printf("确认过眼神,你不是优秀学生\n");
       return 0;
    }
    

    2.使用 define

    /******************************************************************************************/
    //@Author:猿说编程
    //@Blog(个人博客地址): www.codersrc.com
    //@File:C语言教程 - C语言 define定义常量
    //@Time:2021/06/27 08:00
    //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
    /******************************************************************************************/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    
    #define SCORES 90
    
    int main()
    {
        int a = 90;
        int b = 88;
        int c = 95;
        if(a >= SCORES && b >= SCORES && c>= SCORES)
            printf("确认过眼神,你就是优秀学生\n");
        else
            printf("确认过眼神,你不是优秀学生\n");
       return 0;
    }
    

    3.使用 define 优点

    如果现在更改需求,语数外每科成绩高于 95 才算优秀学生,不使用define的代码,需要把 90 全部替换为 95,需要修改 3 处,而使用 define 的代码只需要修改 1 次,更加简单清晰;

    define 的使用远不止如此,前面的文章我们介绍过:通过 define 防止头文件重复包含define 还能用于定义函数,我们留到下一篇文章继续讲解;

    三.猜你喜欢

    1. C 语言 数组下标越界和内存溢出区别
    2. C 语言 指针声明和定义
    3. C 语言 指针 p++ / p–
    4. C 语言 p++/§++/_(p++)/_p++
    5. C 语言 使用指针遍历数组
    6. C 语言 指针和数组区别
    7. C 语言 指针数组和数组指针区别
    8. C 语言 空指针 NULL
    9. C 语言 void 指针
    10. C 语言 野指针
    11. C 语言 函数值传递和址传递
    12. C 语言 函数缺省参数
    13. C 语言 函数不定长参数
    14. C 语言 函数指针
    15. C 语言 指针函数
    16. C 语言 回调函数 callback
    17. C 语言 typedef
    18. C 语言 define 定义常量

    未经允许不得转载:猿说编程 » C 语言 define 定义常量

    展开全文
  • 在任何开发语言中,都需要定义常量。在Java开发语言平台中也不例外。不过在Java常量定义的时候,跟其他语言有所不同。其有自己的特色。在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序...

    在任何开发语言中,都需要定义常量。在Java开发语言平台中也不例外。不过在Java常量定义的时候,跟其他语言有所不同。其有自己的特色。在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序开发人员更好的掌握常量的定义与管理工作。

    一、常量定义的基本注意事项

    在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容:

    一是Java常量定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。都跟局部变量或者成员变量不同。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。

    二是final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。一旦一个数组对象被final关键字设置为常量数组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组(有序数组的插入方法可使用的二分查找算法)中的值。

    三是需要注意常量的命名规则。不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度与提高代码的易读性。在Java常量定义的时候,也有自己的一套规则。如在给常量取名的时候,一般都用大写字符。在Java语言中,大小写字符是敏感的。之所以采用大写字符,主要是跟变量进行区分。虽然说给常量取名时采用小写字符,也不会有语法上的错误。但是,为了在编写代码时能够一目了然的判断变量与常量,最好还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。这些规则虽然不是强制性的规则,但是为了提高代码友好性,方便开发团队中的其他成员阅读,这些规则还是需要遵守的。没有规矩,不成方圆。

    总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间最好使用下划线作为分隔符来进行连接多个单词。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被编辑器拒绝并提示错误信息。

    二、Final关键字与static关键字同时使用

    由于Javal是面向对象的语言,所以在Java常量定义的时候还有与其它编程语言不同的地方。如一段程序代码从编辑到最后执行,即使需要经过两个过程,分别为代码的装载与对象的建立。不同的过程对于常量的影响是不同的。现在假设有如下的代码:

    PrivatestaticRandom rd1=newRandom();//实例化一个随机数生成对象。

    Privatefinalintint1=rd1.nestInt(10);//生成随机数并赋值给常量int1

    Privatestaticfinalintint2=rd1.nestInt(10);//生成随机数并赋值给常量int2

    这上面的语句的大致含义是,通过Java语言提供的随机数类对象,生成随机数。并把生成的随机数赋值给常量int1与int2。细心的读者会发现,虽然同样是赋值语句,但是以上两个语句中有一个细小的差别,即在第二条语句中多了一个关键字static。关于关键字的用途,笔者在以前的文章中也有谈到过。这个是一个静态的概念。即当利用这个关键字来修饰一个变量的时候,在创建对象之前就会为这个变量在内存中创建一个存储空间。以后创建对对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。也就是说,在创建对象的时候,如果用到这个变量,那么系统不会为其再分配一个存储空间,而只是将这个内存存储空间的地址赋值给他。如此做的好处就是可以让多个对象采用相同的初始变量。当需要改变多个对象中变量值的时候,只需要改变一次即可。从这个特性上来说,其跟常量的作用比较类似。不过其并不能够取代常量的作用。

    那么以上两条语句有什么差别吗?我们首先来看Private final int int1=rd1.nestInt(10)这条语句。虽然int1也是一个常量,但是其是在对象建立的时候初始化的。如现在需要创建两个对象,那么需要对这个变量初始化两次。而在两次对象初始化的过程中,由于生成的随机数不同,所以常量初始化的值也不同。最后导致的结果就是,虽然int1是常量,但是在不同对象中,其值有可能是不同的。可见,使用final的Java常量定义并不是恒定不变的。因为默认情况下,定义的常量是在对象建立的时候被初始化。如果在建立常量时,直接赋一个固定的值,而不是通过其他对象或者函数来赋值,那么这个常量的值就是恒定不变的,即在多个对象中值也使相同的。但是如果在给常量赋值的时候,采用的是一些函数或者对象(如生成随机数的Random对象),那么每次建立对象时其给常量的初始化值就有可能不同。这往往是程序开发人员不原意看到的。有时候程序开发人员希望建立再多的对象,其在多个对象中引用常量的值都是相同的。

    要是现这个需求的话,有两个方法。一是在给常量赋值的时候,直接赋予一个固定的值,如abcd等等。而不是一个会根据环境变化的函数或者对象。像生成随机数的对象,每次运行时其结果都有可能不能。利用这个对象来对常量进行初始化的时候,那么结果可能每次创建对象时这个结果都有可能不同。最后这个常量只能够做到在一个对象内是恒定不变的,而无法做到在一个应用程序内是恒定不变的。另外一个方法就是将关键字static与关键字final同时使用。一个被定义为final的对象引用或者常量只能够指向唯一的一个对象,不可以将他再指向其他对象。但是,正如上面举的一个随机数的例子,对象本身的内容的值是可以改变的。为了做到一个常量在一个应用程序内真的不被更改,就需要将常量声明为staitc final的常量。这是什么意思呢?正如上面笔者所说的,当执行一个应用程序的时候,可以分为两个步骤,分别为代码装载与对象创建。为了确保在所有情况下(即创建多个对象情况下)应用程序还能够得到一个相同值的常量,那么就最好告诉编译器,在代码装载的时候就初始化常量的值。然后在后续创建对象的时候,只引用这个常量对象的地址,而不对其再进行再次初始化。就如同Private static final int int2=rd1.nestInt(10)这种形式来定义常量。如此,在后续多次创建对象后,这个常量int2的值都是相同的。因为在创建对象时,其只是引用这个常量,而不会对这个常量再次进行初始化。

    由于加上这个static关键字之后,相当于改变了Java常量定义的作用范围。为此程序开发人员需要了解自己的需求,然后选择是否需要使用这个关键字。在初始化常量的时候,如果采用函数(如系统当前时间)或者对象(如生成随机数的对象)来初始化常量,可以预见到在每次初始化这个常量时可能得到不同的值,就需要考虑是否要采用这个static关键字。一般情况下,如果只需要保证在对象内部采用这个常量的话,那么这个关键字就可有可无的。但是反过来,如果需要在多个对象中引用这个常量,并且需要其值相同,那么就必须要采用static这个关键字了。以确保不同对象中都只有一个常量的值。或者说,不同对象中引用的常量其实指向的是内存中的同一块区域。

    【编辑推荐】

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

    2020-11-26 14:41:33
    确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利用这些性质,就会发现一个不一样的JS世界。 首先,在JS当中,对象的属性其实还含有自己的...
  • python中定义常量

    千次阅读 2021-03-10 13:35:32
    python中定义常量 Python没有提供如C/C++/Java一样的const修饰符,在python中一般通过约定俗成的变量名全大写的形式表示这是一个常量。然而这种方式并没有真正实现常量,其对应的值仍然可以被改变。后来,python...
  • Class定义常量方法(推荐方法)//final修饰符public final class Constants {//私有构造方法private Constants() {}public static final int ConstantA = 100;public static final int ConstantB = 100;......}采用...
  • 如何在C中定义常量

    2021-05-20 08:51:26
    所以,我在该行上方定义了USE_MINGW_ANSI_STDIO并进行了编译: #include #include #include #include #define USE_MINGW_ANSI_STDIO 1 #include ... 它编译但程序仍然输出’zu’而不是数字.我做的不错吗?为什么没用...
  • Golang 定义常量

    2020-07-21 14:02:11
    Golang 定义常量 在所有的编程语言当中常量都代表一个固定的值,一旦常量被定义则无法修改。在Golang中使用const关键字进行常量声明。 定义常量 Golang定义常规类型的常量可以忽略类型。 1.const SUCCESS = true 2....
  • 静态定义常量

    2016-11-06 21:59:30
    java 定义静态常量
  • C++中定义常量的几种方式

    千次阅读 2022-04-01 14:46:14
    C++中定义常量的几种方式
  • 避免使用宏#define定义常量1 前言2 使用const而不是#define定义常量3 总结 1 前言 C/C++预处理器提供了一系列的编译指令,通常,C++惯例是使用这些编译指令来惯例编译过程。 例如, #include编译指令是管理程序文件...
  • 详解C语言中const关键字的用法关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己...
  • C++ 定义常量的两种方式

    千次阅读 2021-09-09 01:06:11
    C++定义常量的方式有两种: 1、#define 宏常量 通常在文件上方定义 2、const 修饰的变量 通常在变量定义前加关键字 const #include <iostream> using namespace std; //1、宏常量 #define Day 7 ...
  • Android定义常量的三种方式

    千次阅读 2022-01-07 10:55:36
    Class定义常量 public class Constant { public static final int SUNDAY = 0; public static final int MONDAY = 1; public static final int TUESDAY = 2; public static final int WEDNESDAY = 3; public ...
  • 本文实例讲述了PHP中define() 与 const定义常量的区别。分享给大家供大家参考,具体如下: 前言 今天在Stackoverflow又看到一个很有趣的文章,所以翻译过后摘了过来。文章是由PHP开发成员之一的NikiC写的,权威性...
  • python定义常量

    千次阅读 2020-10-30 11:30:26
    constant.py 定义常量类 import sys """ 该类定义了一个方法__setattr()__,和一个异常ConstError, ConstError类继承 自类TypeError. 通过调用类自带的字典__dict__, 判断定义的常量是否包含在字典 中。如果字典中...
  • 本文主要跟大家介绍了关于Vue定义全局变量与常量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 我想要定义一个变量, 在项目的任何地方都可以访问到, 不需要每一次使用的时候, 都引入...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 809,121
精华内容 323,648
关键字:

定义常量

友情链接: 5_SKEY.rar