python的数据类型详解

news2024/11/15 12:09:02

python基础

    • 认识python基本类型
      • python的注释风格有三种(也可以说是两种)
      • python的对齐方式
      • python的多行语句折断
      • 字符串类型的“计算”
      • 列表的常见用法
      • 元组的常见用法
      • 集合set的常见用法
      • 字典的常见用法
      • bytes类型
      • python的输入输出
      • python中的引用

认识python基本类型

python的数据类型一般不会去定义,作为python的数据类型是比较特殊的,python数据是使用赋值作为数据类型的定义,所以我们列出一些基本的数据类型。(ps:详解可看目录直接跳!)

a = 10 # 整型,python没有长整型
b = 1.1 # 浮点型
c = "hello" # 字符串类型
e = True # 布尔型
f = [1,2,3,4,5] # 列表
g = (1,2,3,4,5) # 元组
h = {'Google', 'Taobao', 'Runoob'} # 集合
i = {"one":1,
    "two":2} # 字典

在以上数据结构中不可变数据:整型、字符串类型、元组

可变数据:列表、字典、集合

使用type()的内置函数可以打印当前的数据类型。也可以使用isinstance([数据],[检测类型])来判断数据是否为这个类型。

两者的区别就是,type()不会认为子类是一种父类型。

isinstance()则会认为子类是一种父类型。

在python3中,bool是int的子类,所以使用isinstance(bool,int)结果为true

True和false可以和数字相加,true=1,false=0,当用于判断时却不是那么回事。

print(isinstance(bool,int))
print(True+1)
print(False+1)
print(True is 1)
print(False is 0)

python的注释风格有三种(也可以说是两种)

# 使用#号注释
"""
文本注释
"""
'''
文本注释
'''

python的对齐方式

域其他语言不同的是,python使用 [空格]来表示缩进,而且是根据不同的空格数字来表示同一个代码块。

if True:
    print("True")
else:
    print("False")

如果后续代码的缩进格式存在问题,则编译器会报错。

python的多行语句折断

python中如果一条语句太长了可以使用\进行折断,实现多行语句。

total = item_one + \
        item_two + \
        item_three

在[],{},或者()中的多行语句不需要使用反斜杠\

字符串类型的“计算”

python和其他语言一样都是使用反斜杠\来进行转义字符,使用r可以让反斜杠不发生转义。

在python中字符串类型不仅可以用来进行+法运算,还可以用于*法运算,而乘法的作用是重复字符串。

在字符串中可以使用[::]来截取字符串,还可以设置步长,需要注意的是,0代表第一个字符的下标,而-1代表最后一个字符。

string = "123456"
print(string)
print(string*2)              # 重复两次字符串
print(string[0:-1])          # 输出字符串
print(string[1:4])           # 输出第二个字符串开始到第五个字符串结束
print(string[2:])            # 从第三个字符开始输出所有字符串
print(string[1:6:2])         # 从第二个字符开始输到第七个字符,步长为2
print(string + "hello")      # 字符串相加
# \n 的作用
print("12345\n6789")     
print(r"12345\n6789")     # 打印原始字符串

在这里插入图片描述

列表的常见用法

列表其实和字符串差不多,不过列表是比字符串好用的,列表可以完成大多数数据集合类的数据结构实现。

组成列表的数据结构可以不相同,可以是字符串,整形,浮点型以及列表(嵌套)。

列表使用[]来存储数据,使用,分割数据,列表和字符串一样都可以用于分割元素。

# 变量[下标1:下标2] 
arr = ['abcd','123',234,2.23,'hello']
arr2 = [123,"pig"]
print(arr)        #打印整个列表
print(arr[0])     #打印列表第一个元素
print(arr[1:3])   #打印列表第二个元素到第四个元素
print(arr[2:])    #打印列表第三个元素到第最后
print(arr2*2)     #重复打印列表
print(arr+arr2)   #打印两个列表相加

在这里插入图片描述

列表中的元素可以引用下标进行改变。

arr = ['abcd','123',234,2.23,'hello']
arr[0] = "world"
print(arr)        #打印整个列表
arr[2:4]=[]
print(arr)        #打印整个列表

