Python基本类型

1、Java基本类型

在java里,总共有8种基本类型,分别是:

  1. boolean:布尔类型,只有两个值true和false。
  2. char:字符类型,占用2个字节,用来表示一个单一的字符。
  3. byte:字节类型,占用1个字节,范围为-128到127。
  4. short:短整型,占用2个字节,范围为-32,768到32,767。
  5. int:整型,占用4个字节,范围为-2^31到2^31-1。
  6. long:长整型,占用8个字节,范围为-2^63到2^63-1。
  7. float:单精度浮点型,占用4个字节,范围为1.4E-45到3.4028235E38,可以表示小数。
  8. double:双精度浮点型,占用8个字节,范围为4.9E-324到1.7976931348623157E308,可以表示更大范围的小数。

2、Python基本类型

Python3 中常见的数据类型有:

  • Number(数字)
  • String(字符串)
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

其中,Number代表数字,Python3 支持 int、float、bool、complex(复数)

需要注意的是,在Python 3里,只有一种整数类型 int,没有 python2 中的 Long。

在Python中,int的最大值取决于你的操作系统是32位还是64位。在32位系统中,int的最大值是2^31 - 1,而在64位系统中,int的最大值是2^63 - 1

import sysif __name__ == '__main__':maxInt = sys.maxsizeprint(maxInt)  # 9223372036854775807

3、Python基本类型代码示例

3.1、complex复数运算

Python的Number类型里面,有一种叫做complex,意即数学上的复数。这种类型java是没有的,python能更加方便的进行科学计算。

# 创建一个实部为3,虚部为4的复数
z1 = complex(3, 4)
print(z1)  # 输出:(3+4j)# 创建一个实部为0,虚部为1的复数
z2 = complex(0, 1)
print(z2)  # 输出:1j# 创建一个实部为-2.5,虚部为0的复数
z3 = complex(-2.5, 0)
print(z3)  # 输出:-2.5# 创建一个实部为5,虚部为0的复数
z4 = complex(5, 0)
print(z4)  # 输出:5.0

3.2、List(列表)

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。

Python的列表相当于Java的List,都是一种有序的可变容器,可以存储任意类型的元素。

if __name__ == '__main__':list = []list.append(1) # adding 1 to the listlist.append("Hello") # adding "Hello" to the listprint(list) # printing [1, 'Hello']print(list[1]) # printing Hellofor e in list: # iterating over the listprint(e)

3.3、Tuple(元组)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号 ( ),列表使用方括号 [ ]。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

if __name__ == '__main__':tuple = ("hello", 1, True)tuple[0] = 99 # TypeError: 'tuple' object does not support item assignment

Java中没有内置的元组类型。元组是一种可以包含多个不同类型元素的数据结构,可以通过索引或属性来访问其中的元素。

虽然Java没有内置元组类型,但可以通过自定义类或使用第三方库来实现类似的功能。例如,可以创建一个自定义类来表示一个包含多个不同类型元素的组合,或使用第三方库,如javatuples或Pair类库。

以下是使用javatuples库创建元组的示例:

import org.javatuples.Tuple;
import org.javatuples.Tuple2;public class TupleExample {public static void main(String[] args) {// 创建一个包含两个元素的元组(Tuple2)Tuple2<String, Integer> tuple = new Tuple2<>("Hello", 42);// 访问元组中的元素String str = tuple.getValue0();Integer num = tuple.getValue1();// 输出元组的元素System.out.println(str);  // 输出:HelloSystem.out.println(num);  // 输出:42}
}

3.4、Dictionary(字典)

字典是一种可变容器模型,且可存储任意类型对象。类似与Java的HashMap等Map实现。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 }

 map的更新,删除示例如下:

if __name__ == '__main__':map = {}map.update({'a': 1, 'b': 2, 'c': 3})map.update({'a': 2, 'b': 3, 'c': 4})map['a'] = 3print(map) # print {'a': 3, 'b': 3, 'c': 4}del map['c']print(map)  # print  {'a': 3, 'b': 3}print(len(map)) # print 2

 3.5、Set(集合)

集合(set)是一个无序的不重复元素序列。类似与Java的HashSet等Set实现。

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

