Python学习笔记-数字类型

news2024/10/7 18:32:05

目录

1. 数字类型

1.1 整型

1.2 浮点数

1.3 复数

1.4 布尔类型

2. 常用内置数值计算函数库

3. 随机数函数


本文记录python中的基本数字类型信息,以及一些其他的相关知识点。

1. 数字类型

python中用于标识数字或者数值的数据类型,主要有如下分类:

  • 整型:int
  • 浮点型:float
  • 复数类型:complex
  • 布尔类型:bool

1.1 整型

 整形默认为十进制,计算机采用二级制数据。

不同的整型数据可以相互转换,转换函数如下:

  • bin():将整型数据转换为二进制,输出形式为字符串
  • oct():将整型数据转换为八进制,输出形式是字符串
  • hex():将整型数据转换为十六进制,输出形式是字符串
  • int():接受一个符合整型规范的字符串,并将字符串转换为整型
>>> a = 100
>>> bin(a)
'0b1100100'
>>> a_bin = bin(a)
>>> print(a_bin)
0b1100100
>>> type(a_bin)
<class 'str'>
>>> a_oct = oct(a)
>>> print(a_oct)
0o144
>>> type(a_oct)
<class 'str'>
>>> a_hex = hex(a)
>>> print(a_hex)
0x64
>>> type(a_hex)
<class 'str'>
>>> a_int = int(a)
>>> print(a_int)
100
>>> type(a_int)
<class 'int'>
>>> str_a = "100"
>>> inta = int(a)
>>> print(inta)
100
>>> type(inta)
<class 'int'>
#可直接转换非十进制数据
>>> bin(0xff)
'0b11111111'
# 转换非整型数据时报错
>>> bin('100')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
>>>

注意

数字在python是不可变的,如有多个变量指向同一个数值是,该值只会存储在一个内存中,然后不同变量指向同一个内存。

示例如下:

>>> a = 1
>>> b = 1
>>> c = a
>>> print(id(a),id(b),id(c))
140715700289808 140715700289808 140715700289808

可以看出所有变量的di是一样的,id()是python的内置函数,用于读取变量的内存。即上文示例中a、b、c变量指向指向数字1的内存。

>>> a = 1
>>> b = 1
>>> c = a
>>> print(id(a),id(b),id(c))
140715700289808 140715700289808 140715700289808
>>> a = 2
>>> print(id(a),id(b),id(c))
140715700289840 140715700289808 140715700289808
>>>

如上,将a重新赋值为2,只有a的地址改变了,改变a的值时并不是修改数值,而是将新的数值存入内存中,然后将变量重新指向该内存。浮点数、复数等其他数字类型变量具有相同特点。

1.2 浮点数

浮点数就是数学中的小数,特点如下:

  • 以十进制表示;
  • 可以用科学计数法表示;
  • python中的浮点型都是双精度的,每个浮点数占八个字节(64位);

科学计数法的格式如下:

                数值x e 数值y(整型)

                就是x乘以10的y次幂

示例如下:

>>> a = 1.0
>>> b = 0.1
>>> print(type(a))
<class 'float'>
>>> print(type(b))
<class 'float'>
>>> c = 1e2    # 1 乘以 10 的 2次幂
>>> print(c)
100.0
>>> d = 1e-2   # 1 乘以 10 的 -2次幂
>>> print(d)
0.01

注意

        x是不可获取的部分,若确实,则会报错

>>> d = e-2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'e' is not defined

1.3 复数

复数就是数学中的复数,其特点如下:

  • 复数由“实部”和“虚部”两部分组成;
  • 实数和虚数部分都是浮点型;
  • 虚数部分必须有j或着J;

复数的表达形式

  • a + bj;
  • complex(a,b):其中a是实部,b是虚部

用法示例如下:

>>> a = 1 + 2j
>>> print(type(a))
<class 'complex'>
>>> b = complex(1,2)
>>> print(type(b))
<class 'complex'>
>>> print(id(a),id(b))
2575329711152 2575329711216
>>> # 获取复数的虚部
>>> print(a.imag)
2.0
>>> print(a.real) #获取s复数的实部
1.0
>>> print(a.conjugate())        # 获取共轭复数
(1-2j)

1.4 布尔类型

布尔类型就是是与否,只有两个状态,基本特点如下:

  • 只有True和False两个取值;
  • True对应整数1,False对应整数0;
  • 常用的bool运算包括and、or、not三种,对应与、或、非运算;

多种数据可以等价于True和False:

2. 常用内置数值计算函数库

数学中的一些常用运算在python标准函数中的表达式。

函数数学表示说明
copysign(x,y)复制符号位,用y的正负号替换x的正负号
fabs(x)|x|返回x的绝对值
factorial(x)x!返回x的阶乘,x必须为正整数或0,否则会报错
floor(x)向下取整,返回不大于x的最大整数
fmod(x,y)x % y返回x与y的模
frexp(x)x = m * 2 **e返回(m,e),若x为零,则返回(0.0,0)
fsum(iterable)浮点数精度求和
gcd(a,b)返回a和b的最大公约数
iscolse(a,b)比较a和b的相似性,相近返回True,否则返回False