在这里插入图片描述

元组的常见用法

元组与列表类似,不过不能进行修改。

元组在()中,使用,隔开。

元组中的类型可以相同也可以不同。

tuple = ('abcd', 123, 2.23, 'runoob', 70, 899)
tinytuple = (123, 'runoob')

print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[3:5])  # 输出从第四个元素开始到第五个元素
print(tuple[3:])  # 输出从第四个元素开始的所有元素
print(tinytuple * 2)  # 输出两次元组
print(tuple + tinytuple)  # 连接元组

在这里插入图片描述

虽然元组是一个不可变的对象,但是可以包含可变对象list和其他可变对象。

当构造一个空元组时和单一元素元组时需要注意:

tup1 = () #空元组
tup2 = (20,) #一个元素的元组

注意:这里需要添加,不然系统只会觉得你创建了一个其他类型的数据。

和上面一样

1.元组也可以使用切片

2.元组也可以使用+*

集合set的常见用法

python的集合是一种无序,可变的数据类型,用于存储唯一的元素。

集合中元素不会重复,可以进行交集,并集,差集等集合操作。

使用{}表示集合,使用,分割集合中元素。同样的,也可以使用set()函数创建集合。

空集合只能使用set(),空{}是用于创建空字典。

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Google'}

print(sites)   # 输出集合,重复的元素被自动去掉

# 成员测试
if 'Runoob' in sites :
    print('Runoob 在集合中')
else :
    print('Runoob 不在集合中')

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)

print(a - b)     # a 和 b 的差集

print(a | b)     # a 和 b 的并集

print(a & b)     # a 和 b 的交集

print(a ^ b)     # a 和 b 中不同时存在的元素

在这里插入图片描述

字典的常见用法

字典是python中一个内置数据类型。

字典是一个无需对象的集合,字典中的元素是通过键来存取的,而不是通过下标。字典相当于hashmap.

使用{}标识,是一个无序的键key:值value的集合,注意 key 必须使用不可变类型,在同一个字典中,每一个 key 都是唯一的,如果有相同的两个键,就会自动覆盖旧key,一般取数据都是使用键值。

dict1 = {}
dict1['one'] = "www.baidu.com"
dict1['two'] = "www.163.com"
print(dict1)           # 输出完整的字典
print(dict1['one'])    # 输出键为one的值
print(dict1.keys())    # 输出所有键
print(dict1.values())  # 输出所有值

在这里插入图片描述

bytes类型

在python中,bytes表示的是0~255之间的整数。创建bytes数字的方式有很多种,常见的是用`b`作为前缀。也可以使用bytes()函数将其他类型的数字转换为bytes类型。

bytes 类型通常用于处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。

x = bytes("hello",encoding="utf-8")
# bytes 同样也支持切片、查找、替换等操作、
x = b"hello"
y = x[1:3]
print(y)
z = x+b"world"
print(z)

在这里插入图片描述

数据类型转换方法,常用方法是[数据类型](要转换的数据)

y = 123
str(y)
print(type(y))

在这里插入图片描述

python的输入输出

# 输入,尽管用户输入的是整数,input会将其当作字符串类型
num = input('请输入一个整数')
#输出
print(num)
#如果要将输入的整数进行相加,需要改变其数据类型
num = int(num)
# 在输出时,使用前置f和不使用前置f的区别
a = 10
b = 20
print('a+b={a+b}')
print(f'a+b = {a+b}')
# 使用了前置f可以读取{}的内容,而不使用,是将其作为普通字符串的

print默认输出是换行的,如果不需要换行,需要在末尾添加end = " "

print(10,end = " ")
print(20,end = " ")

如需重复输入则需要使用循环

题目示例:请输入三个浮点数,求他们的和

a = input("请输入一个浮点数")
b = input("请输入一个浮点数")
c = input("请输入一个浮点数")
# 类型转换
a = float(a)
b = float(b)
c = float(c)
#打印
print(f"a+b+c={a+b+c}")

在这里插入图片描述

因为浮点数在python中是没有确切的值,所以python会自动将起作为一个无限小数

