Python学习笔记:常用内置数据类型


Python内置数据类型概述

Python语言中,一切皆对象,而每个对象都属于某个数据类型。Python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型

通过字面量或调用对象的构造方法,可以创建数据类型的实例对象,然后使用运算符、内置函数、系统函数和对象方法进行运算操作

数值数据类型

Python包括4种内置的数据类型:

  1. 整数类型(int),用于表示整数
  2. 布尔类型(bool),用于表示布尔逻辑
  3. 浮点类型(float),用于表示实数
  4. 复数类型(complex),用于表示复数

序列数据类型

序列数据类型表示若干有序数据。Python序列数据类型分为:不可变序列数据类型和可变序列数据类型

不可变序列数据类型包括以下三种:

  1. 字符串(str),表示Unicode字符序列
  2. 元组类型(tuple),表示任意类型数据的序列
  3. 字节序列(Bytes),表示字节(8位)序列数据

可变序列数据类型包括

  1. 列表类型(list),表示可修改的任意类型的序列
  2. 字节数组(bytearry),表示可以修改的字节(8位)数组

集合数据类型

集合数据类型表示若干数据的集合,数据项目没有顺序,且不重复。Python集合数据类型包括以下两种。

  1. 集(set)可变对象
  2. 不可变集(frozenset),不可变对象

字典数据类型

字典数据类型用于表示键/值对字典。Python内置的字典数据类型为dict

int数据类型(任意精度整数)

整数数据类型(int)表示整数的数据类型。与其他计算机语言有精度限制不同,Python的整数位数可以为任意长度位数(只受限制于计算机内存)。整型对象是不可变对象。

整型字面量

数字字符串(前面可以带括号)即整型字面量。Python解释器自动创建int型对象实例。数字字符串通常将解释为十进制(基数10)数制。可以用前缀表示其他进制的整数,跟在前缀后面的数字必须适合于数制

在这里插入图片描述

int对象

int是Python内置的数据类型。可以创建int类型的对象实例,其基本形式为

int(x=0)         #创建int对象(十进制)
int(x,base=10)   #创建int对象,指定进制为base(2~36之间)

通过创建int对象,可以把数值或任何符合格式的字符串或其他对象转换为int对象,注意,如果对象x不能转换为整型,则导致TypeError;如果对象x转换失败,则导致ValueError

int对象的方法

int对象i包含的主要方法如下:
i.bit_length()返回i的二进制位数,不包括字符

>>> i=-10
>>> bin(i)
'-0b1010'
>>> i.bit_length()
4
>>>

整数的运算

整数对象支持关系运算、算术运算,位运算符、内置函数、math模块中的数学运算函数以及int对象方法

在这里插入图片描述

float类型(有限精度浮点数)

浮点型(float)是表示实数的数据类型。与其他计算机语言的双精度(double)和单精度对应。Python浮点类型的精度与系统相关

浮点类型字面量

浮点类型字面量可以为带小数点的数字字符串,或用科学计数器表示的数字字符串(前面可以带负号—),即浮点型字面量。Python解释器会自动创建float型对象实例

在这里插入图片描述

float对象

float是python的内置数据类型,可以创建float类型对象实例,基本格式:float(x)

通过创建float对象,可以把数值或任何格式的字符串转换为float对象。
注意,如果对象x不能转换为float对象,将导致TypeError;如果对象x转换失败,将导致ValueError。特殊字符串InfinityInfinityNaN,分别用于表示正无穷大,负无穷大和非数值

float对象的方法

在这里插入图片描述

浮点数的运算

在这里插入图片描述

complex类型(复数)

复数类型字面量

当数值字符串中包含虚部(j或J)时,即复数字面量。Python解释器自动创建complex类型对象实例

complex对象

complex是Python的内置数据类型,可以创建complex类型的对象实例,基本形式:complex(real[,imag]) #创建complex对象(虚部可选)

complex对象属性和方法

在这里插入图片描述

复数的运算

在这里插入图片描述

bool数据类型(布尔逻辑值)

布尔值字面量

bool数据类型包含两个值:True (真) 或 False (假)

>>> True,False
(True, False)
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>>

bool对象

可以创建bool类型的对象实例,其基本形式为:bool(x),通过创建bool对象,可以把数值或任何符合格式的字符串或其他对象转换为bool对象

>>> bool(0)
False
>>> bool(1)
True
>>> bool('mochu')
True

逻辑运算符

逻辑运算符,即布尔运算符。用于检测两个以上的条件情况,即多个bool值的逻辑运算,其结果为bool类型值。
逻辑运算符除逻辑非(not)是一元运算符,其余均是二元运算符,用于将操作数进行逻辑运算符,用于将操作数进行逻辑运算,结果为True或False

