二级-2.Python数据类型

变量

变量就是可以改变的量。

变量赋值

变量名 = 值
#变量赋值
bottle = 'Tsingtao'
#输出变量
print(bottle)

变量的命名规范:

  • 汉字变量可以使用,但是不推荐
  • 可以使用数字,但是不能以数字开头
  • 不可以使用特殊字符,除了_
  • 变量严格区分大小写
  • 变量命名要有意义
  • 变量命名要避免和系统使用的保留关键字冲突
#查询系统保留关键字
import keyword
print(keyword.kwlist)

其他变量赋值方式

变量名 = 值
#多个变量赋相同值
变量1 = 变量2 = 变量3 = 值
#多个变量赋不同的值
变量1, 变量2, 变量3 = 值1, 值2, 值3
#多个变量赋相同的值
girl_1 = girl_2 = girl_3 = '美丽的姑娘'
print(girl_1)
print(girl_2)
print(girl_3)
#多个变量赋不同的值
girl_1, girl_2, girl_3 = '嫦娥仙子', '白骨夫人', '玉面狐狸'
print(girl_1)
print(girl_2)
print(girl_3)

Python数据类型

Python中可以自定义数据类型,可以具有无限种数据类型。

Python提供默认6种数据类型

  • Number类型 数值类型
  • String类型 字符类型
  • List类型 列表类型
  • Tuple类型 元组类型
  • Dict类型 字典类型
  • Set类型 集合类型

Number 数值类型

Number类型一共分为四个小类型:整型、浮点型、布尔型、复数

整型

整型就是数学中的整数,包含正整数、0、负数

声明整型有四种方式:

  • 十进制:0~9
  • 二进制:0b0~1
  • 八进制:0o0~7
  • 十六进制:0x0~9 + A~F
#十进制
integer = 999
print(integer)

#二进制
integer_0b = 0b1010111
print(integer_0b)

#八进制
integer_0o = 0o7070777
print(integer_0o)

#十六进制
integer_0x = 0xFBD
print(integer_0x)

浮点型

浮点型就是小数类型。

声明浮点型有两种方式:

  • 小数方式:变量 = 3.1415926
  • 科学计数法:变量 = 3.14e2 #相当于3.14 x 10^2
floats = 3.14e2
print(type(floats))
print(floats)

布尔类型

计算机专用的数据类型,只有两个值:True和False

True就是1 False就是0

result = 5 > 3
print(result)
print(type(result))
print(7+False)
print(7+True)

复数

复数的完整结构(实数部分+虚数部分)

  • 实数:现实存在的所有数值都是实数,真实存在的数字
  • 虚数:不是真实存在的数字(i的平方为-1作为基本单位),不存在的数字
    • 数学:i^2 = -1,i就是虚部的基本单位,1i、2i、3i,i虚数单位
    • 计算机中:用j来表示i即可,j虚数单位

声明复数有两种方式

  • 表达式方式:变量 = 实数 + 虚数
  • 特定功能:变量 = complex(实数,虚数值)
#表达式方式
imaginary = 7 + 6j
print(imaginary)
print(type(imaginary))
#特定功能
imaginary = complex(7, 6)
print(imaginary)
print(type(imaginary))

String 字符类型

字符类型就是文字类型。

声明一个字符类型有三种方式:

  • 单引号:变量 = '内容'
  • 双引号:变量 = "内容"
  • 三引号:变量 = '''内容'''或者"""内容"""

注意事项:如何识别字符串,就看外层是否有引号。

string = 'IT搞三年,母猪赛貂蝉!'
print(string, type(string))
string = "IT搞三年,母猪赛貂蝉!"
print(string, type(string))
string = '''IT搞三年,母猪赛貂蝉!'''
print(string, type(string))
string = True
print(string, type(string))
string = 'True'
print(string, type(string))

转义字符

通过某种格式使得字符的意义发生改变,这就是转义字符。

常见转义字符有以下内容:

转义字符 描述
反斜杠符号
' 单引号
" 双引号
\a 响铃
\b 退格
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符
\xyy 十六进制数,yy代表的字符
\other 其他的字符以普通格式输出
#就要在单引号中使用单引号 / 双引号
string = '毛主席说:\'一切不以结婚为目的的恋爱,都是耍流氓。\''
print(string)
string = '甘蔗男:开始很甜,最后\n只剩渣的男人。'
#print(string)
string = '甘蔗男:开始很甜,最后\r只剩渣的男人。'
print(string)

元字符

string = r'甘蔗男:开始很甜,最后\n只剩渣的男人。'
print(string)

List 列表类型

列表就是一些数据的顺序组合,并且组合之后可以修改。

列表格式:变量 = [值, 值, 值...]

列表的标志符号:[]

#列表
listvar = []
listvar = ['张哆来', '王咪发', '李索拉']
print(listvar, type(listvar))
#列表
listvar = []
listvar = ['张哆来', '王咪发', '李索拉']
listvar[2] = '李西西'
print(listvar, type(listvar))

