【Python】数据类型和切片的零碎知识点

news2025/1/16 16:01:42

1. 数据类型

pow(a, b, c)   # a^b % c 
print("happy {}".format(name))

数字类型包括整数,浮点数,复数

0x9a表示十六进制数(0x,0X开头表示十六进制)

0b1010,-0B101表示二进制数(0b,0B开头表示二进制)

0o123,-0O334(0o,0O开头表示八进制)

执行 print(0xA+0xB) 将会输出结果 21。在这里,0xA0xB 分别代表十六进制的值,0xA 等于十进制的 10,0xB 等于十进制的 11。所以,0xA + 0xB 相当于 10 + 11,结果为 21

1700651571300.png

类型判断:type()

divmod(5, 2)函数将5除以2,并返回结果的商和余数。(2,1)

round(2345.67892, 3)函数将2345.67892四舍五入到小数点后3位。

/// 的区别:

//是整数除法运算符,也称为“地板除”。它执行两个操作数的除法并返回一个整数结果,结果是向下取整的商。例如:

7 // 2  # 返回结果为3,因为 7 除以 2 的商是 3

/是浮点除法运算符,它执行两个操作数的除法并返回一个浮点数结果,结果可以是一个小数。例如:

7 / 2  # 返回结果为3.5,因为 7 除以 2 的结果是 3.5

所以,///的区别在于返回的结果类型和处理小数的方式。//得到的结果是整数类型(向下取整),而/得到的结果是浮点数类型(精确计算)。

max中比较字符串时按照字典序比较:

按字典序比较是一种字符串之间的比较方法,也称为字母顺序比较。

在按字典序比较中,字符串的每个字符按照它们在字母表中的顺序进行比较。比较是从左到右进行的,直到找到两个字符串中的第一个不同字符为止。

比较的规则如下:

  1. 首先比较字符串中的第一个字符,如果其中一个字符串的第一个字符在字母表中的位置更靠前,则该字符串被认为是更小的。
  2. 如果两个字符串的第一个字符相同,则继续比较下一个字符,直到找到第一个不同字符为止。
  3. 如果一个字符串的所有字符都与另一个字符串相同,则较短的字符串被认为是更小的。

例如,按字典序比较字符串’apple’和’banana’,首先比较第一个字符’a’和’b’,因为’a’在字母表中的位置更靠前,所以’apple’被认为是更小的。

not :取反

1 == 1.0 true

Python 输入默认字符串

执行 print(1, 2, 3, sep=':') 将会输出结果 1:2:3。在这里,print() 函数接受多个参数,并在输出它们时默认使用空格作为分隔符。但是,你可以使用 sep 参数来指定自定义的分隔符。在这个例子中,我们将分隔符设置为 :。因此,输出会将参数之间的分隔符替换为 :,结果为 1:2:3

执行 int("123.45") 将会引发异常。int() 函数用于将一个字符串或数字转换为整数类型。然而,在这个例子中,字符串 “123.45” 包含一个小数点,无法直接转换为整数。因此,调用 int("123.45") 会引发 ValueError 异常。如果你想将字符串 “123.45” 转换为浮点数,你可以使用 float() 函数来实现,如 float("123.45")。这将返回浮点数值 123.45

执行 path="C:\Windows\\notepad.exe" 会得到字符串 C:\Windows\notepad.exe 。然后执行 print(path) 将输出 C:\Windows\notepad.exe

然而,如果要在字符串中显示一个反斜杠本身,需要使用两个连续的反斜杠 \\ 来表示。因此,定义 path 为字符串 C:\Windows\\notepad.exe,实际上表示路径为 C:\Windows\notepad.exe,其中两个连续的反斜杠 \ 被解释为一个普通的反斜杠 \。当使用 print() 函数打印字符串时,Python会正确地显示转义字符和反斜杠,以显示字符串的实际内容。

在Python中,当你执行 a = b = c = 18 这样的赋值语句时,实际上是将这三个变量 abc 都指向同一个整数对象 18

这种情况下,Python解释器会在内存中创建一个名为 18 的整数对象,并让 abc 这三个变量都指向该对象。

a=b=c=18,三个变量被分配到相同的内存空间上。由于整数对象是不可变的,因此没有必要为每个变量分配独立的内存空间来存储相同的整数对象。相反,将它们引用同一个对象是更高效的做法。因此,当你对其中一个变量进行更改时,例如 a = 20,实际上是将 a 变量重新指向一个新的整数对象 20,而 bc 仍然指向原先的整数对象 18

a = b = c = 10
print(id(a)) # 3108924031504
print(id(b)) # 3108924031504
print(id(c)) # 3108924031504

elif 0.9 > score >= 0.8: 这种写法是对的。

列表元素最大值 max(list)

2. 切片操作

当我们使用切片操作时,我们可以从一个序列(如字符串、列表或元组)中获取一个片段(子序列)。

切片操作的语法是sequence[start:end:step]

  • sequence是要进行切片操作的序列(如字符串、列表或元组)。
  • start是切片的起始索引,表示要截取的子序列的起始位置。
  • end是切片的结束索引,表示要截取的子序列的结束位置(但不包括该位置的元素)。
  • step是步长(可选参数),用于指定切片时的间隔,默认值为1。

切片操作返回一个新的序列,包含所选范围内的元素。

下面是切片操作的一些示例:


sequence = 'Hello, World!'
print(sequence[7:])  # 从索引7开始到末尾:'World!'
print(sequence[:5])  # 从开头到索引5之前:'Hello'
print(sequence[::2])  # 每隔一个字符取一个:'Hlo ol!'
print(sequence[3:9:2])  # 从索引3到索引9之间,每隔一个字符取一个:'l,W'
print(sequence[-6:])  # 从倒数第6个字符到末尾:'World!'
print(sequence[:-7])  # 从开头到倒数第7个字符之前:'Hello'
print(sequence[::-1])  # 反转整个序列:'!dlroW ,olleH'
print(sequence[:-5:-1])  # 从倒数第5个字符到开头,每隔一个字符取一个:'!roW'

