首页 > 其他分享 >八大基本数据类型

八大基本数据类型

时间:2024-05-08 12:34:26浏览次数:23  
标签:基本 info 八大 name dream age 数据类型 print my

八大基本数据类型

【一】八大基本数据类型介绍

# 【1】数字类型
# 	(1)整数类型
# 	(2)浮点数类型
# 【2】字符串类型
# 【3】列表类型
# 【4】字典类型
# 【5】布尔类型
# 【6】元组类型
# 【7】集合类型

【二】数字类型

整数类型
# 语法: 变量名 = 数字
age = 18
# 使用场景 加减乘除
浮点数类型
# 语法: 变量名 = 浮点数
weight = 50.00
#使用场景 
身高  取款  体重 等等

【三】字符串类型 " "

【1】用途
# 用来标识文本信息
【2】语法
# 变量名 = 变量值(加引号 ,一个单引号,一个双引号,三个单引号,三个双引号)
name = "dream"
name = 'Dream'
name = '''Dream'''
name = """Dream"""
#单双引号混用
name = "'name'"  # 双引号中混用的单引号
print(name, type(name))  # 'name' <class 'str'>
name = '"name"'  # 单引号中混用的双引号
print(name, type(name))  # "name" <class 'str'>
# 测试在双引号内存出现单独的单引号
name = "name'"
print(name, type(name))  # name' <class 'str'>
name = 'name"'
print(name, type(name))  # name" <class 'str'>

#防止歧义
单引号内部不能出现单独单引号,但是单引号内部可以出现单独的双引号
双引号内部不能出现单独双引号,但是双引号内部可以出现单独的单引号

在三引号内部,如果第一行不写内容默认存在一个换行
sentence = '''my name is dream ,
I'm 18 years old,
hope you 'wonderful!'
'''
print(sentence, type(sentence))  # <class 'str'>


【3】使用方法
# (1)字符串加法
print(1 + 1)
# 字符串 + 字符串 =  字符串
print("1" + "1", type("1" + "1"))  # 11 <class 'str'>

# (2)字符串乘法
print(1 * 9)
# 字符串 * 数字 = 当前字符串重复出现几次
print("1" * 9)

索引取值

word = "Hello World"
# 索引取值的语法 字符串[索引坐标]
# 取出来的值还是字符串
print(word[0])
print(word[5], type(word[5]))  # <class 'str'>
print(word[10])

计算当前字符串的总字符数

print(len(word), type(len(word)))  # 11
# 当我们使用正索引取值的时候,索引是从 0 开始 0 - 10
print(word[len(word) - 1])
# 如果是负索引取值,从 -1 开始 ,可以取到 -11
print(word[-len(word)])

字符串的格式化输出

# myself_sentence = "my name is dream,my age is 18,"
# myself_sentence = "my name is hope,my age is 18,"
# 变量可以用来存储值

【1】%占位输出法

# myself_sentence = "my name is %s,my age is %s" % (name, age)
# myself_sentence = "my age is %s,my name is %s" % (name, age)
%s : string字符串类型的数据
%d : int类型的数据
# myself_sentence = "my age is %d,my name is %s" % (name, age)
# TypeError: %d format: a real number is required, not str

【2】f + {}

# myself_sentence = f"my name is {name},my age is {age}"

【3】format输出语法

# 按照位置传值
# myself_sentence = "my name is {},my age is {}".format(name, age)
# 按照关键字传值
myself_sentence = "my age is {age},my name is {name}".format(name=name, age=age)
print(myself_sentence)

# \ 在python中输入数转移符号
# name = "dream \n"
name = "dream\\"  # dream\
print(name)
print(age)

【四】列表类型 [ ]

# 【1】作用
# 可以在列表中存放从多个值,不限制数据类型
# 比如我用一个列表存储很多学生的名字
# 【2】语法
name_list = ["dream", "hope"]
print(name_list, type(name_list))
# ['dream', 'hope'] <class 'list'>
# 【3】放了值是为了方便使用
# (1)索引取值
# 索引取值正向从 0 开始,负向 -1 开始
print(name_list[0])
print(name_list[-1])

