Python 数据类型
每个值都有一个数据类型,并且变量可以保存值。Python是一种功能强大的编程语言;因此,在声明变量时不需要显式指定变量的类型。解释器隐式地将值绑定到其类型。
a = 5
我们没有指定变量a的类型,它的值是整数型的5。Python解释器会自动将变量解释为整数。
我们可以通过Python来验证程序中使用的变量的类型。Python中的type()函数返回传递变量的类型。
在定义和验证不同数据类型的值时,请参考下面的示例。
a=10
b="Hi Python"
c = 10.5
print(type(a))
print(type(b))
print(type(c))
输出:
<type 'int'>
<type 'str'>
<type 'float'>
标准数据类型
变量可以包含各种值。另一方面,一个人的身份证号必须以整数形式存储,而他们的名字必须以字符串形式存储。
Python提供了每个标准数据类型的存储方法。以下是Python定义的数据类型列表。
- Numbers
- Sequence Type
- Boolean
- Set
- Dictionary
这个教程部分将简要讨论数据类型。我们将在本教程的后面详细讨论每一个数据类型。
数字
数值存储在数字中。整数、浮点数和复数的值属于Python的数字数据类型。Python提供了type()函数来确定变量的数据类型。instance()函数被用来检查一个对象是否属于某个类。
当一个数字被赋值给一个变量时,Python生成Number对象。例如,
a = 5
print("The type of a", type(a))
b = 40.5
print("The type of b", type(b))
c = 1+3j
print("The type of c", type(c))
print(" c is a complex number", isinstance(1+3j,complex))
输出:
The type of a <class 'int'>
The type of b <class 'float'>
The type of c <class 'complex'>
c is complex number: True
Python支持三种类型的数值数据。
- Int: 整数可以是任意长度的整数,比如10、2、29、-20、-150等等。在Python中,整数的长度可以任意设置,它的值属于int类型。
- Float: Float存储浮点数,比如1.9、9.902、15.2等等。它可以精确到15个小数位。
- Complex: 复数包含一个有序的对,即x + iy,其中x和y分别表示实部和虚部。复数的例子有2.14j、2.0 + 2.3j等等。
序列类型
String
使用引号将字符序列括起来可以表示字符串。在Python中,可以使用单引号、双引号或三引号来定义字符串。
在Python中处理字符串是一种直接的操作,因为Python提供了内置的功能和运算符来执行字符串操作。
在处理字符串时,操作”hello”+” python”返回”hello python”,运算符+用于组合两个字符串。
因为操作"Python"*2
返回”PythonPython”,运算符*
被称为重复运算符。
以下是Python字符串的示例:
示例-1
str = "string using double quotes"
print(str)
s = '''A multiline
string'''
print(s)
输出:
string using double quotes
A multiline
string
看下面的字符串处理示例。
示例 – 2
str1 = 'hello javatpoint' #string str1
str2 = ' how are you' #string str2
print (str1[0:2]) #printing first two character using slice operator
print (str1[4]) #printing 4th character of the string
print (str1*2) #printing the string twice
print (str1 + str2) #printing the concatenation of str1 and str2
输出:
he
o
hello javatpointhello javatpoint
hello javatpoint how are you
列表
Python中的列表类似于C中的数组,但列表可以包含不同类型的数据。存储在列表中的事物用逗号(,
)分隔,并在方括号[]中封闭。
为了获得对列表数据的访问权限,我们可以使用切片([:]
)运算符。与它们在字符串中的工作方式相似,列表由连接运算符(+
)和重复运算符(*
)处理。
请看下面的例子。
示例:
list1 = [1, "hi", "Python", 2]
#Checking type of given list
print(type(list1))
#Printing the list1
print (list1)
# List slicing
print (list1[3:])
# List slicing
print (list1[0:2])
# List Concatenation using + operator
print (list1 + list1)
# List repetation using * operator
print (list1 * 3)
输出:
[1, 'hi', 'Python', 2]
[2]
[1, 'hi']
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
元组
从很多方面来看,元组与列表相似。元组也包含来自不同数据类型的项目集合。元组的组成部分使用小括号 () 分隔。
由于我们无法更改元组中项目的大小或值,所以它是一个只读数据结构。
让我们看一个简单的元组示例。
示例:
tup = ("hi", "Python", 2)
# Checking type of tup
print (type(tup))
#Printing the tuple
print (tup)
# Tuple slicing
print (tup[1:])
print (tup[0:1])
# Tuple concatenation using + operator
print (tup + tup)
# Tuple repatation using * operator
print (tup * 3)
# Adding value to tup. It will throw an error.
t[2] = "hi"
输出:
<class 'tuple'>
('hi', 'Python', 2)
('Python', 2)
('hi',)
('hi', 'Python', 2, 'hi', 'Python', 2)
('hi', 'Python', 2, 'hi', 'Python', 2, 'hi', 'Python', 2)
Traceback (most recent call last):
File "main.py", line 14, in <module>
t[2] = "hi";
TypeError: 'tuple' object does not support item assignment
字典
字典是一个以任意顺序排列的键值对集合。它为每个键存储一个特定的值,类似于关联数组或哈希表。值可以是任何Python对象,而键可以保存任何基本数据类型。
逗号(,)和大括号用于分隔字典中的项目。
看下面的例子。
d = {1:'Jimmy', 2:'Alex', 3:'john', 4:'mike'}
# Printing dictionary
print (d)
# Accesing value using keys
print("1st name is "+d[1])
print("2nd name is "+ d[4])
print (d.keys())
print (d.values())
输出:
1st name is Jimmy
2nd name is mike
{1: 'Jimmy', 2: 'Alex', 3: 'john', 4: 'mike'}
dict_keys([1, 2, 3, 4])
dict_values(['Jimmy', 'Alex', 'john', 'mike'])
Boolean
True和False是布尔类型的两个默认值。这些值用于判断给定的断言是否正确或错误。类book表示了这一点。False可以用0或字母”F”表示,而true可以用任何非零值表示。
看下面的例子。
# Python program to check the boolean type
print(type(True))
print(type(False))
print(false)
输出:
<class 'bool'>
<class 'bool'>
NameError: name 'false' is not defined
集合
数据类型的无序集合是Python集合(Set)。它是可迭代的、可变的(创建后可以更改),并且具有显著的组成部分。集合的元素没有固定的顺序;它可能返回元素的改变顺序。可以通过花括号中传递的元素序列并用逗号分隔来创建集合,也可以使用内置的set()函数来创建集合。它可以包含不同类型的值。
看下面的例子。
# Creating Empty set
set1 = set()
set2 = {'James', 2, 3,'Python'}
#Printing Set value
print(set2)
# Adding element to the set
set2.add(10)
print(set2)
#Removing element from the set
set2.remove(2)
print(set2)
输出:
{3, 'Python', 'James', 2}
{'Python', 'James', 3, 2, 10}
{'Python', 'James', 3, 10}