isfinite(x)

若x不是无穷大,也不是NaN,返回True;否则返回False

isnan(x)x为NaN时返回True,否则返回False
ldexp(x,i)返回x*(2**i)
modf(x)返回x的小数部分和整数部分
trunc(x)返回x的整数部分
exp(x)e^x返回e的x次幂
expm1(x)e^x-1返回e的x次幂减去1
log(x[,base])返回x的自然对数
log1p(x)ln(1+x)返回1+x的自然对数
log2(x)返回以2为底x的对数
log10(x)返回以10为底x的对数
pow(x,y)x^{y}返回x的y次幂
sqrt(x)\sqrt{x}返回x的平方根
sin(x)sin x返回x的正弦函数值
cos(x)cos x返回x的余弦函数值
tan(x)tan x返回x的正切函数值
asin(x)arcsin x返回x的反正弦函数值
acos(x)atccos x返回x的反余弦函数值
atan(x)atctan x返回x的反正切函数值
atan2(x) arctan \frac{y}{x}返回y/x的反正切函数
math.erf(x)高斯误差函数
math.erfc(x)余补高斯误差函数
math.gamma(x)伽马函数,也叫欧拉第二积分函数
math.lgamma(x)伽马函数的自然对数

3. 随机数函数

随机数函数random用于生成置定范围内的随机数。

import random

a = random.random()  # 生成一个0-1范围内的随机数
b = random.randint(1,200)      # 生成1-200范围内的一个随机整数

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

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

相关文章

​鸽群卫星(Flock)​介绍

鸽群卫星&#xff08;Flock&#xff09;是美国Planet公司[1]研制的3U遥感立方体卫星星座&#xff0c;单颗卫星重约5kg&#xff0c;也被称为“鸽子”&#xff08;Dove&#xff09;。鸽群星座主要有两类轨道&#xff1a;空际空间站释放420km高、52度倾角轨道&#xff08;ISS&…

R语言基于决策树的银行信贷风险预警模型

引言 我国经济高速发展&#xff0c;个人信贷业务也随着快速发展&#xff0c;而个人信贷业务对提高内需&#xff0c;促进消费也有拉动作用。有正必有反&#xff0c;在个人信贷业务规模不断扩大的同时&#xff0c;信贷的违约等风险问题也日益突出&#xff0c;一定程度上制约着我…

力扣(LeetCode)115. 不同的子序列(C++)

