day02.02.python中的数据类型

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  类似这样的图片链接 获取之后可以进行下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值