二级-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))
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,739评论 2 9
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,790评论 1 10
  • 数据类型 基本数据类型 数字(Number) 整型(int) 整数类型共有4种进制表示:十进制、二进制、八进制和十...
    柄志阅读 2,171评论 0 0
  • 终于,又到了周末,我可以安安心心地在家呆两天,跳舞、浇花、煮东西吃…自由自在,才离开几天,我就想家了。 没想到,离...
    艾米说阅读 1,049评论 2 1
  • hello, 今天你去开会了, 我又哭了…… 我的家人们都是恶魔, 我已经被控制了,但你不可以! 你要好好的,好不好?
    Doris_Ting阅读 83评论 0 0