Python 数据类型
Python 是一种面向对象的编程语言。Python 中的每个变量都是某个类的实例。Python 预定义了许多数据类型。我们也可以创建自己的类来定义自定义数据类型。
Python中常用的数据类型有哪些?
Python 中一些常用的数据类型包括:
- 数字——整数、浮点数、复数
- 序列——字符串、列表、元组、集合
- 地图 – 词典
Python 数据类型检查
我们可以使用type()函数来检查变量的数据类型。
i = 10
print(type(i))
让我们来看一些Python数据类型的例子。
Python 字符串数据类型
Python 字符串是 ' str '类的实例。字符串是 Unicode 字符序列。Python 字符串是不可变的。我们可以使用单引号 (') 或双引号 (") 来定义字符串。
字符串是Python中最常用的数据类型。Python支持对字符串对象进行各种操作,例如获取长度、格式化、分割、连接、切片等等。
s = "abc"
print(type(s))
s1 = 'hello'
print(type(s1))
print(s[1:2])
print(len(s))
print(s.split('b'))输出:
<class 'str'>
<class 'str'>
b
3
['a', 'c']Python 数字数据类型
数字类别中有三种数据类型:int、float 和 complex。Python 2 中还有一种名为“long”的数据类型,但它在 Python 3 中已被弃用。
i = 10
print(type(i))
i = 1.23
print(type(i))
i = 1 + 2j
print(type(i))
Python 元组数据类型
在 Python 中,元组是一个有序的元素序列。元组是不可变的,也就是说,一旦定义了,我们就无法更改它的值。
我们可以使用圆括号定义元组,其中元素之间用逗号分隔。元组可以包含任意数量的元素,并且元素可以是任何类型。
t = (1, 2, 3)
print(type(t))
t = ('a', 1, [1, 2])
print(type(t))输出:
<class 'tuple'>
<class 'tuple'>Python 列表数据类型
列表与元组几乎相同,区别在于它是可变的,元素的顺序会被保留。
Python 列表使用方括号定义,元素之间用逗号分隔。
my_list = [1, 2, 3]
print(type(my_list))
my_list = ['a', 1, [1, 2]]
print(type(my_list))输出:
<class 'list'>
<class 'list'>Python 集合数据类型
Python 的 Set 是一个无序的元素集合。Set 中不能有重复的值,元素的顺序也不被保留。
集合用花括号定义,元素之间用逗号分隔。Python 的集合使用哈希来存储元素。因此,hash()集合中的元素必须是可哈希的,也就是说,哈希函数必须能够对其进行操作。由于列表是不可哈希的,所以我们不能将列表对象存储在集合中。
my_set = {1, 2, 3, 1}
print(type(my_set))
print(my_set)
my_set = {'a', 1, 'a'}
print(type(my_set))
print(my_set)输出:
<class 'set'>
{1, 2, 3}
<class 'set'>
{1, 'a'}让我们看看当我们尝试将 List 作为 Set 元素时会发生什么。
>>> my_set = {1, [1]}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>>Python字典数据类型
Python 字典是一个无序的键值对集合。它使用花括号定义,元素之间用逗号分隔。键和值可以是任何类型。键值对之间用冒号连接(key: value)。
Python 字典对象属于 'dict' 类型。它们非常适合存储大量值,并且需要快速检索。
my_dict = {"1": "Apple", "2": "Banana"}
print(type(my_dict))
my_dict = {1: 1, 2: 'b', 3: [1, 2]}
print(type(my_dict))Python 字典使用哈希算法对键进行哈希处理来存储和检索元素,因此键对象必须支持 hash() 函数。这就是为什么我们不能使用列表作为字典元素的键。
>>> my_dict = {[1]: "a"}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>>在 Python 中定义自定义数据类型
我们可以通过在 Python 中创建类来定义自定义数据类型。
class Data:
pass
d = Data()
print(type(d))
Python 函数有数据类型吗?
到目前为止,我们已经了解到数据类型与Python变量相关联。但是,Python函数也有数据类型吗?
我们用一个简单的程序来验证一下。
def foo():
pass
print(type(foo))输出:
<class 'function'>所以 Python 函数也有一种数据类型——function。它们是 function 类的实例。
Python类方法是否有数据类型?
我们来看看Python类的方法是否也有数据类型。
class Data:
def foo(self):
pass
d = Data()
print(type(d.foo))输出:
<class 'method'>所以,Python 类方法的数据类型为“method”。它们是“method”类的实例。
总结
Python 是一种面向对象的编程语言。在 Python 中,一切事物都是某个类的对象,甚至包括函数和类方法。我们可以使用内置的 type() 函数来确定 Python 中实体的数据类型。