# 【4】索引支持嵌套
info_list = [
    "dream", ["15", ["上海"]]
]
# 如果想取到最后一层
print(info_list)  # ['dream', ['15', ['上海']]]
print(info_list[1])  # ['15', ['上海']]
print(info_list[1][1])  # ['上海']
print(info_list[1][1][0])  # 上海

【五】字典类型

# 【1】作用
# 可以记录多个值,并且这些值带有各自及的名字
# 字典数据存储的方式 是  key:value

# 【2】语法
# 里面存的每一个值都是 key:value 的 kv键值对
infO_data = {
    "name": "dream",
    "age": 18,
    "hobby": ["music", "run", "make girlfriends"]
}

字典不支持索引取值

# print(infO_data[0])

字典根据键取值

print(infO_data["name"])  # dream
# [key] 取值,如果字典中不存在当前 键 就会报错
# print(infO_data["addr"])# KeyError: 'addr'

.get(键)取值

print(infO_data.get("name"))  # dream
# .get(key) 取值,如果字典中不存在键对应的值不会报错,而是反悔了一个 None
print(infO_data.get("addr"), type(infO_data.get("addr")))  # None <class 'NoneType'>

示例

info = {
    'name': 'Dream',
    'addr': {
        '国家': '中国',
        'info': [
            666,
            {'age': 18}, 
            999,
            {'编号': 466722, 'hobby': ['read', 'study', 'music']}
        ]
    }
}

# 格式化输出
# sentence = "my name is name ,my age is age ,my id is id ,my location is location , my hobby is music-read-study"
# 从 info 字典中获取 name 键对应的值即可
name = info.get("name")
# 从 info 字典中 获取到 addr 对应的 字典 ,再 从字典中获取 键 国家 对应的值
location = info["addr"].get("国家")
age = info["addr"]["info"][1].get("age")
id = info["addr"]["info"][3].get("编号")
hobby = info["addr"]["info"][-1].get("hobby")[0] + '-' + info["addr"]["info"][-1].get("hobby")[1] + '-' + \
        info["addr"]["info"][-1].get("hobby")[2]

# sentence = f"""my name is {name} ,
# my age is {age} ,
# my id is {id} ,
# my location is {location} ,
# my hobby is {hobby}
# """

sentence = f"""my name is {info.get("name")} ,
my age is {info["addr"]["info"][1].get("age")} ,
my id is {info["addr"]["info"][3].get("编号")} ,
my location is {info["addr"].get("国家")} , 
my hobby is {info["addr"]["info"][-1].get("hobby")[0] + '-' + info["addr"]["info"][-1].get("hobby")[1] + '-' + info["addr"]["info"][-1].get("hobby")[2]}
"""
print(sentence)

【六】布尔类型 True False

布尔类型即真或假

在python中真假情况:

# 哪些情况是真?
# 数字 1 为真
# 哪些情况是假?
# 不存在的情况:空值为假,空的字符串、空的列表、空的字典、空的元组、数字 0
name = ""
name = []
name = {}
name = 2
# name = False
print(bool(name))  # False
name = "11"
print(bool(name))

【七】元组类型 ( )

元组用来存储不变的元素

特别注意:元组中有一个元素的时候一定要加 ,

name = ("dream")
print(name, type(name))  # dream <class 'str'>
name = ("dream",)
print(name, type(name))  # ('dream',) <class 'tuple'>
# name[0] = "hope"
# print(name)

# 元组的解包 ; 解压赋值
info = ("dream", 18)
print(info[0])
print(info[1])
name, age = ("dream", 18)
print(name)
print(age)

【八】集合类型

集合无序且去重

{key:value} : 字典

{key} : 集合

num = {1, 2, 3, 4, 5, 5, 5, 5, 5, 5}
print(num, type(num))