在这里插入图片描述

str数据类型(字符串)

字符串(str)是一个有序的字符集合。Python中没有独立的字符数据类型,字符即长度为1的字符串。
Python内置数据类型str,用于字符串处理。str对象的值为字符系列。str对象(字符串)是不可变对象

字符串字面量

使用单引号或双引号括起来的内容,是字符串字面量,Python解释器自动创建str型对象实例。Python字符串字面量可以使用以下4种方式定义。

  1. 单引号' ',包含在单引号中的字符串,其中可以包含双引号。
  2. 双引号" ",包含在双引号中的字符串,其中可以包含单引号。
  3. 三单引号''' '''',包含在三单引号中的字符串,可以跨行。
  4. 三双引号""" """,包含在三双引号中的字符,可以跨行。

字符串编码

Python3字符默认为16位Unicode编码,ASCII码是Unicode编码的子集,使用uU的字符串称为Unicode字符串,Python3默认认为Unicode字符串。

使用内置函数ord()可以把字符转换为对应的Unicode码;使用内置函数chr()可以把十进制数转换为对应字符

>>> ord('A')
65
>>> ord('末')
26411
>>> chr(26411)
'末'
>>>

转义字符

特殊符号(不可打印字符)可以使用转义序列表示。转义序列以反斜杆开始,紧跟一个字母,如\n(新行)和\t(制表符)。如果字符串中希望包含反斜杆,则它前面必须还有另一个反斜杠

在这里插入图片描述

str对象

str是Python的内置数据类型,创建str类型的对象实例的基本形式为:str(object='') #创建str对象,默认为空字符串
通过创建str对象,可以把任意对象转换为str对象,返回object.__str__(),如果对象没有定义__str__(),则返回repr(object)

str对象属性和方法

使用str对象提供的方法,可以实现常用的字符串处理功能,str对象是不可变对象,故调用方法返回的字符串是新创建的对象。str对象的方法有两种调用方式:字符串对象的方法和str类方法

>>> name='mochu'
>>> name.upper()
'MOCHU'
>>>
>>> str.upper(name)
'MOCHU'
>>> 

对象转换为字符串

使用内置函数str()可以把数值转换为字符串。实际上,使用print(123)输出数值时。将自动调用str(123)函数,把123转换为字符串,然后输出。

Python还提供了另一个内置函数repr(),函数repr()返回一个对象的更精准的字符表形式。大多数情况下,内置函数repr()str()的结果一致

字符串格式化

通过字符串格式化,可以输出特定格式的字符串。Python字符串格式化包括以下几种方式:

字符串.format(1,2,....)
str.format(格式化字符串1.1,2,.....)
format(,格式化字符串)
格式化字符串%(1,2,...)#兼容Python2格式
>>> "my name is {0}, my grade is {1}".format('mochu7',7)
'my name is mochu7, my grade is 7'
>>> str.format("my name is {0},my grade is {1}",'mochu7',7)
'my name is mochu7,my grade is 7'
>>> format(7.7,"0.5f")
'7.70000'
>>> "my name is %s,my grade is %s"%('mochu7',7)
'my name is mochu7,my grade is 7'
>>>

比较关系运算和条件表达式

关系和测试运算符

关系和测试运算符是二元运算符。关系运算符用于将两个操作数的大小进行比较,若关系成立,则比较结果为True,否则为False

原则上,关系比较运算符应该是两个相同类型的对象之间的比较,但是不同类型的对象也允许比较,会导致错误,但数值类型(包括布尔型,True会自动转化为1,False自动转换为0)

在这里插入图片描述

算术运算符和位运算符

算术运算符

Python提供了丰富的算术运算符,用于提供包括四则运算的各种算术运算运算

在这里插入图片描述

位运算符

位运算用于按二进制位进行逻辑运算,操作数必须为整数

在这里插入图片描述

混合运算和数值类型转换

隐式转换

int、float和complex对象可以混合运算。如果表达式中包含complex对象,则其他对象自动转换(隐式转换)为complex对象,结果为complex对象;如果表达式中包含float对象,则其他对象自动转换(隐式转换)为float对象,结果为float对象

显示转换

显示转换又称为强制转换,使用target-type(value)将表达式强制转换为所需的数据类型。如果未定义相应的转换运算符,则强制转换为失败。显示转换实际上使用目标类型的构造函数创建其对象。

int()float()bool(x)str(x),分别把对象转换为整数、浮点数、布尔值和字符串

内置标准数学函数

内置数学运算函数

在这里插入图片描述

数制转换函数

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章