而如果你想要得到确切的值,可以使用f{num:.[几位小数]f}

# 保留小数点后两位
print(f"a+b+c={a+b+c :.2f}")

在这里插入图片描述

python中的引用

import与from……import是用于导入相应模块的。

比如需要导入somemodule可以写作import somemodule

从某个模块中导入某个函数可以写作from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *在后续写代码时会频繁使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于环境音频和振动数据的人类活动识别

这篇论文的标题是《Recognition of human activities based on ambient audio and vibration data》,作者是 Marcel Koch 等人,发表在 IEEE Access 期刊上。论文提出了一种基于环境音频和振动数据的分布式多传感器系统,用于识别人类活动。以下…

窗口框架frame(HTML前端)

一.窗口框架 作用&#xff1a;将网页分割为多个HTML页面&#xff0c;即将窗口分为多个小窗口&#xff0c;每个小窗口可以显示不同的页面&#xff0c;但是在浏览器中是一个完整的页面 基本语法 <frameset cols"" row""></frameset><frame…

好的知识竞赛策划公司哪里去找

活动不管多大&#xff0c;都败在策划公司手中&#xff01;要找到好的策划公司&#xff0c;可以考虑以下几个途径&#xff1a; 1.搜索引擎&#xff1a; 通过搜索引擎&#xff0c;可以找到行业内有实力的优秀策划公司。尽管有些公司是打广告&#xff0c;那总比没钱打广告的公司…

Codes 开源研发项目管理平台——敏捷测试管理创新解决方案

前言 Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台&#xff0c;支持云端认证、本地部署、全部功能开放&#xff0c;并且对30人以下团队免费。它通过整合迭代、看板、度量和自动化等功能&#xff0c;简化测试协同工作&#xff0c;使敏捷测试更易于实施。并提供低成本的…

C#与Python脚本使用共享内存通信

实现的功能&#xff1a; C#中读取一张图像&#xff0c;通过共享内存传给python脚本进行处理后将图像进行存储&#xff0c;C#读取处理过后的图像。 C#与python通信有好几种&#xff0c;为什么选择共享内存&#xff1f; 处理图像的速度需求是1秒钟处理5张以上&#xff0c;通过…

《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】

《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】 《中文Python穿云箭量化平台》是纯Python开发的量化平台&#xff0c;因此其中很多Python模块&#xff0c;我们可以自己设计新的量化工具&#xff0c;例如自己新的行…

1----安卓机型修复串码 开启端口 檫除基带 支持高通与MTK机型工具预览与操作解析

在玩机过程中。很多玩家会碰到各种各样的故障 。其中最多的就在于基带 串码类。由于目前的安卓机型必须修改或者写入串码等参数必须开启端口。而一些初级玩友不太了解开启参数端口的步骤。这个工具很简单的为安卓机型开启端口。并且操作相对简单。 此工具基本功能 1-----可以…

linux入门到实操-4 linux系统网络配置、连接测试、网络连接模式、修改静态IP、配置主机名

教程来源&#xff1a;B站视频BV1WY4y1H7d3 3天搞定Linux&#xff0c;1天搞定Shell&#xff0c;清华学神带你通关_哔哩哔哩_bilibili 整理汇总的课程内容笔记和课程资料&#xff08;包含课程同版本linux系统文件等内容&#xff09;&#xff0c;供大家学习交流下载&#xff1a;…

第15-03章:类的加载与ClassLoader的理解

3、类的加载与ClassLoader的理解 5.1.类加载(ClassLoad)的理解: a.类加载器的作用: 1.将class文件字节码内容加载到内存中&#xff0c;并将这些静态数据转换成方法区的运行时数据结构&#xff0c;然后在堆中生成一个代表这个类的java.lang.Class对象&#xff0c;作为方法区中…

一步迅速了解Linux

1&#xff0c;什么是LInux&#xff1f; Linux 是一个开源的操作系统(管理计算机硬件资源,人物调度)支持多用户,支持网络,支持多线程. 2&#xff0c;Linux特指什么&#xff1f; linux一词,特指的是linux内核 即最操作系统最核心的那一部分功能.负责管理 计算机的硬件资源&…

