leftso 662 0 2019-12-12 07:49:19

文章位置:左搜> 编程技术> Python教程> 正文

Python –数据类型

数据类型定义变量的类型。由于一切都是Python中的对象,因此数据类型实际上是类。变量是类的实例。
在任何编程语言中,都可以对不同类型的数据类型执行不同的操作,其中某些数据类型与其他数据类型相同,而某些数据类型可能非常特定于该特定数据类型。
 

Python

1. Python中的内置数据类型

Python默认具有以下内置数据类型。
 

类别 数据类型/类名
Text/String str
Numeric intfloatcomplex
List listtuplerange
Map dict
Set setfrozenset
Boolean bool
Binary bytesbytearraymemoryview
 

2.Python详细的数据类型

2.1。str

字符串可以定义为用单引号,双引号或三引号引起来的字符序列。三引号(“””)可用于编写多行字符串。

$title('str'数据类型)
x = 'A'
y = "B"
z = """
    C
    """
 
print(x)    # prints A
print(y)    # prints B
print(z)    # prints C
 
print(x + y)    # prints AB - concatenation
 
print(x*2)      # prints AA - repeatition operator
 
name = str('john')  # Constructor
 
sumOfItems = str(100)   # type conversion from int to string

2.2。int, float, complex

这些是数字类型。它们是在将数字分配给变量时创建的。
  • int 保留长度不受限制的带符号整数。
  • float 保留浮点精度数字,并且它们的精度最高为15个小数位。
  • complex –复数包含实部和虚部。
$title(数字类型)
x = 2                   # int
x = int(2)              # int   
 
x = 2.5                 # float
x = float(2.5)          # float 
 
x = 100+3j              # complex
x = complex(100+3j)     # complex

2.3。list, tuple, range

在Python中,list是使用方括号()和逗号()编写的一些数据的有序序列。列表可以包含不同类型的数据[ ],
Slice [ :]运算符可用于访问列表中的数据。
所述并置运算符(+重复操作符(*的工作原理类似的str数据类型。
范围可以被认为是sublist,一个的取出list使用切片运算符。
一个元组是类似list的-除了tuple是一个只读的数据结构,我们不能修改一个元组的项目的规模和价值。另外,项目用括号括起来(, )
$title(集合数据类型)
randomList = [1, "one", 2, "two"]
print (randomList);                 # prints [1, 'one', 2, 'two']
print (randomList + randomList);    # prints [1, 'one', 2, 'two', 1, 'one', 2, 'two']
print (randomList * 2);             # prints [1, 'one', 2, 'two', 1, 'one', 2, 'two']
 
alphabets  = ["a", "b", "c", "d", "e", "f", "g", "h"]  
 
print (alphabets[3:]);              # range - prints ['d', 'e', 'f', 'g', 'h']
print (alphabets[0:2]);             # range - prints ['a', 'b']
 
randomTuple = (1, "one", 2, "two")
print (randomTuple[0:2]);           # range - prints (1, 'one')
 
randomTuple[0] = 0      # TypeError: 'tuple' object does not support item assignment

2.4。dict

字典或字典是项的键值对有序集合。键可以保存任何原始数据类型,而值是任意的Python对象。
字典中的条目用逗号分隔并括在花括号中{, }
$title(字典数据类型)
charsMap = {1:'a', 2:'b', 3:'c', 4:'d'};   
 
print (charsMap);       # prints {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
print("1st entry is " + charsMap[1]);  # prints 1st entry is a
print (charsMap.keys());        # prints dict_keys([1, 2, 3, 4])
print (charsMap.values());      # prints dict_values(['a', 'b', 'c', 'd'])

2.5。set, frozenset

python中的set可以定义为花括号中包含的各种项目的无序集合{, }
集合中的元素不能重复。python set的元素必须是不可变的
不同于list,没有indexset元素。这意味着我们只能循环访问的元素set
冻结套是正常集的不变形式。这意味着我们无法删除任何项目或将其添加到冻结集中。
digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}   
 
print(digits)           # prints {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 
print(type(digits))     # prints <class 'set'>
 
print("looping through the set elements ... ")  
for i in digits:  
    print(i)            # prints 0 1 2 3 4 5 6 7 8 9 in new lines
 
digits.remove(0)    # allowed in normal set
 
print(digits)       # {1, 2, 3, 4, 5, 6, 7, 8, 9}
 
frozenSetOfDigits = frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})   
 
frozenSetOfDigits.remove(0) # AttributeError: 'frozenset' object has no attribute 'remove'

2.6。bool

bool值是两个恒定的对象FalseTrue。它们用于表示真值。在数字上下文中,它们的行为分别类似于整数0和1。
x = True
y = False
 
print(x)    #True
print(y)    #False
 
print(bool(1))  #True
print(bool(0))  #False

2.7。bytes, bytearray, memoryview

bytesbytearray用于处理二进制数据。所述memoryview使用缓冲协议来访问其他二进制对象的存储器,而无需进行复印。
字节对象是单个字节的不可变序列。仅在处理与ASCII兼容的数据时,才应使用它们。
bytes文字的语法与文字的语法相同string,只是'b'添加了前缀。
bytearray对象总是通过调用构造函数来创建的bytearray()。这些是可变的对象。
x = b'char_data'
x = b"char_data"
 
y = bytearray(5)
 
z = memoryview(bytes(5))
 
print(x)    # b'char_data'
print(y)    # bytearray(b'\x00\x00\x00\x00\x00')
print(z)    # <memory at 0x014CE328>
 

3. type()函数

type()函数可用于获取任何对象的数据类型。
获取数据类型:

x = 5
print(type(x))          # <class 'int'>
 
y = 'howtodoinjava.com'
print(type(y))          # <class 'str'>

评论区域

暂无评论,快来抢首发吧!!!