python-tutorials/docs/course/foundation/language_fundamentals/variables.md

47 lines
2.3 KiB
Markdown
Raw Normal View History

# 变量和常量
变量和常量的定义如字面上的表示。
变量:在程序执行的过程中,定义的存储空间存储的内容**会**被改变。
常量:在程序执行的过程中,定义的存储空间存储的内容**不会**被改变。
不是所有的语言都会有变量和常量的,有些语言不能定义常量。
![images|387x130](https://cdn.ossez.com/discourse-uploads/original/2X/e/e9b6f7dbaf6e6157b36e61cce79aec73a7c44065.png)
比如说:**Python 没有常量**。
对于 Java我们可以使用关键字来定义一个常量。例如我们可以使用下面的语句在 Java 程序中定义个一常量 DAYS_IN_WEEK这个常量在程序的过程中是不能够被改变的。
```
static final int DAYS_IN_WEEK = 7;
```
Python 没有这个常量的定义。
![python-variables3|555x203](https://cdn.ossez.com/discourse-uploads/original/2X/8/84dfd55cd3230addeac1acddc5fcc88574b979db.png)
## 指定类型
Python 在定义变量的时候是不需要强制指定类型的。
我们都知道在计算机存储的时候都会定义一些基础的数据类型,比如说整型,字符串类型等。
Python 在定义变量的时候是不需要指定的类型的有关变量的类型是是什么Python 将会在定义变量并且初始化的时候进行指定。
这个与 Java 是相对的Java 语言在定义变量或者常量的时候,必须要指定变量类型,这就导致了在 Java 语言中存在有大量的数据类型转换方法,并且在运行的时候也会经常出现类型错误或者 Null 对象异常。
当然Python 也提供了类型转换的函数供你使用,只是这些类型转换的函数远没有 Java 那么多。
## 初始化
Python 在定义变量后,需要马上初始化。
换句话说说Python 不能定义空对象,这个与 Python 的变量类型是相同的,因为不对 Python 的变量初始化的话Python 没有办法知道你定义的变量类型是什么。
与 Java 相对Java 就可以定义空对象,然后在运行的时候进行初始化。
## 本地变量和全局变量
这个定义比较简单,就是定义在函数内的变量为本地变量。
如果变量定义在函数外,那么这个变量就是全局变量。
有关变量和产量的更多细节,请参考 页面中的内容获得更多的详细相关信息。