凡人无法打开的文件8

数据类型

 # 什么是数据类型?
    在现实生活中存储数据的方式和表现形式有很多
    	文本文件 表格文件 视频文件 音频文件 图片文件...
     在IT世界里 数据的存储方式和表现形式也是千遍万华的

数据类型之整形

# 大白话理解就:整数int
作用:记录人的年龄 班级 人数.....
定义:
	age=18 #直接写整数相关状态即可
    print(type(age))

数据类型之浮点型

# 大白话理解:小数点; 小小数float
作用:记录人的体重 薪资 身高
定义:
 salary=3.1 #直接写小数的
    print=(type(salary))

小总结

# 整形与浮点型统称为数字类型
 	# 主要用于数学运算和比较运算

变量三要素

1.value  # 值
2.id  # 一串数字相当于内存地址的唯一标识
3.type  # 查看值的数据类型

数据类型之字符串str

作用:主要用于记录描述性性质的数据 eg:姓名 地址 邮箱
定义:
    方式1  # 单引号
    	name = 'jason'
    方式2  # 双引号
    	name = "jason"
    方式3  # 三个单引号(左侧出现了赋值符号和变量名为字符串 否则为注释)
    	name = '''jason'''
    方式4  # 三个双引号(左侧出现了赋值符号和变量名为字符串 否则为注释)
    	name = """jason"""
ps:引号引起来的部分
    
# 为啥定义字符串需要这么多种方式?
	res = 'jason老师说:'年轻不是挥霍的资本 更不要高估自己'  '
    目的是为了防止字符串文本内还需要使用到引号 为了避免冲突
	res = 'jason老师说:“年轻不是挥霍的资本 更不要高估自己”'

数据类型之列表list

作用:能够存储多个数据并且可以方便的取出任意个数
特征:中括号括起来 内部可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型
    [11, 1.1, 'jason', [11, 22, 33]]
 
# 索引取值(从0开始的连续数字)
print(names_list[1])  # tony
print(names_list[3])  # tom


# 小练习
l1 = [11, 1.1, 'jason', [11, 22, 33, [123, 321, 'jasonNB', 555]]]
# 索引取值(从0开始的连续数字)
# print(names_list[1])  # tony
# print(names_list[3])  # tom
# 1.jasonNB在列表的第几个元素
l2 = l1[3]  # [11, 22, 33, [123, 321, 'jasonNB', 555]]
# 2.jasonNB在列表l2的第几个元素
l3 = l2[3]  # [123, 321, 'jasonNB', 555]
# 3.jasonNB在列表l3的第几个元素
l4 = l3[2]  # jasonNB
# 整合
print(l1[3][3][2])  # jasonNB

数据类型之字典dict

作用:能够更加精准的存储数据
定义:大括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素是K:V键值对的形式
     K是对V的描述性性质的信息(一般情况下都是字符串)
     V是真正的数据 相当于变量的值 可以是任意数据类型
        
d = {
     'username': 'jason',
     'age': 18,
     'hobby': '学习',
     'salary': 13
     }
# 字典无法使用索引取值
# print(d[0])
# 字典取值需要借助于K
# print(d['username'])  # jason
# print(d['salary'])  # jason


# 小题目
info = {
    'username': 'jason',
    'addr': ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}]
}
# 1.中国最牛逼在大字典的哪个位置
l1 = info['addr']  # ['安徽', '芜湖', {'国家': '中国', '编号': [11, 22, '中国最牛逼']}]
# 2.中国最牛逼在列表的哪个位置
d1 = l1[2]  # {'国家': '中国', '编号': [11, 22, '中国最牛逼']}
# 3.中国最牛逼在小字典的哪个位置
l2 = d1['编号']  # [11, 22, '中国最牛逼']
# 4.中国最牛逼在小列表的哪个位置
res = l2[2]  # '中国最牛逼'
# 整合
print(info['addr'][2]['编号'][2])

数据类型之布尔值bool

作用:用于判断事物的对错 是否可行等
定义:布尔值只有两种状态
	 True  对的 正确的 可行的
     False 错的 不可行的 ...
  