tuple 元组类型

元组就是一些数据的顺序组合,并且组合之后不可修改。

元组格式:变量 = (值, 值, 值...)

元组的标志符号:()

#元组
tuplevar = []
tuplevar = ('张哆来', '王咪发', '李索拉')
print(tuplevar, type(tuplevar))
#元组
tuplevar = []
tuplevar = ('张哆来', '王咪发', '李索拉')
tuplevar[2] = '李西西'
#print(tuplevar[2])
print(tuplevar, type(tuplevar))

Dict 字典类型

字典就是具有键值映射关系的一组无序数据组合,可以修改。

字典格式:变量 = {键:值, 键:值, 键:值...}

字典的标志符号:{}

#字典
heros = {'呼保义':'宋江', '智多星':'吴用', '黑旋风':'李逵', '九纹龙':'史进'}
print(heros, type(heros))
#字典
heros = {'呼保义':'宋江', '智多星':'吴用', '黑旋风':'李逵', '九纹龙':'史进'}
print(heros['黑旋风'])
print(heros, type(heros))

Set 集合类型

一组特定数据的无需组合,所有数据不会重复。

集合格式:变量 = {值, 值, 值...}

集合的标志符号:无

#集合
setvar = {'香蕉', '茄子', '苦瓜', '榴莲'}
print(setvar, type(setvar))
#集合
setvar = {'香蕉', '茄子', '苦瓜', '榴莲', '榴莲'}
print(setvar, type(setvar))

数据类型转换

将数据由当前类型变化为其它类型的操作就是数据类型转换。

数据类型转换一共分为两类:自动数据类型转换(隐式转换),强制数据类型转换(显示转换)。

自动数据类型转换/隐式转换

自动数据类型转换是程序根据运算要求进行的转换

  • 自动数据类型转换不需要人工干预
  • 自动数据类型转换多发生在运算或者判断过程中
  • 转化时向着更加精确的类型转换
#自动数据类型转换
a = 1.111
b = 2
c = a + b
print(type(a), type(b), type(c), c)

强制数据类型转换/显示转换

根据程序需要,由程序员人为改变数据类型的方式就是强制数据类型转换。

int()将其他类型转化为整型

  • 数字整形转化后,还是原来的味道。
  • 浮点类型转化后,舍去小数部分。
  • 布尔值转化后,True-->1,False-->0
  • 字符串转化,仅纯整型字符串可以转化(浮点型或者带有其他字符都不可以转化)
  • 复数不可以转化
var = '998'
newvar = int(var)
print(newvar)
var = '白裤裆寒冬一击'
newvar = int(var)
print(newvar)

float()将其他类型转化为浮点型

  • 整型转化后,可变为浮点型后 +.0
  • 浮点数不需要转化,转化也不会变化
  • 布尔值转化后,True-->1.0,False-->0.0
  • 字符串,纯整型字符串和纯浮点型字符串可以转化,其他都不行

complex()将其他类型转化为复数

  • 整形转化后,整型+0j
  • 浮点型转化后,浮点型+0j
  • 布尔型转化后,True-->(1+0j),False-->(0+0j)
  • 字符串,纯整型字符串和纯浮点型字符串可以转化,其他都不行
  • 复数,无需转化

bool()将其他类型转化为布尔型

转化为布尔值为false的情况:

  • 整型:0
  • 浮点型:0.0
  • 复数:0+0j
  • 布尔:False
  • 字符串:''空字符串
  • 列表:[]空列表
  • 元组:()空元组
  • 字典:{}空字典
  • 集合:set()空集合

str()将其他类型转化为字符串

所有转换均改变类型为字符串,表示方式依旧不变。

list()将其他类型转化为列表类型

在Python中有五种可迭代序列,可以互相转换

字符串、列表、元组、字典、集合

注意:

  • 字符串转化时,每个字符变成列表中的一个值
  • 字典类型转化时,仅将字典的键部分转化为列表,忽略值部分

tuple()将其他类型转化为元组类型

注意:

  • 字符串转化时,每个字符变成元组中的一个值
  • 字典类型转化时,仅将字典的键部分转化为元组,忽略值部分

set()将其他类型转化为集合类型

注意:

  • 字符串转化时,每个字符变成集合中的一个值
  • 字典类型转化时,仅将字典的键部分转化为集合,忽略值部分

dict()将其他类型转化为字典类型

将其他类型转化为字典类型时需按照指定的格式才可以转化:(列表和元组的组合可以)

var = [[1,'xixi'], [2,'haha'], [3,'wawa']]
new_var = dict(var)
print(var, type(var))
print(new_var, type(new_var))
var = ((1,'xixi'), [2,'haha'], [3,'wawa'])
new_var = dict(var)
print(var, type(var))
print(new_var, type(new_var))

你可能感兴趣的:(二级-2.Python数据类型)