num = {1, 2, 3, 'name', 'dream', 4, 1.11, 5, 5, 5, 5, 5, 5}
print(num)
# {1, 2, 3, 4, 1.11, 5, 'dream', 'name'}
# {1, 'name', 3, 2, 4, 1.11, 5, 'dream'}
# {'name', 2, 3, 4, 1, 1.11, 5, 'dream'}
无序 去重

集合类型中不能存放字典和列表 :

*** 因字典和列表是可变数据类型不能被 hash***

标签:基本,info,八大,name,dream,age,数据类型,print,my
From: https://www.cnblogs.com/yi416/p/18179413

相关文章

  • 线程基本概念
    1.进程与线程1.1进程 进程是资源分配的单位,系统在运行时会为每个进程分配不同的内存区域1.2线程 线程是调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线程切换的开销小。 一个Java应用程序java.exe,其实至少有三个线程:main()主线程(受异常影响),gc()垃圾回收......
  • mysql基本语法
    1.DDLDataDefinitionLanguage,数据定义语言,用来定义数据库对象(数据库,表,字段)。 1.1数据库操作查询所有数据库showdatabases;查询当前数据库selectdatabase();创建数据库createdatabase[ifnotexists]数据库名[defaultcharset字符集][col......
  • python基本知识
    变量整型num=111浮点型num=1.11 字符串型#字符串不能通过索引进行修改num='aaaa'num="aaaa"num='''aaaaa'''num=123num=str(num)单引号、双引号以及三引号的区别单引号、双引号的内容都是str类型,当字符串要包含""时,需要用''去包含,反之亦然......
  • WPF/C#:ProgressBar的基本使用
    前言在日常开发过程中,如果遇到需要一段时间才能完成的任务,通常需要给用户一个进度条提示。今天给大家介绍的是WPF/C#中ProgressBar的基本使用。ProgressBar的介绍在WPF(WindowsPresentationFoundation)中,ProgressBar是一个用户界面元素,用于显示一个操作的进度。ProgressBar有......
  • 从零手写实现 tomcat-03-基本的 socket 实现
    创作缘由平时使用tomcat等web服务器不可谓不多,但是一直一知半解。于是想着自己实现一个简单版本,学习一下tomcat的精髓。系列教程从零手写实现apacheTomcat-01-入门介绍从零手写实现apacheTomcat-02-web.xml入门详细介绍从零手写实现tomcat-03-基本的socket实......
  • 基本的Dos命令
    打开CMD的方式1.开始+系统+命令提示符Windows建中找到Windows系统中的命令提示符2.Win建+R输入CMD打开控制台(推荐使用)3.在任意文件夹下面,按住shift建+鼠标右键点击,在此打开执行命令窗口4.资源管理器的地址栏前面加上cmd路径(cmd后有空格)管理员身份运行:选择以管理员方......
  • NumPy 数组切片及数据类型介绍
    NumPy数组切片NumPy数组切片用于从数组中提取子集。它类似于Python中的列表切片,但支持多维数组。一维数组切片要从一维数组中提取子集,可以使用方括号[]并指定切片。切片由起始索引、结束索引和可选步长组成,用冒号:分隔。语法:arr[start:end:step]start:起始索引(默认......
  • 自定义单链表(非循环)的基本接口函数
    文件描述及头文件包含/********************************************************************* 文件名称: 单链表(非循环)的基本接口程序* 文件作者:[email protected]* 创建日期:2024/05/07* 文件功能:对单链表的增删改查功能的定义* 注意事项:No......
  • 自定义单链表(非循环)反转的基本函数接口
    题干structListNode*ReverseList(structListNode*head){if(head==NULL||head->next==NULL){returnhead;}else{structListNode*Phead=head;structListNode*temp=head->next;Phead->next=NULL;......
  • 几个操作系统的基本概念
    目录四种常见文件系统比较MMU内存管理单元Linux系统内核的作用Linux系统目录和windows系统目录的区别四种常见文件系统比较​四种常见的文件系统分别为FAT16、FAT32、NTFS、ExFAT,存储方式和特性各不相同。我们可以在电脑磁盘,U盘等文件属性看到归属的不同文件系统。以U......