# 创建一个空集合
set1 = set()
print(set1)  # 输出:set()# 创建一个包含元素的集合
set2 = {1, 2, 3, 4, 5}
print(set2)  # 输出:{1, 2, 3, 4, 5}# 添加元素到集合
set2.add(6)
print(set2)  # 输出:{1, 2, 3, 4, 5, 6}# 移除集合中的元素
set2.remove(3)
print(set2)  # 输出:{1, 2, 4, 5, 6}# 检查元素是否在集合中
print(4 in set2)  # 输出:True
print(7 in set2)  # 输出:False# 遍历集合
for num in set2:print(num)# 进行集合操作
set3 = {4, 5, 6, 7, 8}
set4 = {6, 7, 8, 9, 10}# 并集
union_set = set3.union(set4)
print(union_set)  # 输出:{4, 5, 6, 7, 8, 9, 10}# 交集
intersection_set = set3.intersection(set4)
print(intersection_set)  # 输出:{6, 7, 8}# 差集
difference_set = set3.difference(set4)
print(difference_set)  # 输出:{4, 5}# 对称差集
symmetric_difference_set = set3.symmetric_difference(set4)
print(symmetric_difference_set)  # 输出:{4, 5, 9, 10}

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

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

相关文章

uni-app HBuilderX通过easycom省略import自动导入自定义组件

快速尝试 自HBuilderX 2.5.5起支持easycom组件模式。更新HBuilderX即可尝试。 easycom默认已启用&#xff0c;并对项目下的components和uni_modules目录开启自动扫描&#xff0c;对符合下面路径和命名规则的组件自动导入。 components/组件名/组件名.vue uni_modules/组件名/…

使用飞桨快速部署stable diffusion模型

这可以说是最快的部署stable diffusion模型的方法了&#xff0c;而且星河社区还有免费的GPU算力提供&#xff0c;这样再也不用担心没有算力了&#xff01; 操作方法&#xff1a; # 安装相关库 pip install docarray0.21.0 pip install paddlehub# 初始化 from PIL import Imag…

踊跃参与,您有机会尊享300000水晶奖励!【AI书童】代言形象大投票活动开启~~~

【AI书童】运营官 未来智慧人工智能 2024-04-19 09:55 ✧ 快来选出你心目中的【AI书童】 ✦ 我们想为【AI书童】选择一个形象代言&#xff0c;使用【AI书童】软件生成了一部分形象照片。大家觉得哪个书童最合适呢&#xff1f;希望你们能给出宝贵的建议&#xff01; 【AI书童…

手把手教你实现 OceanBase 数据到 Apache Doris 的便捷迁移|实用指南

作者|SelectDB 技术团队 作为广受认可的分布式数据库&#xff0c;OceanBase 已在众多企业关键业务系统中得到广泛应用。在 Apache Doris 社区&#xff0c;有众多用户选择基于 OceanBase 与 Apache Doris 以构建强大的数据处理与分析链路&#xff0c;本文将详细介绍如何便捷高效…

在ts中const和readonly区别?

在TypeScript中&#xff0c;const和readonly是两种不同的属性修饰符&#xff0c;它们各自有特定的用途和语义。 const关键字在TypeScript中用于声明常量&#xff0c;即一个值在初始化后不能再被改变的变量。这意味着一旦你为一个const变量赋值&#xff0c;你就不能再次为它赋一…

Java反序列化-CC3链

前言 前面的CC1与CC6链都是通过 Runtime.exec() 进行命令执行的。当服务器的代码将 Runtime放入黑名单的时候就不能使用了。 CC3链的好处是通过动态加载类的机制实现恶意类代码执行。 版本限制 jdk8u65Commons-Collections 3.2.1 动态类加载 loadClass -> 负责加载load…

【数据结构】队列的使用方法

队列&#xff08;Queue&#xff09;是另一种基本的线性数据结构&#xff0c;它允许在一端进行插入操作&#xff0c;而在另一端进行删除操作。队列的特点是先进先出&#xff08;First In First Out, FIFO&#xff09;&#xff0c;即最先进入队列的元素最先被取出。 队列可以用数…

38. UE5 RPG 修改火球术的攻击方向以及按住Shift攻击

在前面&#xff0c;我们实现了火球术火球的制作&#xff0c;能够在释放火球术时&#xff0c;角色将播放释放技能动画&#xff0c;并实现了对火球的目标的服务器同步功能。 我们先回忆一下之前完成的内容。 在前面&#xff0c;我们先做了一个Actor&#xff0c;用于承载发射的火…

集成学习-Bagging与随机森林回归

