在数学、物理学中,变量(variable)又称变数,是表达式或公式中,没有固定的值而可以变动的数或量;该数或量可以是随意的,也可能是未指定或未定的。表示变量的字母,统称为变元、元[1],即变元是一个用来表示值的符号。在语义上,变数(变量)相对于常数(常量)。初等数学中,也以未知数、未知量代称变量。
在其他科学中,英语 variable 亦称变项[2]、变因[3],是任何欲观测或欲操纵的概念、属性、情况、事物、因素,其在质或量(性质或数量)上可变。
在数学领域中,一个变量可以代表“某个数据”,但也可用以表示:一个数、一个向量、一个矩阵、一个函数、一个函数的参数、一个集合或一个集合的元素等数学符号表达的内容[4]。
弗朗索瓦·韦达于16世纪末引入了使用字母表示已知及未知数字的想法,并将这些字母视同数字般运算,以在最后简单代入数值求解。弗朗索瓦·韦达习惯会以子音字母表示已知值,以母音字母表示未知值[6] 。
1637年,勒内·笛卡尔引入以表示公式中的未知数,以表示已知数的习惯[7],此一习惯至到今日依然常见。
1660年代起,艾萨克·牛顿及哥特佛莱德·莱布尼兹分别独立发展出无穷小演算,主要研究一个“可变量”的无穷小变动如何导致另一个量(第一个变量(量)的函数值)相对应的变动。之后过了近一个世纪,李昂哈德·尤拉修正了无穷小微积分的用语,并引入的概念,是个函数,具有参数及值。直到19世纪末,“变量”这一词几乎都被用来指函数的参数及值。
19世纪下半叶,人们发觉无穷小微积分的基础似乎不够形式化,不足以处理像是处处不可微之连续函数这类自相矛盾的问题。为了解决此类问题,卡尔·魏尔斯特拉斯引入了新的定义,以取代之前对极限的直观概念。对极限,旧的概念描述“当“变量”变动且趋近于时,会趋近于,其中的“趋近”并没有明确的定义或上下文。魏尔斯特拉斯则将上述句子以下列公式取代:
其中的5个变量均不被视为是变动的。
变量通常是可被修改的,即可以用来表示可变的状态。这是许多语言(如Java)的基本概念之一。有的语言可能定义其它术语,如C语言的左值来精确地表示这里的(可能匿名的)存储空间的概念,而“变量”则在变量名的意义上被强调。
当某个已宣告变量开始使用,解释器或编译器通常会设置一个空间来存储所给出的值。稍后该变量不再使用时,那些空间可以回收。
也有观点认为,变量应该和数学的原意一致,不需要允许它储存的值可变,不需要有能力表示可变状态。Haskell的类型变量仍然符合这个含义。
每种编程语言都有规则指定什么才可作为变量的名字。
使用C和其相关语言,变量名称在语法上称为标识符,必须是由英文字母、数字和下划线组成,且必须由字母起头。有时还不可以使用某些保留字命名。
使用某些语言,变量的名字同时告诉了这个变量带有什么种类的值。例如FORTRAN的程序里,变量的首个字母显示了它是整数还是浮点数。变量名前缀个字符是$的话,在BASIC的程序里表示其值是字符串。Perl透过前缀如$,@,%和&来分辨哪是标量、数组、散列或副程序。
每个编程组织都有非正式的命名规矩——单打独斗的程序员亦是如此。有人喜欢所有变量都用简单的英文字母取名,认为能增加输入代码的速度,但只要变量一多,就会容易混淆,甚至以后自己看回代码也不懂在写什么。
循环控制变量这样的虚变量和数学上的习惯类似,通常以i
, j
, k
命名。
变量是统计学研究中对象的特征。它可以是定性的也可以是定量的,一个定量变量要么是离散的,要么是连续的。社会科学中研究变量的关系,通常采用数学中对应的观念,把一个变量称为自变量(独立变量),另一个变量称之为因变量(依赖变量)[9]。
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.