AIP接口调用

在当今数字化时代&#xff0c;API接口调用已成为连接不同软件和系统的重要手段。特别是在与淘宝这样的大型电商平台进行数据交互时&#xff0c;AIP&#xff08;人工智能平台&#xff09;接口的作用尤为显著。通过AIP接口&#xff0c;开发者可以访问和利用淘宝庞大的商品数据库&…

k8s介绍及部署

目录 一 Kubernetes 简介及部署方法 1.1 应用部署方式演变 1.2 容器编排应用 1.3 kubernetes 简介 1.4 K8S的设计架构 1.4.1 K8S各个组件用途 1.4.2 K8S 各组件之间的调用关系 1.4.3 K8S 的 常用名词感念 1.4.4 k8S的分层架构 二 K8S集群环境搭建 2.1 k8s中容器的管…

[苍穹外卖]-12Apache POI入门与实战

工作台 需求分析: 工作台是系统运营的数据看板, 并提供快捷操作入口, 可以有效提高商家的工作效率 营业额: 已完成订单的总金额有效订单: 已经完成订单的数量订单完成率: 有效订单数/总订单数*100%平均客单价: 营业额/有效订单数新增用户: 新增的用户数量 接口设计: 一个接口返…

RabbitMQ(高阶使用)死信队列

文章内容是学习过程中的知识总结&#xff0c;如有纰漏&#xff0c;欢迎指正 文章目录 一、什么是死信队列&#xff1f; 二、死信队列使用场景 三、死信队列如何使用 四、打车超时处理 1.打车超时实现 以下是本篇文章正文内容 一、什么是死信队列&#xff1f; 先从概念解释上搞…

嵌入式通信原理—SPI总线通信原理与应用

文章目录 SPI 简介基本原理工作模式特点 SPI寻址方式1. 片选&#xff08;Chip Select, CS&#xff09;2. 多从设备通信3. 菊花链&#xff08;Daisy-Chain&#xff09;模式4. 地址寄存器&#xff08;应用层&#xff09; SPI通信过程时钟信号生成&#xff08;SCLK&#xff09;数据…

supermap Iclient3d for cesium加载地形并夸大地形

先看效果图 这是没有夸张之前的都江堰 这是夸大五倍后的都江堰 下面展示代码 主要就是加载supermaponline的skt地形然后夸大 <template><div class"PartOneBox"><div id"cesiumContainer"></div></div> </template>…

华为eNSP使用详解

eNSP&#xff08;Enterprise Network Simulation Platform&#xff09;是华为提供的一款网络仿真平台&#xff0c;它允许用户在没有真实设备的情况下进行网络实验和学习网络技术。eNSP可以模拟各种网络设备&#xff0c;如交换机、路由器、防火墙等&#xff0c;并支持创建多种网…

【mechine learning-十-grading descent梯度下降实现】

grading descent 梯度下降参数更新方法 --导数和学习率 从导数项直观理解梯度下降 grading descent 算法就是更新参数&#xff0c;今天来学习下如何更新w和b 梯度下降 还是以线性回归的均方差损失函数如下为例&#xff1a; 损失函数的可视化图如下 &#xff1a; 横轴和纵轴分…

[C++]类和对象(上)

我们在之前已经将C的入门基础做了讲解&#xff0c;在本章我们将系统性的阐述C中类和对象的基本定义和用法 1.类的定义 目录 1.类的定义 1.类定义的格式 2.访问限定符 3.类域 2.实例化 1.实例化的概念 2.实例化的对象大小 3.this指针 3.类的默认成员函数 1.构造函数…

二、Kubernetes中pod的管理及优化

目录 一 kubernetes 中的资源 1.1 资源管理介绍 1.2 资源管理方式 1.2.1 命令式对象管理 1.2.2 资源类型 1.2.3 基本命令示例 1.2.4 运行和调试命令示例 1.2.5 高级命令示例 二 什么是pod 2.1 创建自主式pod &#xff08;生产不推荐&#xff09; 2.2 利用控制器管理…