动态规划 状态转移方程 f[i,j]{f[i−1,j]f[i−1,j]f[i−1,j−1]if s[i]t[j]f[i,j]\begin{cases} f[i-1,j]\\ f[i-1,j]f[i-1,j-1]&\text{if } s[i]t[j] \end{cases}f[i,j]{f[i−1,j]f[i−1,j]f[i−1,j−1]​if s[i]t[j]​ 无论选不选 s[i]s[i]s[i] &#xff0c; f[i][j]f[i…

解决报错:fatal: in unpopulated submodule *

目录 问题 解决 问题 今天想把两个 Git 工程合并成一个工程&#xff0c;尽管已经将其中一个工程的 .git 目录删除了&#xff0c;但是在合并提交时还是遇到了一个和子模块相关的报错&#xff0c;具体报错信息如下&#xff1a; fatal: in unpopulated submodule * 报错截图如下…

【iMessage苹果相册日历推位置推送】软件安装deviceToken是由APNs生成的

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

SpringBoot+html+vue模板开发

除了对某个表基本的增删改查以外&#xff0c;可能需要额外的增加操作&#xff0c;这里是通过按钮来实现的 1、新增一个测试按钮 <el-button type"primary" class"butT" click"test()">测试</el-button> 2、这个按钮绑定一个方法t…

Android 创建桌面组件Widget——构建应用微件(二)

Android 创建桌面组件Widget——构建应用微件&#xff08;二&#xff09;Android 创建桌面组件Widget——构建应用微件&#xff08;二&#xff09;概览使用 AppWidgetProvider 类接收应用微件广播 Intent固定应用微件设置预览图片完整代码Android 创建桌面组件Widget——构建应…

Spark学习(7)-SparkSQL函数定义

1 SparkSQL 定义UDF函数 目前在SparkSQL中&#xff0c;仅仅支持UDF和UDAF函数&#xff0c;python仅支持UDF。 1.1 定义方式 定义方式有两种&#xff1a; sparksession.udf.register() 注册的UDF可以用于DSL和SQL&#xff0c;返回值用于DSL风格&#xff0c;传参内的名字用于SQ…

如何在Odoo中添加水印?

为了防止信息的泄露&#xff0c;水印作为一种防泄密的方式&#xff0c;被使用的频率越来越高。 那么在Odoo中&#xff0c;如何添加水印呢&#xff1f;其实添加的方法有很多&#xff0c;如利用svg生成背景图&#xff0c;重复的dom元素覆盖等等。 本文主要讲解利用canvas输出背…

不懂单链表? 这篇文章就帮你搞明白

坚持看完&#xff0c;结尾有思维导图总结 链表对指针的操作要求不低链表的概念链表的特性链表的功能(最重要)定义和初始化头插头删细节说明尾插尾删寻找链表元素与打印链表在 某位置后插入删除在某位置的插入删除销毁链表链表的概念 什么是链表 官方概念&#xff1a;链表是一种…

链表(1)

我们以前学过的线性数据结构底层原理都是依托静态数组来实现的&#xff0c;今天我们讲学习一个最简单的动态数据结构---->链表&#xff01; 掌握链表有助于学习更加复杂的数据结构&#xff0c;例如&#xff1a;二叉树、trie 链表的优点是不需要处理固定的问题&#xff0c;…

mavon-editor的使用

vue3vitets下安装mavon-editor 3.0.0-beta版本&#xff0c;效果如下&#xff1a; 安装 //引入样式 import mavon-editor/dist/css/index.css; import mavonEditor from mavon-editor; app.use(router).use(mavonEditor).mount(#app);<template><div class"rich…

zabbix主动监控和被动监控

目录 一、环境准备 1、搭建zabbix基础环境 二、主动监控与被动监控介绍 三、设置客户端为主动监控 1、给web2主机安装zabbix_agent 2、修改主动监控配置 四、设置zabbix管理端主动监控 1、克隆模板 2、给目标主机绑定主动监控模板 3、查看主动监控的数据 一、环境准备…

【HIT-OSLAB-实验中的碎碎念】

文章目录应该养成的好习惯删除 替换 修改 内容时 记得留备份遇到问题要通过文字 图片 等多种途径去记录不同的项目应该在不同的文件夹进行处理代码文档 记得添加一些注释用于说明功能多输出有区别度的提示信息s找bug 先定位错误 再改当一份代码有不同版本的时候 记得说明每份代…

109376-05-8,Boc-QRR-AMC, Hepsin substrate

Boc-QRR-AMC是跨膜丝氨酸蛋白酶hepsin的底物&#xff0c;也用于测定酿酒酵母中的可辛(Kex2内蛋白酶)。Boc-QRR-AMC的库存解决方案最好在DMSO中准备。 编号: 187545中文名称: Hepsin substrate&#xff1a;Boc-Gln-Arg-Arg-7-氨基-4-甲基香豆素英文名: Boc-Gln-Arg-Arg-AMCCAS号…

全球No.1集装箱人工智能企业CIMCAI中集飞瞳,集装箱信息识别铅封号识别API免费,集装箱识别率99.98%高泛化性,全球两千+企业用户使用

全球No.1集装箱人工智能企业CIMCAI中集飞瞳&#xff0c;先进人工智能AI科技打造飞瞳引擎™AI集装箱检测云服务&#xff0c;集装箱信息识别铅封号识别API免费&#xff0c;集装箱识别率99.98%高泛化性&#xff0c;全球两千企业用户使用。CIMCAI中集飞瞳成熟港航人工智能核心技术及…

3年功能测试拿8K,被刚入职的应届生反超,其实你在假装努力

最近朋友给我分享了一个他公司发生的事 大概的内容呢&#xff1a;公司一位工作3年的测试工资还没有新人高&#xff0c;对此怨气不小&#xff0c;她来公司辛辛苦苦三年&#xff0c;三年内迟到次数都不超过5次&#xff0c;每天都是按时上下班&#xff0c;工作也按量完成&#xf…

PyQT6关联信号槽 (六) 百篇文章学PyQT6

本文章是百篇文章学PyQT6的第六篇&#xff0c;本文讲述如何使用PySide创建UI界面&#xff0c;并且关联入PyCharm 新建的项目中成功运行第一个PyQT程序&#xff0c;并且使用 信号槽 connect 到函数&#xff0c;在写博客和学习的过程中会遇到很多问题&#xff0c;例如&#xff1a…

Python实现点选验证码识别, B站模拟登陆

话不多说&#xff0c;今天就分享一下如何用Python实现点选验证码识别&#xff0c;小破站模拟登陆 开发环境 Python 3.8Pycharm 2021.2谷歌浏览器谷歌驱动 模块使用 selenium >>> pip install selenium3.141.0 指定版本安装time打码平台 模块安装问题: -如果安装…

Java注解(Annotation)

一、什么是注解 个人理解&#xff0c;注解就是代码中的特殊标记&#xff0c;这些标记可以在编译、类加载、运行时被读取&#xff0c;从而做相对应的处理。 注解跟注释很像&#xff0c;区别是注释是给人看的&#xff1b;而注解是给程序看的&#xff0c;它可以被编译器读取。 …