切片操作是根据索引来截取序列的子序列,其中起始索引是包含的,而结束索引是不包含的。

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

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

相关文章

【endnote】如何将参考文献放到想放的位置

1. 方式 直接将生成的文献全选拖到想放的位置 注意:不要使用ctrlx这种操作。 2.具体操作 2.1 新建测试文档 如下图: 2.2 引用两篇文献】 如下图: 2.3 测试 如下图,选中所有已经引用的文献。 拖拽到想要防止的位置。 新…

产品经理的具体工作职责有什么?

产品经理是现代企业中非常重要的一种职位,其工作职责也非常广泛和复杂。产品经理需要在市场、用户、技术等多个方面进行综合考虑,为企业开发出具有竞争力的产品,从而推动企业的发展。下面我们将详细介绍产品经理的具体工作职责。 一、市场调研…

深入理解Java注解的实现原理以及前世今生

深入理解Java注解的实现原理以及前世今生 小雪初寒,请添衣,冬棋如意,待良人,望归期。 1.Java注解的前世今生 Java注解是一种元数据标记,它提供了一种在Java代码中添加元数据(注释)的方式。注解…

【IEEE独立出版 | 往届均完成检索】2024年第四届消费电子与计算机工程国际学术会议(ICCECE 2024)

#国际学术会议# 推荐 #广州# 【IEEE独立出版 | 往届均完成检索】2024年第四届消费电子与计算机工程国际学术会议(ICCECE 2024) 2024 4th International Conference on Consumer Electronics and Computer Engineering 2024年1月12-14日 | 中国广州 会…

力扣.面试题 04.06. 后继者(java 树的中序遍历)

Problem: 面试题 04.06. 后继者 文章目录 题目描述思路解题方法复杂度Code 题目描述 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。 如果指定节点没有对应的“下一个”节点,则返回null。 思路 由于题…

双11再创新高!家电行业如何通过矩阵管理,赋能品牌增长?

双11大促已落下帷幕,虽然今年不再战报满天飞,但从公布的数据来看,家电行业整体表现不俗。 根据抖音电商品牌业务发布的收官战报,家电行业创造了成交新纪录,整体同比增长125%。快手官方数据显示,消电家居行业…

7.HTML中列表标签

7.列表标签 7.1无序列表(重点) 表格是用来显示数据的,那么列表就是用来布局的。 列表最大的特点就是整齐,整洁,有序,他作为布局会更加自由和方便, 根据使用的情景不同,列表可分为三…

Go 语言函数、参数和返回值详解

函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。 创建函数 要创建(通常称为声明)一个函数,请执行以下操作: 使用 func 关键字。指定函数的名称,后跟括…

【Java 进阶篇】Redis 数据结构:轻松驾驭多样性

引言 Redis是一款强大的键值对存储系统,其数据结构的多样性是其引以为傲的特点之一。在这篇博客中,我们将深入探讨Redis的主要数据结构,包括字符串、哈希表、列表、集合和有序集合,并通过实例代码演示它们的用法。 1. 字符串&am…

基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码

基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于跳蛛优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

linux部署jar 常见问题

1.java -jar xxx.jar no main manifest attribute, in xxx.jar 一.no main manifest attribute, in xxx.jar 在pom.xml文件中加入&#xff1a; <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifac…

SpringBoot监听器解析

监听器模式介绍 监听器模式的要素 事件监听器广播器触发机制 SpringBoot监听器实现 系统事件 事件发送顺序 监听器注册 监听器注册和初始化器注册流程类似 监听器触发机制 获取监听器列表核心流程: 通用触发条件: 自定义监听器实现 实现方式1 实现监听器接口: Order(1) …

利用GUI实现渲染二维码效果

以下是一个简单的 Java 验证码实现示例&#xff1a; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Random;import javax.imageio.ImageIO;public class CaptchaGenerator {public static …

JVM 堆外内存详解

Java 进程内存占用除了JVM 运行时数据区&#xff0c;还有直接内存&#xff08;Direct Memory&#xff09;区域及 JVM 程序自身也会占用内存 直接内存&#xff08;Direct Memory&#xff09;区域&#xff1a;直接内存通过使用Native堆外内存来存储数据&#xff0c;这意味着数据…

alova—轻量级请求策略库

文章目录 前言alova 是什么为什么创造 alova 一、选择 alova 的理由&#xff1f;二、使用步骤完整的特性列表alova 请求策略表 三、如何使用安装使用 useRequest 发送一个请求 总结alova和请求库的关系 前言 Alova官网 Alova—github官网 alova 是什么 alova 是一个轻量级的…

Qt实现图片旋转的几种方式(全)

目录 一、用手搓&#xff08;QPainter&#xff09; 二、使用 QGraphicsView 和 QGraphicsPixmapItem 三、使用 QTransform 实现图像旋转 四、利用 OpenGL 实现旋转图像的效果有几种不同的方法&#xff0c;其中常见的包括&#xff1a; 手动旋转绘制&#xff1a; 使用 QPaint…

Linux中的进程程序替换

Linux中的进程程序替换 1. 替换原理2. 替换函数3. 函数解释4. 命名理解程序替换的意义 1. 替换原理 替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的…

Java Stream中的API你都用过了吗?

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享。 在本教程中&#xff0c;您将通过大量示例来学习 Java 8 Stream API。 Java 在 Java 8 中提供了一个新的附加包&#xff0c;称为 java.util.stream。该包由类、接口和枚举组成&#x…