Python基本数据类型

1.列表(list)

1.1.本质

  • 存储多个数据,能方便获取整体或者局部
  • 描述:中括号括起来,内存可以存放多个数据值,数据值之间逗号隔开(数据值可以使任意类型)
  • 基本使用:l1 = [1, 2, 3]

1.2.索引取值

  • 在IT领域数字的起始位置通常是从0开始 现实生活中是从1开始
name_list = ['Tony', 'Mary', 'Bob']
print(name_list[0])  #Tony
print(name_list[1])  # Mary
print(name_list[2])  # Bob
print(name_list[100])  # 索引超出范围直接报错

遇到复杂构造的数据 先明确整体有几个数据值 然后再一步步拆分
	l1 = [11, 22, [111, 222, 333, [123, 321, 666], 444]]
# 1.先获取666所在的小列表
# print(l1[2])  # [111, 222, 333, [123, 321, 666], 444]
# l2 = l1[2]  # 将索引取值获取到的数据绑定给l2
# print(l2)  # 之后就可以通过l2获取列表
# 2.再获取666所在的小小列表
# print(l2[3])  # [123, 321, 666]
# l3 = l2[3]  # 将索引取值获取到的数据绑定给l3
# 3.变成了最简单的索引取值情况
# print(l3[2])
一步解决
print(l1[2][3][2])

2.字典(dict)

  • 存储多个数据,能够方便的获取整体或者局部,数据具有对于解释
  • 描述:大括号括起来 内部可以存放多个数据 数据的组织形式是K:V键值对(K是对V的描述性性质的信息,一般是字符串;V是真实的数据值,可以是任意数据类型)
  • 字典取值:字典无法使用索引取值(因为字典是无序的),可以使用按K取值
按K取值
info_dict = {'姓名': 'Tony', '年龄': 18, '爱好': 'read'}
print(info_dict['姓名'])  # Tony
print(info_dict['年龄'])  # 18
print(info_dict['家产'])  # K不存在直接报错
练习题
data = {
    'name': 'jason',
    'others': [
        111,
        222,
        {
            'a1': '嘿嘿',
            'a2': '哈哈',
            'a3': [
                123,
                {
                    'name': 'jason1',
                    'age': 18
                }]}]}
    1.先获取大列表
    l1 = data['others']
    # print(l1)  # [111, 222, {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]}]
    # 2.获取大列表中的字典
    d1 = l1[2]
    # print(d1)  # {'a1': '嘿嘿', 'a2': '哈哈', 'a3': [123, {'name': 'jason1', 'age': 18}]}
    # 3.获取字典的值
    l2 = d1['a3']
    # print(l2)  # [123, {'name': 'jason1', 'age': 18}]
    # 4.获取列表的数据
    l3 = l2[1]
    # print(l3)  # {'name': 'jason1', 'age': 18}
    # 5.按k取值
    # print(l3['age'])

    以上简写一步为:
    print(data['others'][2]['a3'][1]['age'])

3.布尔值(bool)

  • 本质:用来表示事物是否可行、是否正确、是否合理(总共就两个值)
  • 基本使用
    • is_right = True # 真 可以 正确
    • is_delete = False # 假 不可以 错误
  • 布尔值在程序中是最多的,也是使用频率最高的
  • 存储布尔值的名字一般使用is开头
  • 布尔值类型转换
    • 程序中所有的数据类型都可以转成布尔值
    • 布尔值为False的数据有
      • 0 None 空字符串 空列表 空字典 ...
      • 除上述之外所有的数据对于的布尔值都是True
  • 所有的编程语言都有布尔值,只是关键字和值可能有变化

3.元组(tuple)

  • 本质:存储多个数据,能方便获取整体或者局部,与列表的区别在于元组内数据值不能"直接修改" 而列表可以,所以元组有一个小外号——不可变的列表
  • 作用:一般用于存储一些只能看不能改的数据
  • 描述:小括号括起来 内存可以存放多个数据值 数据值与数据值之间逗号隔开(数据值可以是任意数据类型)
  • 基本使用:t1 = (1, 2, 3)

4.集合(set)

  • 集合只用于去重和关系运算
    • 去重:自动去除重复的数据
    • 关系运算:判断两个集合之间数据的关系
  • 基本使用:s1 =
  • 定义空集合
1 = {}
s1 = {}
print(type(d1))  # dict
print(type(s1))  # dict
ss = set()  # 必须使用关键字才能定义空集合
print(type(ss))

用户交互

1.输入

  • 本质:向计算机传递信息
input()  # 获取用户输入
name = input('请输入用户名:')
  1. 先获取用户输入的数据
  2. 再赋值给左边的name
  3. 然后通过name反复使用用户输入的数据

2.输出

  • 本质:计算机向外界输出信息
print()  # 打印数据值(括号内可以直接放数据值,也可以一次性打印多个值)

格式化输出

  • 在python中占位,需要使用占位符
    • %s: 支持所有数据类型替换 (使用最多)
    info1 = "%s您好!您已消费%s,余额是%s"
    print(info1 % ('NianBai', 500, 100))
    print("%s您好!您已消费%s,余额是%s" % ('NianBai', 500, 100))
    
    • %d: 只支持给数字占位
    info2 = "%d您好!您已消费%d,余额是%d"
    print(info2 % (99, 500, 100))
    print("%s您好!您已消费%s,余额是%s" % (99, 500, 100))
    
    

基本运算符

1.算术运算符

+ 加
- 减
* 乘
/ 除
// 整除
% 取模
**(次方) 幂指数

2.比较运算符

== 等于
!= 不等于

变种情况

x = x + 1 # x += 1
x = x - 1 # x -= 1
x = x * 1 # x *= 1
x = x / 1 # x /= 1

多种赋值符号

  • 链式赋值
x = 1
y = x
x = z
x = y = z = 1 
  • 练习题
让m绑定n绑定的数据值 让n帮忙m绑定的数据值
m = n
n = m
print(m)
print(n)

方式1:利用中间变量
tmp = m
m = n
n = tmp
print(m, n)

方式2:交叉赋值
m, n = n, m
print(m, n)

2.解压赋值

本质:赋值符号的左边至少有两个及以上的名字

左边的名字和右边的数据值,个数一致
name_list = ['jason', 'tony', 'kavin']
name1, name2, name3 = name_list

当带解压的数据非常多
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a, b, *c, d = l1 #在解压赋值的时候会自动将多余的数据值组织成列表赋值给*号后面的变量名
print(a)  # 1
print(b)  # 2
print(c)  # [3, 4, 5, 6, 7, 8]
print(d)  # 9

作业截图

image

 posted on 2022-06-20 22:55  念白SAMA  阅读(50)  评论(0)    收藏  举报