亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python 变量类型详解:数据类型的理解与使用

变量赋值

变量是存储值的预留内存位置。创建变量即预留内存空间。

根据变量数据类型,解释器分配内存并决定存储内容。通过赋不同数据类型,可在变量中存储整数、小数或字符。

赋值操作

Python 变量无需显式声明预留内存。赋值时自动声明。等号 (=) 用于赋值。

= 左侧为变量名,右侧为存储的值。例如:

在线演示
#!/usr/bin/python
counter = 100          # 整数赋值
miles = 1000.0         # 浮点数
name = "John"          # 字符串
print counter
print miles
print name

100、1000.0 和 "John" 分别赋给 counter、miles 和 name。输出结果:

100
1000.0
John

多重赋值

Python 允许同时将单个值赋给多个变量:

a = b = c = 1

创建值为 1 的整数对象,三个变量指向同一内存位置。也可将多个对象赋给多个变量:

a, b, c = 1, 2, "john"

值为 1 和 2 的两个整数对象分别赋给 a 和 b,字符串 "john" 赋给 c。

标准数据类型

内存中存储的数据类型多样。如年龄存数值,地址存字母数字。Python 有五种标准数据类型:

Python 数字

数字数据类型存储数值。赋值时创建 Number 对象:

var1 = 1
var2 = 10

可用 del 语句删除数字对象引用。语法:

del var1[,var2[,var3[....,varN]]]]

可删除单个或多个对象:

del var
del var_a, var_b

Python 支持四种数值类型:

示例

intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3+e18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.53e-7j

Python 字符串

Python 字符串是引号中连续字符集。允许单引号或双引号成对使用。使用切片操作符 ([ ] 和 [:]) 可获取子字符串,索引从 0 开始,-1 为末尾。

加号 (+) 为字符串连接运算符,星号 (*) 为重复运算符。例如:

在线演示
#!/usr/bin/python
str = 'Hello World!'
print str          # 打印完整字符串
print str[0]       # 打印第一个字符
print str[2:5]     # 打印第3至第5字符
print str[2:]      # 打印从第3字符开始的字符串
print str * 2      # 打印两次字符串
print str + "TEST" # 打印连接字符串

输出结果:

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Python 列表

列表是 Python 最通用的复合数据类型。列表包含逗号分隔的项,用方括号 ([]) 括起。列表项可为不同数据类型。

使用切片操作符 ([ ] 和 [:]) 访问列表值,索引从 0 开始。加号 (+) 为列表连接运算符,星号 (*) 为重复运算符。例如:

#!/usr/bin/python
list = ['abcd', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']
print list           # 打印完整列表
print list[0]        # 打印第一个元素
print list[1:3]      # 打印第2至第3元素
print list[2:]       # 打印从第3元素开始
print tinylist * 2   # 打印两次列表
print list + tinylist # 打印连接列表

输出结果:

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

Python 元组

元组是类似列表的序列数据类型。元组由逗号分隔的值组成,但用圆括号括起。

列表和元组的主要区别:列表用方括号 ([]) 且元素和大小可变;元组用圆括号 (()) 且不可更新。元组可视为只读列表。例如:

在线演示
#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print tuple           # 打印完整元组
print tuple[0]        # 打印第一个元素
print tuple[1:3]      # 打印第2至第3元素
print tuple[2:]       # 打印从第3元素开始
print tinytuple * 2   # 打印元组两次
print tuple + tinytuple # 打印连接元组

输出结果:

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

以下代码对元组无效,因尝试更新元组(不允许)。列表则有效:

#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
list = ['abcd', 786, 2.23, 'john', 70.2]
tuple[2] = 1000  # 元组无效语法
list[2] = 1000   # 列表有效语法

Python 字典

Python 字典类似哈希表,工作方式如 Perl 的关联数组或哈希,由键值对组成。键可以是几乎任何 Python 类型,通常为数字或字符串。值可以是任意 Python 对象。

字典用花括号 ({}) 括起,用方括号 ([]) 赋值和访问。例如:

在线演示
#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print dict['one']      # 打印键 'one' 的值
print dict[2]          # 打印键 2 的值
print tinydict         # 打印完整字典
print tinydict.keys()  # 打印所有键
print tinydict.values() # 打印所有值

输出结果:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

字典元素无顺序概念。说元素"无序"不准确;它们只是无序。

数据类型转换

有时需在内置类型间转换。转换时直接使用类型名作为函数。

多个内置函数执行类型转换,返回表示转换值的新对象:

序号函数与说明
1int(x [,base]) - 将 x 转为整数。base 指定 x 为字符串时的基数
2long(x [,base]) - 将 x 转为长整数。base 指定 x 为字符串时的基数
3float(x) - 将 x 转为浮点数
4complex(real [,imag]) - 创建复数
5str(x) - 将对象 x 转为字符串表示
6repr(x) - 将对象 x 转为表达式字符串
7eval(str) - 计算字符串并返回对象
8tuple(s) - 将 s 转为元组
9list(s) - 将 s 转为列表
10set(s) - 将 s 转为集合
11dict(d) - 创建字典。d 必须为 (键,值) 元组序列
12frozenset(s) - 将 s 转为冻结集合
13chr(x) - 将整数转为字符
14unichr(x) - 将整数转为 Unicode 字符
15ord(x) - 将单字符转为整数值
16hex(x) - 将整数转为十六进制字符串
17oct(x) - 将整数转为八进制字符串

Python

  1. 精通C#变量与基础数据类型:完整指南
  2. 掌握 C++ 变量、字面量与常量:核心概念与实战指南
  3. C 语言变量、常量与字面量完全指南
  4. C 语言存储类完全解析:auto、extern、static、register
  5. C++ 变量与数据类型全解析:int、double、char、string、bool 详细指南
  6. C 语言指针完全指南:类型、用法与最佳实践
  7. Python变量、常量与字面量完全指南
  8. 精通Python数据类型:实战指南
  9. 精通Python运算符:全面指南
  10. 理解Python全局、局部与非局部变量
  11. 精通Python global关键字:用法、时机与最佳实践
  12. 精通 Python 字典:创建、操作与进阶技巧