reg_fRFR() reg_tDTR()#实例化决策树 cvKFold(n_splits5,shuffleTrue,random_state1412)#实例化验证方式 result_tcross_validate(reg_t#要进行交叉验证的评估器,X,y,cvcv,scoringneg_mean_squared_error#评估指标,return_train_scoreTrue#是否返回训练分数&#xff0c;后面这几…

高可用环境kafka消息未按顺序消费问题

目录 1、背景 2、问题排查 3、问题解决 1、背景 质检任务是异步执行&#xff0c;正常情况下任务状态扭转是 等待中》运行中》成功&#xff08;失败&#xff09;。在质量平台生成任务实例&#xff0c;此时状态是等待中&#xff0c;生成实例之后把具体的任务sql给到大数据平…

Git 原理及使用 (带动图演示)

文章目录 &#x1f308; Ⅰ Git 安装&#x1f319; 01. Linux - centos &#x1f308; Ⅱ Git 工作区、暂存区和版本库&#x1f319; 01. 认识工作区、暂存区和版本库&#x1f319; 02. 使用 Git 管理工作区的文件 &#x1f308; Ⅲ Git 基本操作&#x1f319; 01. 创建本地仓库…

动态Web项目讲解+Demo

web流程演示 请求路径 请求路径明确要请求的是哪个servlet 请求方式 servlet含有两种请求方式&#xff1a;doGet和doPost doGet&doPost 返回数据就是httpResponse&#xff0c;返回给success 参数 包含在request当中 成功 上述流程任何一步都没出问题&#xff0c;就会…

SpringBoot+layuimini实现左侧菜单动态展示

layuimini左侧菜单动态显示 首先我们看一下layuimini的原有菜单显示格式 {"homeInfo": {"title": "首页","href": "page/welcome-2.html?t2"},"logoInfo": {"title": "LAYUI MINI","…

Thinkphp5+mysql批量筛选varchar字段默认值为null的数据

荆轲刺秦王 sql server数据库转mysql之后,遇到: CREATE TABLE q_bk_date (daid int(11) NOT NULL AUTO_INCREMENT,partno varchar(200) CHARACTER SET utf8 NOT NULL DEFAULT ,Bdate date DEFAULT NULL,bkno varchar(25) CHARACTER SET utf8 NOT NULL DEFAULT ,bvar varchar(…

ts中函数形状有几种定义方式

在TypeScript&#xff08;TS&#xff09;中&#xff0c;函数形状&#xff08;即函数的类型&#xff09;可以通过多种方式定义。以下是一些主要的定义方式&#xff1a; 类型别名定义函数形状&#xff1a; 使用 type 关键字为函数定义类型别名。 type MyFunction (a: number, …

cv2技术原理-图像旋转原理及手动实现

cv2技术原理-图像旋转原理及手动实现 1、图像旋转opencv实现2、cv2.getRotationMatrix2D函数解释3、数学原理推导旋转矩阵M4、手动计算旋转矩阵M5、旋转矩阵M的使用6、使用旋转矩阵M手动实现旋转功能 1、图像旋转opencv实现 图像旋转在对数据集数据增强&#xff08;主要是随机…

Java语言——封装

一.封装的定义 在面向对象程式设计方法中&#xff0c;封装&#xff08;英语&#xff1a;Encapsulation&#xff09;是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障&#xff0c;防止该类的代码和数据被外部类定义的代码随机访问…

C++ //练习 12.31 如果用vector代替set保存行号,会有什么差别?哪种方法更好?为什么?

C Primer&#xff08;第5版&#xff09; 练习 12.31 练习 12.31 如果用vector代替set保存行号&#xff0c;会有什么差别&#xff1f;哪种方法更好&#xff1f;为什么&#xff1f; 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 解释 …

车机电源管理设计

电源电压 汽车正常电压是12 V&#xff0c;但整车厂会要求在9V~16V这个范围内所有零部件必须能够正常工作。 在启动时&#xff0c;电池电压会突降&#xff0c;特别天气寒冷的时候&#xff0c;电压可能会瞬间降到6V左右。 当汽车电池严重亏电而无法启动时&#xff0c;可能会用…

linux|将用户加入白名单

一 用root用户找到etc\sudoers文件 cd etc 二 修改etc\sudoers 文件的权限 默认是只读的 修改为可写的 chmod uw sudoers 三 打开 sudoers文件&#xff0c;在Allow root to run any commands anywhere 后面 添加一条&#xff08;把上面的一条内容复制下来 修改用户名即…