《Python基础》之基本数据类型
目录
基本数据类型
1、Number(数字)
(1)、整数(int)
(2)、浮点数(float)
(3)、复数(complex)
(4)、 布尔值(bool)
2、String(字符串)
索引访问
切片操作
拼接操作
重复操作
大小写转换
去除空白字符
查找与替换
分割与连接
总结:
基本数据类型
在 python 中常见的基本数据类型一共有以下几种
1、Number(数字)
(1)、整数(int)
定义与特点:
整数类型用于表示正整数、负整数和零,在 Python 3 中,整数的长度不受限制,可以表示非常大的整数,不像有些编程语言对整数的取值范围有严格限定(例如在 C 语言中,根据不同的编译环境,int
类型有固定的字节数和取值范围)。例如:10
、-5
、0
这些都是合法的整数类型数据。
a = 10
b = -20
c = 0
print(a, b, c)
在上述代码中,变量 a
、b
、c
分别被赋值为不同的整数,然后可以直接进行输出或者参与后续的数学运算等操作。
(2)、浮点数(float)
定义与特点:
浮点数用于表示带有小数部分的数值,在计算机内部,浮点数采用 IEEE 754 标准来存储,存在一定的精度限制,并非能精确表示所有的实数。例如:3.14
、-2.5
、1.0
等都是浮点数。Python 中的浮点数可以用常规的小数形式表示,也可以使用科学计数法表示,比如1.23e2
表示1.23×10²
,也就是123.0
;2.5e-3
表示2.5×10⁻³
,即0.0025
。
num1 = 3.14
num2 = 1.23e2
print(num1, num2)
代码中分别定义了常规形式和科学计数法形式的浮点数,并进行输出展示。
(3)、复数(complex)
定义与特点:
复数由实数部分和虚数部分组成,在 Python 中,复数的表示形式为a + bj
,其中a
是实数部分,b
是虚数部分,j
(也可以用J
) 代表虚数单位。例如:3 + 4j
、2 - 5j
都是复数。复数类型在涉及到一些特定的数学领域,如信号处理、电气工程等学科相关的计算中会经常用到。
c1 = 3 + 4j
c2 = 2 - 5j
print(c1, c2)
print(c1 + c2) # 复数可以进行加减乘除等运算
上述代码首先定义了两个复数 c1
和 c2
,然后输出展示它们,并且演示了复数之间的加法运算,Python 会按照复数运算规则自动计算出结果 (5 - 1j)
。
(4)、 布尔值(bool)
定义与特点:
布尔值从本质上来说也属于数字类型,它只有两个取值:True
和False
,在 Python 中,True
相当于整数1
,False
相当于整数0
,常用于条件判断、逻辑运算等场景。例如,判断一个数是否大于另一个数,结果就是一个布尔值。
a = 5
b = 3
result = a > b # 这里的result就是布尔值True,因为5大于3
print(result)
代码中通过比较两个整数的大小,得到一个布尔值,并将其输出。
2、String(字符串)
定义与特点
字符串是由零个或多个字符组成的有序序列,字符可以是字母、数字、标点符号、空格以及其他各种可打印或不可打印的符号。在 Python 中,可以使用单引号(' ')、双引号("")或三引号(''' ''' 或""" """)来定义字符串。
s1 = '这是一个字符串'
s2 = "这是一个字符串"
s3 = '''这是一个字符串'''
s4 = """这是一个字符串"""
代码种用四种方法定义了四个字符串。
***字符串的常用方法***
索引访问
字符串中的每个字符都有一个对应的索引位置,索引从 0 开始。可以通过索引来获取字符串中的单个字符
s = "Python"
print(s[0]) # 输出 'P'print(s[3]) # 输出 'h'print(s[-1]) # 输出 'n'print(s[-3]) # 输出 'h'
切片操作
可以获取字符串中的一部分字符,语法是
[start:stop:step]
,其中start
表示起始索引(包含),stop
表示结束索引(不包含),step
表示步长(默认为 1)。
s = "Hello, World!"
print(s[0:5]) # 输出 'Hello',获取从索引0到4的字符
print(s[7:]) # 输出 'World!',从索引7开始到末尾的字符
print(s[:5]) # 输出 'Hello',等同于 s[0:5]
print(s[::2]) # 输出 'Hlo ol!',按步长为2获取字符
拼接操作
使用
*
运算符可以将字符串重复指定的次数
s1 = "Hello"
s2 = "Python"
s3 = s1 + " " + s2
print(s3) # 输出 'Hello Python'
重复操作
使用
*
运算符可以将字符串重复指定的次数
s = "Python"
print(s * 3) # 输出 'PythonPythonPython'
大小写转换
upper()
方法将字符串中的所有字符转换为大写,lower()
方法则把所有字符转换为小写。
s = "hello"
print(s.upper()) # 输出 'HELLO's1 = "WORLD"
print(s1.lower()) # 输出 'world'
去除空白字符
strip()
方法用于去除字符串两端的空白字符(空格、制表符、换行符等;
lstrip()
方法只去除字符串左端的空白字符;
rstrip()
方法只去除右端的空白字符。
s = " hello "
print(s.strip()) # 输出 'hello'
查找与替换
find()
方法用于查找子字符串在原字符串中的位置,如果找到则返回首次出现的索引,若找不到则返回-1;
replace()
方法用于将字符串中的指定子字符串替换为另一个字符串;
# find()
s = "hello, world"
print(s.find("world")) # 输出 7
print(s.find("Python")) # 输出 -1# replace
s = "hello, world"
print(s.replace("world", "Python")) # 输出 'hello, Python'
分割与连接
split()
方法可以按照指定的分隔符将字符串分割成一个列表,默认分隔符是空格;join()
方法与split()
相反,它用于将一个可迭代对象(如列表)中的元素连接成一个字符串,需要指定连接所用的字符串
# split
s = "hello world how are you"
print(s.split()) # 输出 ['hello', 'world', 'how', 'are', 'you']
s = "hello,world,how,are,you"
print(s.split(",")) # 输出 ['hello', 'world', 'how', 'are', 'you']# join()
words = ["hello", "world", "how", "are", "you"]
print(" ".join(words)) # 输出 'hello world how are you'
print(",".join(words)) # 输出 'hello,world,how,are,you'
总结:
数据类型是一门编程语言的基础,一定要牢牢掌握!!
相关文章:
《Python基础》之基本数据类型
目录 基本数据类型 1、Number(数字) (1)、整数(int) (2)、浮点数(float) (3)、复数(complex) (4)、 布尔…...
2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略(详细解题思路)
在当下, 日益发展的时代,宠物的数量应该均为稳步上升,在美国出现了下降的趋势, 中国 2019-2020 年也下降,这部分变化可能与疫情相关。需要对该部分进行必要的解释说明。 问题 1: 基于附件 1 中的数据及您的团队收集的…...
66 mysql 的 表自增长锁
前言 mysql 的表锁之 AUTO_INC, 是我们自增长的时候做并发控制的锁 主要是用于 自增长生成新的 id 的时候的控制 在前面的文档中, 我们又看到 mysql 这边自增长的处理的相关的大概脉络 但是 对于一些 并发控制的细节, 我们当时 应该是直接忽略掉了 我们这里就来看一下…...
java中的this关键字
🎉🎉🎉欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!🙏🙏🙏 文章目录…...
资源控制器--laravel进阶篇
laravel的控制器当中有个资源控制器,这个比较好用。 创建资源控制器 php artisan make:controller PhotoController --resource 创建个路由来使用该资源控制器 use App\Http\Controllers\PhotoController; Route::resource(photos, PhotoController::class); 隐式模型绑定不…...
智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序7 进化论及科学的信息技术创新:分布式账本/区块链/智能合约
Q&A Q46、 聊聊“分布式账本”“区块链”和“智能合约” “分布式账本”、“区块链”和“智能合约”是现代信息技术领域的几个重要概念,它们在金融、供应链管理、物联网等多个领域都发挥着重要作用。以下是对这三个概念的详细解析: 分布式账本 …...
从零开始认识显卡
显卡(GPU,全称为Graphics Processing Unit),是电脑中专门负责图形处理的硬件组件。以下是从零开始认识显卡的简单介绍: 1. 显卡的基本组成 显卡通常由以下几个主要部分组成: GPU核心:显卡的“…...
什么是计算机网络
什么是计算机网络? 计算机网络的定义计算机网络的分类按覆盖范围分类按拓扑结构分类按通信传输介质分类按信号频带占用方式分类 计算机网络的功能信息交换资源共享分布式处理 计算机网络的组成计算机网络的定义计算机网络的分类按覆盖范围分类按拓扑结构分类按通信传…...
网络安全在线网站/靶场:全面探索与实践
目录 1. CyberPatriot 简介 功能与特点 适用人群 2. Hack The Box 简介 功能与特点 适用人群 3. OverTheWire 简介 功能与特点 适用人群 4. VulnHub 简介 功能与特点 适用人群 5. PortSwigger Web Security Academy 简介 功能与特点 适用人群 6. TryHackM…...
多旋翼无人机长航时远距离集群技术详解
多旋翼无人机长航时远距离集群技术是当前无人机技术发展的重要方向之一,它结合了多旋翼无人机的灵活性和集群技术的优势,实现了无人机在长时间、远距离条件下的高效协同作业。以下是对该技术的详细解析: 一、多旋翼无人机特点 多旋翼无人机以…...
C#编写的日志记录组件 - 开源研究系列文章
以前编写过一个日志记录组件的博文,这次发布一个修改过的完善版本。 1、 项目目录; 2、 源码介绍; 1) 实现; 2) 使用; 后面的参数为级别设置,只有大于这个级别的才进行日志记录,限制了日志记录的…...
使用 Java 操作 SQLite 数据库
文章目录 1.导入依赖2.实际应用 1.导入依赖 <dependencies><dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.36.0.3</version></dependency> </dependencies>2.实际应…...
再次讨论下孤注一掷
在孤注一掷中的黑客技术里面,简单介绍了电影孤注一掷中用的一些"黑科技",这里继续讨论下,抛弃这些黑科技,即使在绝对公平的情况下,你也一样赢不了赌场 相对论有一个假设就是光速不变,这里也有个…...
系统思考—跳出症状看全局
感谢合作伙伴的邀请,圆满结束国药试剂关于《系统思考》的课程。课堂上,我们围绕“缺货”这个看似具体的问题,展开了一场跨部门的深度探讨。销售、采购、物流等部门各抒己见,发现每个部门的出发点都是为了公司好,但误判…...
前端面试vue篇:Vue2 和 Vue3 在设计和性能上有显著区别
Vue3 相对于 Vue2 的主要改进和性能提升体现在以下几个关键领域 1.响应式系统: (1)Vue2 使用 Object.defineProperty 遍历对象的所有属性来实现响应式,这在大型应用中可能导致性能瓶颈,尤其是在组件初次渲染和大量数据变化时。 (2)Vue3 引入了…...
每天五分钟深度学习:神经网络模型的直观理解
本文重点 神经网络是深度学习的基础模型之一,本文将讲解一下基础模型神经网络是什么? 神经网络 如上所示,这个神经网络有两层(我们认为输入层不算神经网络的层数),其中一个隐藏层,还有一个是输出层。我们称隐藏层为第一层,输出层为第二层,输入层为第零层。 我们有输…...
高集成的MCU方案已成电机应用趋势?
【哔哥哔特导读】高集成化的芯片成为当下MCU领域研发和市场布局的重点,但是在实际应用中仍然面临散热等痛点问题,MCU厂商是如何解决和优化这些痛点? 随着全球工业自动化、智能制造和绿色发展的不断推进,中国电机行业正站在新一轮…...
商用密码产品认证名录说明
《商用密码产品认证目录》是为贯彻落实《中华人民共和国密码法》,进一步健全完善商用密码产品认证体系,更好满足商用密码产业发展需要,根据《国家密码管理局 市场监管总局关于调整商用密码产品管理方式的公告》《市场监管总局 国家密码管理局…...
无人机技术探索:电机、电调与桨叶的运行原理!
无人机电机的主要材料 铝合金:铝合金是当前应用最广泛的无人机电机材料之一,具有制造成本低廉、重量轻、支撑力强等特点,同时有一定的抗氧化性能。然而,铝合金电机的耐久性较差,若长期在高温高湿的环境下使用易产生氧…...
实现 UniApp 右上角按钮“扫一扫”功能实战教学
实现 UniApp 右上角按钮“扫一扫”功能实战教学 需求 点击右上角扫一扫按钮(onNavigationBarButtonTap监听),打开扫一扫页面(uni.scanCode) 扫描后,以网页的形式打开扫描内容(web-view组件),限制只能浏览带有执行域名的网站,例如…...
FP16的表示范围【详解计算步骤】
符号位:1bit 指数位:5bit 尾数位:10bit 指数位 指数位的值:00000 - 11111 00000和11111被给予特殊含义: 00000 表示 011111 表示Nan或无穷大所以,指数位的范围为00001-11110 如果指数位的值为00001,则实际指数=指数位的值-偏移=00001 - 15 = -14 如果指数位的值为1111…...
MySQL UPDATE语句执行链路解析
文章目录 引言1. 总览:UPDATE语句的执行链路2. 客户端发起请求2.1 SQL请求的形成2.2 MySQL通信协议 3. 连接器模块3.1 连接管3.2 会话上下文 4. SQL解析器4.1 语法解析4.2 语法错误处理 5. 查询优化器5.1 查询优化的核心概念5.2 优化器生成执行计划的步骤5.3 优化器…...
大语言模型通用能力排行榜(2024年11月8日更新)
数据来源SuperCLUE 榜单数据为通用能力排行榜 排名 模型名称 机构 总分 理科 文科 Hard 使用方式 发布日期 - o1-preview OpenAI 75.85 86.07 76.6 64.89 API 2024年11月8日 - Claude 3.5 Sonnet(20241022) Anthropic 70.88 82.4…...
java远程服务器调试
1远程debug -agentlib:jdwptransportdt_socket,servery,suspendn,address服务器ip:port 2.jmx JAVA_OPT“${JAVA_OPT} -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.portport -Dcom.sun.management.jmxremote.local.onlyfalse -Dcom.sun.management.jmxr…...
如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目
如约介绍源码构建 Infinite-ISP 项目,其实大家等的是源码,所以中间过程简洁略过,可以直接翻到文末获取链接。 开源ISP(Infinite-ISP)介绍 构建工程 第一步,从文末或者下面链接获取源码 https://github.com/…...
全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS系统定制开发
8、RTOS系统定制开发 此处以在rtos/components/aw目录下创建一个简单的软件包为例,帮助客户了解RTOS环境,为RTOS系统定制开发提供基础。 RTOS环境下的软件包主要由三部分组成,源文件,Makefile,Kconfig,如下…...
A045-基于spring boot的个人博客系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
SpringBoot集成ES(ElasticSearch)
1.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>导入依赖后,注意在依赖中查看对应的版本是否与本机ES对应 2.创建配置并…...
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
文章目录 应用快速部署NginxRedisMySQLTomcat 制作镜像镜像原理基于已有容器创建使用 Dockerfile 创建镜像指令说明构建应用创建 Dockerfile 文件创建镜像 应用快速部署 Nginx docker run -d -p 80:80 nginx使用浏览器访问虚拟机地址 Redis docker pull redis docker run --…...
实验四:构建园区网(OSPF 动态路由)
目录 一、实验简介 二、实验目的 三、实验需求 四、实验拓扑 五、实验步骤 1、在 eNSP 中部署网络 2、设计全网 IP 地址 3、配置二层交换机 4、配置路由交换机并测试通信 5、配置路由接口地址 6、配置 OSPF 动态路由,实现全网互通 一、实验简介 使用路由…...
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-31
文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么ÿ…...
debian 如何进入root
debian root默认密码, 在Debian系统中,安装完成后,默认情况下root账户是没有密码的。 你可以通过以下步骤来设置或更改root密码: 1.打开终端。 2.输入 sudo passwd root 命令。 3.当提示输入新的root密码时,输入你想要的密码…...
极坐标气泡图:医学数据分析的可视化新视角
在医学研究中,数据的可视化是至关重要的。它不仅能帮助我们更直观地理解数据,还能揭示数据中隐藏的模式和趋势。今天,我们要介绍一种独特的数据可视化工具——极坐标气泡图,以及它在医学中的重要作用。 什么是极坐标气泡图&#…...
【随手笔记】电脑端上位机初涉(一)
实现电脑端上位机的方式及其学习难度和知识点 在嵌入式开发中,电脑端上位机程序用于与嵌入式设备进行通信和控制。以下是几种常见的实现方式,以及它们的学习难度和所需的知识点: Python PySerial 学习难度:低知识点:…...
对抗样本存在的原因
对抗样本存在的原因与深度学习模型的结构和训练机制密切相关,主要包括以下几个方面: 1. 模型的高维性和线性化行为 高维性:深度学习模型通常在高维空间中运行,而高维空间中的数据分布非常稀疏。微小的扰动在高维空间可能被放大&a…...
Python编程整理汇总(基础汇总版)
1. 基础语法 1.1 变量与数据类型 整数:a 10 浮点数:b 3.14 字符串:c "Hello, World!" 布尔值:d True 列表:e [1, 2, 3, 4, 5] 元组:f (1, 2, 3) 字典:g {"name&qu…...
24软专 数据结构
1、A[n],k,将数组向右循环移动k位。要求时间复杂度O(n),空间O(1)。 思路:采用三次反转数组的操作,可以实现时间复杂度为O(n),空间复杂度为O(1)的算法。 void moveElem(int array[],int k,int length){//a…...
如何更改手机GPS定位
你是否曾想过更改手机GPS位置以保护隐私、玩游戏或访问受地理限制的内容?接下来我将向你展示如何使用 MagFone Location Changer 更改手机GPS 位置!无论是在玩Pokmon GO游戏、发布社媒贴子,这种方法都快速、简单且有效。 第一步:下…...
java Queue 详解
Java Queue 详解 Queue 是 Java 集合框架中用于实现 队列 数据结构的接口,位于 java.util 包中。队列是一种 先进先出(FIFO) 的数据结构,元素按照插入的顺序依次出队。 1. Queue 的基本特性 FIFO(First-In-First-Out&…...
贪心算法 -- 递增子序列
目录 最长递增子序列 题解: 代码: 递增的三元子序列 题解: 代码: 简易版: 最长连续递增序列 题解: 代码: 最长递增子序列 300. 最长递增子序列 - 力扣(LeetCode…...
MySQL:表的增删查改
目录 一. Create 1.1 单行数据全列插入 1.2 多行数据全列插入 1.3 插入否则更新 1.3.1 要插入的值与原数据有冲突则更新 1.3.2 要插入的值与原数据没有冲突则正常插入 1.3.3 要插入的值与原数据有冲突但是连续更新了两次 1.4 替换 二. Retrieve 2.…...
Python操作neo4j库py2neo使用之创建和查询(二)
Python操作neo4j库py2neo使用之创建和查询(二) py2neo 创建操作 1、连接数据库 from py2neo import Graph graph Graph("bolt://100.100.20.55:7687", auth(user, pwd), nameneo4j)2、创建Node from py2neo import Node, Subgraph # 创建…...
【pytorch-04】:线性回归案例(手动构建)
文章目录 1 构建数据集2 构建假设函数3 损失函数4 优化方法5 训练函数6.总结 1 构建数据集 为什么构建数据加载器? 在进行训练的时候都是采用的不是全部的数据,而是采用一个batch_size的数据进行训练,每次向模型当中送入batch_size数据&#…...
外包干了3年,技术退步明显...
先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…...
React Native 全栈开发实战班 -原生功能集成之相机与图片
在移动应用中,相机功能 和 图片选择 是非常常见的需求,用户可以通过相机拍照或从相册中选择图片。React Native 提供了多种方式来实现相机和图片选择功能,包括使用第三方库(如 react-native-image-picker)和调用原生模…...
以太坊交易处理全流程:数据采集、价格查询与问题解决
一、背景 在开发交易记录处理系统时,涉及从以太坊链上获取交易记录、将其存储到数据库、根据交易时间查询历史价格,并计算交易的美元价值。在这一过程中,涉及多个技术环节及工具的综合使用,例如区块链 API 调用、数据库操作、时间戳处理和外部数据接口整合。 本文涉及的内…...
css数据不固定情况下,循环加不同背景颜色
<template><div><p v-for"(item, index) in items" :key"index" :class"getBackgroundClass(index)">{{ item }}</p></div> </template><script> export default {data() {return {items: [学不会1, …...
【Node.js】Node.js 和浏览器之间的差异
Node.js 是一个强大的运行时环境,它在现代 JavaScript 开发中扮演着重要角色。然而,许多开发者在使用 Node.js 时常常会感到困惑,尤其是与浏览器环境的对比。本文将深入探讨 Node.js 和浏览器之间的差异,帮助你全面理解两者的设计…...
算法【最长递增子序列问题与扩展】
本文讲解最长递增子序列以及最长不下降子序列的最优解,以及一些扩展题目。本文中讲述的是最优解,时间复杂度是O(n*logn),空间复杂度O(n),好实现、理解难度不大。这个问题也可以用线段树来求解,时间和空间复杂度和本节讲…...
【论文速读】| RobustKV:通过键值对驱逐防御大语言模型免受越狱攻击
基本信息 原文标题:ROBUSTKV: DEFENDING LARGE LANGUAGE MODELS AGAINST JAILBREAK ATTACKS VIA KV EVICTION 原文作者:Tanqiu Jiang, Zian Wang, Jiacheng Liang, Changjiang Li, Yuhui Wang, Ting Wang 作者单位:Stony Brook University…...