# 补充
针对布尔值的变量名一般采用is开头
	is_right = True
    is_delete = False
    is_alive = True
# 扩展
	显示生活中的数据存储与销户 其实很大概率上并没有删除数据 
    而是修改了数据的某个唯一标识 然后通过代码筛选过滤掉
# 记忆
	在python中所有的数据类型都可以转成布尔值
    	布尔值为False的有:
            0,None,'',[],{}...
         其他情况一律为True

数据类型之元组tuple

作用:与列表几乎一致 内部可以存放多个元素(可以看成是不可变的列表)
定义:用小括号括起来 内存存放多个元素 元素与元素之间逗号隔开 元素不支持修改
    t = (11, 22, 33, 44)

数据类型之集合set

作用:去重和关系运算
定义:用大括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素不是K:V键值对
    s = {11, 22, 33, 44}

与用户交互

# 输入
	# 获取用户输入
    username = input('请输入您的用户名>>>:')
    '''将input获取到的用户输入绑定给变量名username'''
    print(username, type(username))
    # input获取到的用户输入全部都会转成字符串
    
# 输出
	print()
    1.括号可以使用逗号隔开多个元素一起打印
    2.自带end参数 可以控制打印的排版
    	print(123,end='\n')
        print(123,end='$')

格式化输出

将字符串中某些内容替换掉再输出就是格式化输出

res = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
print(res % ('jason', 11, 100, 99999999999))
print(res % ('tony', 11, 200, -100))
print(res % ('kevin', 11, 500, -999))
"""
1.先使用占位符占位  %s
2.再使用%按照位置一一替换
"""

# %d只能给数字占位(了解)
print('%08d' % 123)
print('%08d' % 1)
print('%08d' % 666)
print('%08d' % 6666666666666)

运算符

# 算术运算符
	// % **
# 比较运算符
	==  判断值是否相等
    !=  值不等于
# 赋值运算符
	=
    
# 增量赋值(偷懒)
	n = 666
    n = n + 1  # n += 1   
    n = n - 1  # n -= 1
    n = n * 1  # n *= 1
    n = n / 1  # n /= 1
    
# 链式赋值(偷懒)
    # x = 666
    # y = x
    # z = y
    x = y = z = 666
    
# 交叉赋值(笔试题)
    m = 10
    n = 999
    # 错误解答
    # m = n
    # n = m
    # print(m,n)  # 999 999

    # 方式1 利用中间变量
    # tmp = m
    # m = n
    # n = tmp
    # print(m, n)  # 999 10
    # 方式2 交叉赋值
    m, n = n, m
    print(m, n)  # 999 10

# 解压赋值
    name_list = ['jason', 'kevin', 'tony', 'jack']
    # name1 = name_list[0]
    # name2 = name_list[1]
    # name3 = name_list[2]
    # name4 = name_list[3]
    # 解压赋值
    # name1, name2, name3, name4 = name_list  # 左右两边个数相等
    # name1, name2, name3 = name_list  # 少一个不行
    # name1, name2, name3, name4, name5 = name_list  # 多一个也不行
    # 进阶用法:可以打破上述规律  特殊符号 *号
    name1, *_, name2 = name_list
    print(name1, _, name2)  # jason ['kevin', 'tony'] jack
    name1, *_ = name_list
    name1, name2, *_ = name_list
    '''
    *可以接受多余的元素 组织成列表赋值给后面的变量名
    下划线单独作为变量名 通常表达的意思指向的值没有啥用
    '''

逻辑运算符

在python逻辑运算符就三个

and	与
	用于连接多个条件并且多个条件必须都成立才可以
or	或
	用于连接多个条件并且多个条件只要有一个成立即可
not 非
	取反
  
print(2 > 1 and 1 != 1 and True and 3 > 2)
print(2 > 1 or 1 != 1 or True or 3 > 2)
print(not True)
"""三个连接符号如果混合使用 是有优先级的"""
但是我们在编写的时候应该人为的规定好优先级

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值