百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Python入门基础系列(七)——数字和类型转换

bigegpt 2024-09-09 01:22 53 浏览

Python数字一共有四种数据类型:纯整数,长整数,浮点数和复数。

它们不仅支持简单的算术计算,还可以用作量子计算中的复数。在这篇文章中,我将举例来解释它们。

让我们来看看Python中的数字是什么?像Python中的其他类型一样,数字也是对象。他们可以存储一个整数,一个实数或复合 数字。

Python数字是不可变的对象,因此值的任何更改都会导致创建新对象通常,将一个数值分配给一个变量将获得创建的数字对象。

本篇文章目录

(一)Python中的数字类型

(二)本章知识要点

(三)Python中的类型转换

(四)Python中的外部数字类

(五)Python数学

Python数字 - 数字数据的类型

有趣的是,Python 2.x有四个内置数据类型(int,long,float和complex)来表示数字。后来Python 3.x删除了long并且扩展了int类型以具有无限长度。

Int类型

int类型表示Python中的基本整数数据类型。Python 2.x中的纯整数具有最大值,最大值为sys.maxint的值 。

而在3.x中,int类型被提升为无限长度,从而消除了长整型。

>>> x = 9

>>> type(x)

<type'int'>X = 9 >>> type(X )< type 'INT' >

长型

一个无限长度的整数。在Python 2.x结束之前,整数被允许溢出并变成一长串。这种行为从3.0开始改变,其中ints取代了多头。

>>> x = 9999999999

>>> type(x)#在Python 2.x中,类型将很长。在3.x中,不管大小如何,它都是int。

<type'long'>x = 9999999999 >>> type (x )#在Python 2.x中,类型将会很长。在3.x中,不管大小如何,它都是int。< type “long” >

浮点类型

浮点数表示一个二进制浮点数。在表达式中使用浮点变量会自动将相邻的长整数和整数转换为浮点数。

>>> x = 9.999

>>> type(x)

<type'float'>X = 9.999 >>>type(X )< type 'float' >

复杂的类型

这种类型的数字有一个真实的和虚构的部分。例如 - 表达式(n1 + n2j)表示复数类型,其中n1和n2分别是表示实部和虚部的浮点数。

>>> x = 3 + 4j

>>> type(x)

class'complex '> >>> x.real

3.0

>>> x.imag

Python数字 - 关键点

(一)数字类型按照以下顺序自动转换类型。

Int→Long→Float→Complex

(二)虽然Python 3.x中的整数可以是任意长度,但float类型的数字只能精确到小数点后15位。

(三)通常,我们使用基于小数(基数10)数字系统的数字。但有时,我们可能需要使用其他数字系统,如二进制(基数2),十六进制(基数16)和八进制(基数8)。

在Python中,我们可以使用适当的前缀处理这些数字。见下文

(四)如果你想用Python测试一个数字的类型,那么你应该使用isinstance()函数。

例如:

(五)如果在表达式中使用混合数据类型,那么所有操作数将转为使用最复杂的类型。

(六)在Python中分割整数时要小心。在Python 2.x中,除法(/)将返回一个整数商作为输出。

在Python 3.x中,除法(/)将返回浮点商作为输出。

