Number【数字:整型int,浮点型[小数]float,复数类型complex 】
String【字符串】 str 'hello' "hello" """hello"""
Boolean【布尔类型】 True真(1), Flase假(0)
NoneType【空值】
list【列表】 类似c语言的数组
tuple【元组】 不可改变的列表
dict【字典】
set【集合】(了解)
bytes【字节】 b'hello' 二进制
# 数据类型
'''
Number[数字:整数int,浮点型float,复数类型complex---即a+bi]
String[字符串] str
Boolean[布尔类型] bool True False
NoneType[空值]
list[列表] 类似c语言的数组
tuple[元组] 不可改变的列表
dict[字典]
set[集合()] 了解
bytes[字节] b'hello' 可理解为二进制
1GB = 1024MB
1MB = 1024KB 1k 代表 2^10 计算机中的1k代表2的十次方
1KB = 1024Byte
1B = 8bit
1bit: 0或1 1bit就是1位,是计算机的最小单位 数字10的二进制是 00001010
python中的数据类型:
int 整型 整数, float 浮点数,小数,complex 了解
str 字符串
bool 布尔类型
NoneType 类型
list 列表,数组
tuple 元组
dict 字典 dictionary
set 集合(了解)
bytes 字节类型
'''
# int 整型
n = 10
print(type(n)) # <class 'int'>
# float 浮点数,小数
n2 = 2.23
print(type(n2)) # <class 'float'>
print(n2)
n2 = 'hello' # n2 = 3.14 原本是浮点数,但是也可以把他改成字符串,python中的变量比较灵活
# 复数类型 complex 了解即可 a+bj(数学中是a+bi 程序中运行a+bi 报错)
n3 = complex(2, 3)
# n3 = 2 + 3j # 也可以这样的写法
print(n3) # (2+3j)
# str 字符串类型
s = '吴某凡' # 单引号
print(type(s)) # <class 'str'>
s = "ikun" # 双引号
print(type(s)) # <class 'str'>
'''
s = "ik"
"un" 虽然可以但不建议 ""的结尾必须不能加任何东西才可以
'''
s = '''
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
''' # 三引号
print(type(s)) # <class 'str'>
# 字符串和变量的组合写法
name = '周杰伦'
age = 25
salary = 1.2356 # (亿)
# 想要打印 我叫周杰伦,今年25岁,年收入1.23亿
print('我叫周杰伦,今年25岁,年收入1.23亿')
# 方式一: f-string(重点掌握)
print(f'我叫{name},今年{age}岁,年收入{salary}亿') # 我叫周杰伦,今年25岁,年收入1.2356亿
# 方式二: 占位符
# %s 字符串
# %d 整数
# %f 小数,浮点数,浮点型 %.2f 代表保留小数点后两位(四舍五入)
# print('hello,%s' % name)
print('我叫%s,今年%d岁,年收入%.2f亿' % (name, age, salary)) # 有几个百分号就要写几个实参 我叫周杰伦,今年25岁,年收入1.24亿
# print('我叫%s,今年%d岁,年收入%f亿' % (name, age, salary)) # 我叫周杰伦,今年25岁,年收入1.235600亿
# round() 四舍五入
round(1.2356) # 默认保留整数 得到结果是 1
print(round(1.2356))
round(1.2356, 2) # 代表保留小数点后两位
print(round(1.2356, 2)) # 四舍五入 保留两位小数 1.24
# bool 布尔类型 True(即1) False(即0) 可以用来做数学运算
b = False
print(type(b)) # <class 'bool'>
print(True + 1) # 2
print(False + 1) # 1
print(b + 1) # 1
print(b + 2) # 2
# NoneType 类型 不能继续做别的运算 有的语言里面是null
c = None
print(type(c)) # <class 'NoneType'>
# print(None + 1) # 报错 不支持NoneType类型与整型做运算
# list 列表,数组 可以储存多个数据类型的数值,但是一般一个列表里尽量保持一个类型 列表是有序的
a = [10, 20, 30] # 为了方便批量处理 列表虽然可以存储不同类型,但一般存储同类型
# 索引,下标 索引值从0开始,0取到的是第一顺位的数值 列表的灵魂
print(a[0]) # 10
print(a[1]) # 20
print(a[2]) # 30
# print(a[3]) # 报错 索引错误:索引超出列表范围 IndexError: list index out of range
print(a[-1]) # 30 倒着取数,倒数第一个数 很多语言中不支持 python可以
print(a[-2]) # 20
print(a[-3]) # 10 取倒数第三个数字
# print(a[-4]) # -4 没有倒数第四个数 报错 索引错误:索引超出列表范围 IndexError: list index out of range
# 长度,元素的个数
print(len(a)) # 列表的元素个数 3
# tuple 元组:也可以认为是不可更改的列表 其他语言有的也没有元组
t = ()
print(type(t)) # <class 'tuple'>
t = (10, 20, 30)
print(type(t)) # <class 'tuple'>
# 索引:和列表一样
print(t[0], t[1], t[2]) # 10 20 30
print(t[-1], t[-2], t[-3]) # 30 20 10
# 元组只有一个元素必须以,结尾
t2 = (10, ) # <class 'tuple'>
print(type(t2))
# t3 = (10) # <class 'int'>
# t3 = (10 + 1) * 2 # 因为在数学运算中可以加括号提升优先级 直接写一个值python会认为是提升优先级用的
# print(type(t3))
# 将列表第一个元素更改为 999
print(a) # [10, 20, 30]
a[0] = 999 # [999, 20, 30]
print(a)
# 元组的元素不可更改
print(t)
# t[0] = 999 # 报错 类型错误 元组的元素不支持修改 TypeError: 'tuple' object does not support item assignment
# print(t)
# 字典 dict dictionary 由键值对组成 可以存字符串也可以存数字
# key: value 键:值
d = {"name": "坤", "age": 30, "like": "唱跳rap"}
print(type(d)) # <class 'dict'>
# 取值 d['key'] 列表和元组可以用索引取值,但是字典必须使用key来取值
print(d['name']) # 坤
print(d['age']) # 30
print(d['like']) # 唱跳rap
# 练习
persons = [
{"name": "谢帝", "age": 30, "qq": 123456},
{"name": "诺米", "age": 20, "qq": 789678},
{"name": "刘聪", "age": 10, "qq": 345678}
]
print(persons[0]['name'])
# set 集合(了解) 具有唯一性,自动去重,对去重结果自动排序,默认是升序, 所以集合是有序排列
s = {10, 20, 30}
print(s, type(s)) # {10, 20, 30} <class 'set'>
s = {20, 10, 30, 30, 20, 10, 20, 30}
print(s, type(s)) # {10, 20, 30} <class 'set'>
# bytes 字节,二进制类型(了解) 一般自己创建的时候很少会主动创建字节类型
b = b'hello' # 一般引号里面不要放中文 放英文
print(b, type(b)) # b'hello' <class 'bytes'>
# 练习:找到下面的名字nn和图片rs1的值 爬虫斗鱼得到的数据,一般需要处理的数据类型不会包含元组,大部分是字典和列表等等的组合
# 类似下方的数据在爬虫得到的解析数据中很常见,经常出现
d = {
"code": 0,
"msg": "success",
"data": {
"ct": {
"iv": 1,
"ivcv": 1,
},
"rl": [
{
"nn": "陈周周",
"rs1": "https://rpic.douyucdn.cn/live-cover/roomCover/2022/02/15/b3303829d885e8facf17820c7f5a18bf_small.png/dy2",
}
]
}
}
print(d['data']['rl'][0]['nn']) # 陈周周
print(d['data']['rl'][0]['rs1']) # https://rpic.douyucdn.cn/live-cover/roomCover/2022/02/15/b3303829d885e8facf17820c7f5a18bf_small.png/dy2 类似这样的图片链接 获取之后可以进行下载