Python 从入门到精通/原生类型
什么是变量?
变量是内存中一个特定格式区域的符号名称。该区域的格式是该区域的类型。与格式和类型密切相关的概念是使用。它被称为变量是因为分配给它的值可以更改。由于 Python 中变量绑定灵活的性质,变量可以在程序的任何地方重新绑定到任何类型。
Python 3.x 的变量命名规则是现代编程语言的典型规则
Identifiers (also referred to as names) are described by the following lexical definitions. The syntax of identifiers in Python is based on the Unicode standard annex UAX-31, with elaboration and changes as defined below; see also PEP 3131 for further details. Within the ASCII range (U+0001..U+007F), the valid characters for identifiers are the same as in Python 2.x: the uppercase and lowercase letters A through Z, the underscore _ and, except for the first character, the digits 0 through 9. Python 3.0 introduces additional characters from outside the ASCII range (see PEP 3131). For these characters, the classification uses the version of the Unicode Character Database as included in the unicodedata module. Identifiers are unlimited in length. Case is significant.
换句话说,变量名可以是任何长度,可以使用任何大写或小写字母,下划线和数字 0-9。但是,变量名不能以数字开头。变量名区分大小写。
特殊字符不被允许的原因之一是它们已经被保留用作运算符。
有效变量名的示例
- myVariable
- var1
- x
- X
- _x
无效变量名的示例
- 1var - 错误,以数字开头
- my#Variable - 错误,变量名只能包含 a-z,A-Z,_ 和 0-9。不允许使用其他特殊字符。
区分大小写示例
- myVariable、myvariable 和 Myvariable 代表三个独立的变量名。
Python 中的类型
什么是类型?
正如我们所说,Python 支持两种主要的数字类型:整数和实数。对我们人类来说,这两种类型之间的区别在于整数类型表示整数或圆数,而实数类型还包括分数或有理数。我们没有认识到我们在纸上表示方式之间的巨大区别,但我们知道对分数执行的操作通常需要额外的步骤。
计算机在整数和实数之间做出不同类型的区分,这部分是由于数字的内部表示和数字计算机必须用来对数字执行操作的方法。
Python 和其他计算机语言通常对不同类型的数字进行组合运算。例如,考虑将一个整数和一个实数相加,如 10 + 1.1。通常,计算机语言会将精度较低的类型转换为精度较高的类型来执行操作,并将结果作为精度较高的类型返回。
Python 如何识别数字类型?它通过存储类型以及值并保留指向它的索引,其中包括对它的活动引用的计数。变量名称用于指向变量,实际上变量完全独立于变量名称存在。
Python 只有一些内置类型。
布尔类型:您可以将 True 或 False 的值分配给变量。如果您想验证布尔值是它自己的类型,请在 Python 命令行中输入以下代码
>>> type(True) <type 'bool'> >>> type(False) <type 'bool'>
注意:您可以对任何值、变量或标识符使用 type() 函数,Python 会回显或返回类型。
数字:Python 有常用的内置数字类型:实数和整数。Python 还支持复数.
复数始终表示为两个浮点数,即实部和虚部。
6+1j 表示 6 + -1 的平方根
在复数的情况下,虚部中使用的 j 不区分大小写。6+1j 与 6+1J 相同。
整数的示例:-100、200、10000、123456789 整数可以是任意长度。Python 中整数的长度没有限制。
实数的示例:-100.、200.2、10000.3、1234.56789 实数的大小有限制。使用 ?? 函数确定您的系统的限制。
复数的示例:1j 表示 0+1j 并表示 -1 的平方根 2j 表示 0+2j 并表示 -2 的平方根
字符和字符串:Python 没有专门用于单个字符的字符类型。用于字符数据的 Python 原语类型是字符串类 <class 'str'>。
Python 的字符串值是不可变的。当在内存中创建字符串并将其分配给变量名时,字符串不能更改。但是,该变量可以被分配一个新的或不同的字符串值。
字符串被认为是序列类型。Python 有六种内置序列类型:字符串、字节序列(字节对象)、字节数组(bytearray 对象)、列表、元组和范围对象。其他序列类型将在本教程的其他部分讨论。
练习
1. 打开命令行解释器或 IDLE 命令 shell。尝试在提示符下执行以下操作(在每一行之后按回车键)。观察结果。对任何意外结果进行精神或其他记录。考虑如何研究意外结果。
1 type(1) type(-1) type(-55555555555555555555555555555) 1.1 type(1.1) 1e5 type(1e5) 1j type(1j) 1J type(1J) 0+1j 1+1j 1+1j*2+1j (1+1j)*(2+1j) type(1j) type(1+1j) 10.1*1+1j type(10.0*1+1j) dog 'dog' type(dog) type('dog') false False 'False' "False" type(False) type(True)