随笔- 71  文章- 17  评论- 0  阅读- 5326 

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   念白SAMA  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示