floor运算符(//)返回整数商,mod(%)运算符给出余数。但是,您可以通过使用divmod()函数来获得这些。

Python中的类型转换

在Python中,将任何数字数据类型转换为另一种数据类型非常简单。我们把这个过程称为Pythonic术语中的强制。

基本操作(如加法,减法)如果其中一个操作数是浮点数,则隐式浮点(默认情况下)为浮点数。

在上面的例子中,第一个整数(2)变成了一个浮点数(2.0)用于加法,输出也是一个浮点数。

但是,Python列出了一个不。诸如int(),float()和complex()之类的内置函数可以显式地在类型之间进行转换。这些函数甚至可以将字符串转换为数字。

请注意,如果您正在将float转换为整数,那么该数字将被截断(即,接近零的整数)。

外部类来处理Python数字

正如你在上面所读到的那样,Python的内置浮点类对控制精度达到了十五个小数位有一个限制。但是,还有其他限制,因为它完全取决于计算机实现的浮点数。例如,请参阅下面的小数点问题。

为了克服这种类型的问题,我们可以在Python中使用十进制模块。

Python十进制

十进制模块提供大多数人熟悉的固定和浮点算法实现。与精度高达15位小数的浮点数不同,十进制模块接受用户定义的值。它甚至可以保留号码中的有效数字。

Python分数

Python打包一个名为'fractions'的模块来处理分数。

分数结合了分子和分母; 两者都是整数数据类型。该模块支持合理的数字运算功能。

以下是创建和使用分数类型对象的一个简单示例。

输出:

Python数学

Python公开了一些内置函数来执行简单的数学计算。

例如: abs(),cmp(),max(),min(),round()。

输出:

除上述方法外,我们还可以在Python中使用数学模块。它提供了以下常用功能。

这里有一些使用ceil()函数的例子。

例子1:

Import math:

输出:

4

7

例子2:

输出:

3

本章小结- Python数字

借助Python数字和数学模块,您可以在Python中执行任何基本到高级的计算。我希望这篇文章能够提升您的学习精神。

无论如何,如果你今天学到了新的东西,那么别介意进一步分享它。并且可以关注我后续一系列Python的相关文章。

本系列文章列表:

  • 为什么要学习Python这门编程语言?

  • Python入门基础系列(一)——开发工具的选择

  • Python入门基础系列(二)——环境搭建

  • Python入门基础系列(三)——关键字,标识符和变量

  • Python入门基础系列(四)——语句,表达式和缩进

  • Python入门基础系列(五)——单行和多行注释

  • Python入门基础系列(六)——基本数据类型

  • Python入门基础系列(七)——数字和类型转换

  • Python入门基础系列(八)——列表

  • Python入门基础系列(九)——运算符

  • Python入门基础系列(十)——运算符的优先级

相关推荐

Java 泛型大揭秘:类型参数、通配符与最佳实践

引言在编程世界中,代码的可重用性和可维护性是至关重要的。为了实现这些目标,Java5引入了一种名为泛型(Generics)的强大功能。本文将详细介绍Java泛型的概念、优势和局限性,以及如何在...

K8s 的标签与选择器:流畅运维的秘诀

在Kubernetes的世界里,**标签(Label)和选择器(Selector)**并不是最炫酷的技术,但却是贯穿整个集群管理与运维流程的核心机制。正是它们让复杂的资源调度、查询、自动化运维变得...

哈希Hash算法:原理、应用(哈希算法 知乎)

原作者:Linux教程,原文地址:「链接」什么是哈希算法?哈希算法(HashAlgorithm),又称为散列算法或杂凑算法,是一种将任意长度的数据输入转换为固定长度输出值的数学函数。其输出结果通常被...

C#学习:基于LLM的简历评估程序(c# 简历)

前言在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。准备不同的简历:image-20250528183949844查...

55顺位,砍41+14+3!季后赛也成得分王,难道他也是一名球星?

雷霆队最不可思议的新星:一个55号秀的疯狂逆袭!你是不是也觉得NBA最底层的55号秀,就只能当饮水机管理员?今年的55号秀阿龙·威金斯恐怕要打破你的认知了!常规赛阶段,这位二轮秀就像开了窍的天才,直接...

5分钟读懂C#字典对象(c# 字典获取值)

什么是字典对象在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合被称为字典。字典最大的特点就是能够根据键来快速查找集合中的值,其键的定义不能重复,具有唯一性,相当于数组索引值,字典...

c#窗体传值(c# 跨窗体传递数据)

在WinForm编程中我们经常需要进行俩个窗体间的传值。下面我给出了两种方法,来实现传值一、在输入数据的界面中定义一个属性,供接受数据的窗体使用1、子窗体usingSystem;usingSyst...

C#入门篇章—委托(c#委托的理解)

C#委托1.委托的定义和使用委托的作用:如果要把方法作为函数来进行传递的话,就要用到委托。委托是一个类型,这个类型可以赋值一个方法的引用。C#的委托通过delegate关键字来声明。声明委托的...

C#.NET in、out、ref详解(c#.net framework)

简介在C#中,in、ref和out是用于修改方法参数传递方式的关键字,它们决定了参数是按值传递还是按引用传递,以及参数是否必须在传递前初始化。基本语义对比修饰符传递方式可读写性必须初始化调用...

C#广义表(广义表headtail)

在C#中,广义表(GeneralizedList)是一种特殊的数据结构,它是线性表的推广。广义表可以包含单个元素(称为原子),也可以包含另一个广义表(称为子表)。以下是一个简单的C#广义表示例代...

「C#.NET 拾遗补漏」04:你必须知道的反射

阅读本文大概需要3分钟。通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。获取类型的成员Type类的GetMembe...

C#启动外部程序的问题(c#怎么启动)

IT&OT的深度融合是智能制造的基石。本公众号将聚焦于PLC编程与上位机开发。除理论知识外,也会结合我们团队在开发过程中遇到的具体问题介绍一些项目经验。在使用C#开发上位机时,有时会需要启动外部的一些...

全网最狠C#面试拷问:这20道题没答出来,别说你懂.NET!

在竞争激烈的C#开发岗位求职过程中,面试是必经的一道关卡。而一场高质量的面试,不仅能筛选出真正掌握C#和.NET技术精髓的人才,也能让求职者对自身技术水平有更清晰的认知。今天,就为大家精心准备了20道...

C#匿名方法(c#匿名方法与匿名类)

C#中的匿名方法是一种没有名称只有主体的方法,它提供了一种传递代码块作为委托参数的技术。以下是关于C#匿名方法的一些重要特点和用法:特点省略参数列表:使用匿名方法可省略参数列表,这意味着匿名方法...

C# Windows窗体(.Net Framework)知识总结

Windows窗体可大致分为Form窗体和MDI窗体,Form窗体没什么好细说的,知识点总结都在思维导图里面了,下文将围绕MDI窗体来讲述。MDI(MultipleDocumentInterfac...