Python数字类型

news2024/12/19 1:15:45

目录

目标

版本

种类

官方文档

数据运算方法

常用函数

转整数

转浮点数

转绝对值

四舍五入

进制转换

math模块常用函数


目标

掌握Python两种数据类型的使用方法。


版本

Python 3.12.0


种类

数字类型有三种,分别是:

  • 整数(int)
  • 浮点数(float)
  • 复数(complex)

另外,布尔值类型(bool)是整数类型的子类型。


官方文档

Numeric Types — int, float, complexicon-default.png?t=N7T8https://docs.python.org/3/library/stdtypes.html#truth-value-testing官方定义:

There are three distinct numeric types: integers, floating point numbers, and complex numbers. In addition, Booleans are a subtype of integers. 

译文:

有三种不同的数字类型:整数、浮点数和复数。此外,布尔值是整数的一个子类型。

数据运算方法

加法(+)

a=1
b=2
#结果:3
print(a+b)

减法(-)

a=1
b=2
#结果:-1
print(a-b)

乘法(*)

a=1
b=2
#结果:2
print(a*b)

除法(/)

a=1
b=2
#结果:0.5
print(a/b)

整除(//)

a=-2
b=-3.14
c=6
d=-9
e=27

#输出:-1
print(a//c)
#输出:-3
print(e//d)
#输出:3.0 <class 'float'> 分析:3.14向下取整是3.0,因为b是浮点数,所以最终结果也是浮点数。
print(b//-1,type(b//-1))
#输出:-4.0 <class 'float'> 分析:-3.14向下取整是-4.0,因为b是浮点数,所以最终结果也是浮点数。
print(b//1,type(b//1))
#输出:1.0 <class 'float'> 分析:因为b是浮点数,所以最终结果也是浮点数。
print(b//b,type(b//b)))

取余、取模(%)

注意:在Python中,商是向下取整的。下面的第二题做了详细的分析。

a=5
b=2
#结果:1
print(a%b)

a=-5
b=2
#结果:1
#分析:a/b=-2.5,向下取整是-3,余数=被除数-除数*商,即余数=-5-2*(-3)=1
print(a%b)

a=5
b=-2
#结果:-1
print(a%b)

a=-5
b=-2
#结果:-1
print(a%b)

幂运算(**)

a=5
b=2
#结果:25
#5的2次方是25
print(a**b)

常用函数

转整数

规则

  • 浮点数为正数,向下取整。
  • 浮点数为负数,向上取整。
  • 字符串的内容是整数,可直接转整数。
  • 字符串的内容是浮点数,需要先转成浮点数,再转成整数。

案例

a=5
b=3.14
c="3.14"
d=-1.6
e="9"

#输出:<class 'int'> <class 'float'> <class 'str'> <class 'int'>
print(type(a),type(b),type(c),type(d))
#输出:3 <class 'int'> 原因:3.14向下取整是3
print(int(b),type(int(b)))
#输出:-1 <class 'int'> 原因:-1.6向上取整是-1
print(int(d),type(int(d)))
#输出:3 <class 'int'> 原因:"3.14"不是整数字符串类型,不可以直接转换,需要先转换成float,再转成整数。
print(int(float(c)),type(int(float(c))))
#输出:9 <class 'int'> 分析:"9"是整数字符串类型,可以直接转换
print(int(e),type(int(e)))

转浮点数

案例

a=5
b=3.14
c="3.14"
d=-1.6
e="9"

#输出:<class 'int'> <class 'float'> <class 'str'> <class 'int'>
print(type(a),type(b),type(c),type(d))
#输出:3.14 <class 'float'>
print(float(c),type(float(c)))
#输出:5.0 <class 'float'>
print(float(a),type(float(a)))

转绝对值

案例

a=-0.618
#输出:0.618
print(abs(a))

四舍五入

规则

  • 使用方法round(x,y)将x四舍五入到y位。
  • 如果只有一个参数,则默认将该数字四舍五入取整。
  • 如果y是负数,则四舍五入到小数点左边的第y位。

案例

a=3.14
b=-3.876
c=10086.1314
#输出:3 <class 'int'> 分析:四舍五入取整。
print(round(a),type(round(a)))
#输出:-4 <class 'int'> 分析:四舍五入取整。
print(round(b),type(round(b)))
#输出:10100.0 <class 'float'> 分析:第2个参数是负数,则四舍五入到小数点左边的第y位。
print(round(c,-2),type(round(c,-2)))

进制转换

案例

a = 16
# 十进制转二进制
print(bin(a))
# 十进制转十六进制
print(hex(a))

b = 0b10000
#二进制转十六进制
print(hex(b))
# 二进制转十进制
b = "0b10000"
print(int(b,2))

c=0x10
#十六进制转二进制
print(bin(c))
#十六进制转十进制
c="0x10"
print(int(c,16))

math模块常用函数

官方文档

math — Mathematical functionsicon-default.png?t=N7T8https://docs.python.org/3/library/math.html案例

import math

# 计算平方根
sqrt_result = math.sqrt(16)
# 输出: 4.0
print("平方根:", sqrt_result)

# 计算绝对值
absolute_value = math.fabs(-3.14)
# 输出: 3.14
print("绝对值:", absolute_value)

# 计算向上取整
ceil_result = math.ceil(3.14)
# 输出: 4
print("向上取整:", ceil_result)

# 计算向下取整
floor_result = math.floor(3.14)
# 输出: 3
print("向下取整:", floor_result)

# 计算e的x次方
exp_result = math.exp(2)
# 输出: 7.38905609893065
print("e的2次方:", exp_result)

# 计算对数
log_result = math.log(100, 10)
# 输出: 2.0
print("以10为底的100的对数:", log_result)

# 计算π的值
pi_value = math.pi
# 输出: 3.141592653589793
print("π的值:", pi_value)

# 计算正弦值
# math.sin()接受弧度,需要将角度转换为弧度
sin_result = math.sin(math.radians(90))
# 输出: 1.0
print("正弦值:", sin_result)

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

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

相关文章

C++类和对象(五) 拷贝构造函数

1 概念 在现实生活中&#xff0c;可能存在一个与你一样的自己&#xff0c;我们称其为双胞胎。那在创建对象时&#xff0c;可否创建一个与已存在对象一某一样的新对象呢&#xff1f; 那在创建对象时&#xff0c;可否创建一个与已存在对象一某一样的新对象呢&#xff1f; 拷贝构造…

Linux高性能编程学习-TCP/IP协议族

一、TCP/IP协议族结构与主要协议 分层&#xff1a;数据链路层、网络层、传输层、应用层 1. 数据链路层 功能&#xff1a;实现网卡驱动程序&#xff0c;处理数据在不同物理介质的传输 协议&#xff1a; ARP&#xff1a;将目标机器的IP地址转成MAC地址RARP&#xff1a;将MAC地…

【Java基础面试四十五】、 介绍一下泛型擦除

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;介绍一下泛型擦除 参考…

2023年10月小程序云开发cms内容管理无法使用,无法同步内容模型到云开发数据库的解决方案

一&#xff0c;问题描述 最近越来越多的同学找石头哥&#xff0c;说cms用不了&#xff0c;其实是小程序官方最近又搞大动作了&#xff0c;偷偷的升级的云开发cms&#xff08;内容管理&#xff09;以下都称cms&#xff0c;不升级不要紧&#xff0c;这一升级&#xff0c;就导致我…

【Matlab】三维绘图函数汇总

本文用于汇总 Matlab 中的三维绘图函数。plot3() 函数用于绘制用参数方程表示的三维曲线。ezplot3() 函数用于三维曲线的符号绘图&#xff0c;需要用参数方程表示。mesh() 函数用于绘制三维曲面网格。surf() 函数用于绘制三维空间曲面。 目录 1. plot3() 2. ezplot3() 3. me…

中医理疗中药材经营小程序商城的作用是什么

对消费者而言&#xff0c;能找到一家靠谱的中医养生馆很重要&#xff0c;但如非朋友介绍或恰好看到纸质广告等&#xff0c;仅依赖线下跑腿很难找到合适的门店&#xff0c;同时也很费时费力。 同时购买相关产品&#xff0c;也只能前往实体店购买或线上第三方商城&#xff0c;当…

【29】c++设计模式——>策略模式

策略模式 C中的策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。策略模式通过将算法封装成独立的类&#xff0c;并且使它们可以互相替换&#xff0c;从而使得算法的变化独立于使用算法的客户端。 策略模式通…

2.3.C++项目:网络版五子棋对战之实用工具类模块的设计

文章目录 一、实用工具类模块&#xff08;一&#xff09;功能 二、设计和封装&#xff08;一&#xff09;日志宏封装&#xff08;二&#xff09;mysql_util封装&#xff08;三&#xff09;Jsoncpp-API封装&#xff08;四&#xff09;file_util封装&#xff08;五&#xff09;st…

Linux:实用操作

Linux&#xff1a;实用操作 1. 各类小技巧1.1 controlc(ctrl c) 强制停止1.2 可以通过快捷键&#xff1a;control d(ctrl d)&#xff0c;退出账户的登录1.3 历史命令搜索1.4 光标移动快捷键 2. 软件安装2.1 介绍2.2 yum命令(需要root权限)在这里插入图片描述 3. systemctl4.…

【C++11】函数的可变参数模板

文章目录 一. 为什么要有可变参数模板&#xff1f;二. 什么是可变参数模板&#xff1f;三. 如何展开参数包&#xff1f;1. 递归函数方式展开参数包2. 通过初始化列表展开参数包 一. 为什么要有可变参数模板&#xff1f; C98/03 中的模板为能够实现泛型编程提供了便利&#xff…

购买腾讯云服务器如何领取优惠券?

随着云计算技术的不断发展&#xff0c;越来越多的个人和企业开始选择云服务器作为其业务发展的基础。作为国内领先的云计算服务商&#xff0c;腾讯云服务器以其稳定、安全、灵活的特点&#xff0c;受到了广大用户的青睐。为了更好地回馈用户&#xff0c;腾讯云服务器经常会推出…

C++ 类和对象(六)赋值运算符重载

1 运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c; 也具有其返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键字operator后面接需…

并发编程-Java内存模型

Java内存模型 在并发编程中&#xff0c;需要处理的两个关键问题&#xff1a; 1&#xff09;多线程之间如何通信&#xff08;线程之间以何种机制来交换数据&#xff09; 2&#xff09;多线程之间如何同步&#xff08;控制不同线程间操作发生的相对顺序&#xff09; 线程之间…

AMD移动FP5平台时序解释

由于刚开始接触AMD移动平台,难免有错误;如有错误请指出共同进步。 配置如下: APU:FP5 Processor EC: ITE5570 CorePMU:RT3662AC 一、基本知识概括 1、IC pin脚信号解释 (1)一般OK是外部信号(对于IC来说是Input);PG是IC发出的(对于IC来说是Output);AMD开机:EN---…

存储优化知识复习三详细版解析

存储优化 知识复习三 一、 选择题 1、 数据库领域的三位图灵奖得主是( )。 A、C.W.Bachman B、E.F.Codd C、Peter Naur D、James Gray 【参考答案】ABD2、 数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间得关系是&#xff08; &#xff09;。 A、&#xff24;B&#…

linux性能分析(四)性能优化导轮

一 别再让Linux性能问题成为你的绊脚石 ① 学习历程 备注&#xff1a; 跟我的学习经历很相像刚工作时遇到的场景跟我现在一样,深深的无力感驱使我继续前行目标: 性能优化成为我的肌肉记忆,写代码的潜意识 ... ② 常见的问题 ③ 性能问题为什么这么难呢 思考&#xff1a…

【驱动开发】创建设备节点、ioctl函数的使用

一、控制三盏灯的亮灭 头文件&#xff1a; #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }gpio_t; #define PHY_LED1_ADDR 0X50006000 #def…

java读取指定文件夹下的全部文件,并输出文件名,文件大小,文件创建时间

import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.*; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { try { Path startingDir Paths.get("你的目…

带你了解如何防御DDoS攻击

DDoS攻击的类型和方法 分布式拒绝服务攻击&#xff08;简称DDoS&#xff09;是一种协同攻击&#xff0c;旨在使受害者的资源无法使用。它可以由一个黑客组织协同行动&#xff0c;也可以借助连接到互联网的多个受破坏设备来执行。这些在攻击者控制下的设备通常称为僵尸网络。 …

人工智能、机器学习、深度学习的区别

人工智能涵盖范围最广&#xff0c;它包含了机器学习&#xff1b;而机器学习是人工智能的重要研究内容&#xff0c;它又包含了深度学习。 人工智能&#xff08;AI&#xff09; 人工智能是一门以计算机科学为基础&#xff0c;融合了数学、神经学、心理学、控制学等多个科目的交…