广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python学习笔记(四)——数字
  • 536
分享到

Python学习笔记(四)——数字

学习笔记数字Python 2023-01-31 01:01:23 536人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

数字 在python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。Python不仅支持通常的数据类型(整数和浮点数。),而且能够通过常量去直接创建数字以及处理数字的表达式。  整数和浮点数 复数 固定精度的十进

数字

python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。Python不仅支持通常的数据类型(整数和浮点数。),而且能够通过常量去直接创建数字以及处理数字的表达式。

 整数和浮点数
 复数
 固定精度的十进制数;
 有理分数
集合
 布尔类型
 无穷的整数精度
 各种数字内置函数和模块。

数字常量:
数字 常量
123,-23,0,99999…… 整数(无穷大小)
1.23,1.,3.14e-10,4E210 浮点数
0o177,0x9ff,0b11000 python3.0中的八进制、十六进制和二进制常量
3+4j,3j 复数产量

Python表达式操作符:
Python学习笔记(四)——数字

数字变量表达式:
 变量在它第一次赋值时创建
 变量在表达式中使用将被替换为它们的值
 变量在表达式中使用之前必须已赋值
 变量像对象一样不需要在一开始进行声明

>>> a=3
>>> b=4
>>> a,b
(3, 4)

数字的转换:

>>> int('100')          #将数字从文本转换为数字
100
>>> str(100)            #将数字从数字转换为文本
'100'

数字显示格式:

>>> num=1/3.0
>>> num
0.3333333333333333
>>>
>>>
>>>
>>> print(num)
0.3333333333333333
>>>
>>> '%e'%num
'3.333333e-01'
>>> '%4.2f'%num
'0.33'
>>> '{0:4.2f}'.fORMat(num)
'0.33'
>>>

数字比较:一般的和连续的
一般的比较操作数相对大小,并且返回一个布尔类型的结果。

>>> 1<2
True
>>>
>>> 2.0>=1
True

>>> 2.0==2.0
True
>>> 2.0!=2.0
False

连续比较:

>>> x=10
>>> y=20
>>> z=30
>>>
>>>
>>> x<y<z
True
>>> x<y>z
False

获取数字最大值和最小值的函数:

>>> max(x,y,z)
30
>>> min(x,y,z)
10
>>>

除法:

传统除法、Floor除法和真除法:

传统除法:
X / Y
传统除法和真除法,在Python2.6及之前的版本中,这个操作对于整数部分会省去小数部分,对于浮点数会保持小数部分。在Python3.0版本中为真除法(无论任何类型都会保持小数部分)。

Floor除法:
X // Y
在Python2.2中新增操作,在Python2.6和Python3.0均能使用。操作不考虑操作对象类型,总会省略结果的小数部分,剩下最小的能整除的整数部分。

在Python3.0中取消了传统除法,/和//分别实现真除法和floor除法。

>>> 10 / 4
2.5
>>>
>>> 10 // 4
2
>>>
>>> 10 / 4.0
2.5
>>>
>>> 10 // 4.0
2.0
>>>
>>> 5 / 2.0
2.5
>>> 5 // 2.0
2.0
>>>
>>> 5 / -2.0
-2.5
>>> 5 // -2.0
-3.0
>>>

整数精度:
Python3.0整数支持无穷的大小,Python2.6长整数在末尾显示一个“L”。

复数:
复数分为两个浮点数(实部和虚部)并在虚部增加了j或J的后缀。可以把非零实部的复数写成由+连接起来的两部分。

>>>
>>> 1j*1j
(-1+0j)
>>> 2+3j*3
(2+9j)
>>> (5+6j)**2
(-11+60j)
>>>

十六进制、八进制和二进制常量

>>>
>>> 0o1,0o20,0o377
(1, 16, 255)
>>>
>>> 0x01,0x10,0xFF
(1, 16, 255)
>>>
>>> 0b1,0b10000,0b11111111
(1, 16, 255)
>>>

>>>
>>> oct(64),hex(64),bin(64)
('0o100', '0x40', '0b1000000')
>>>

Int将数字按照进制进行转换:

>>>
>>> int('64')
64
>>> int('100',8)
64
>>> int('40',16)
64
>>> int('1000000',2)
64
>>>
>>> int('0o100',8),int('0x40',16),int('0b1000000',2)
(64, 64, 64)

Eval函数:

>>>
>>> eval('64'),eval('0o100'),eval('0x40'),eval('0b1000000')
(64, 64, 64, 64)
>>>

通过字符调用转换进制:

>>> '{0:o},{1:x},{2:b}'.format(64,64,64)
'100,40,1000000'
>>>
>>>
>>> '%o,%x,%X' % (64,255,255)
'100,ff,FF'
>>>

位操作

把整数当作二进制位串进行位移及布尔操作。

>>>
>>> x=1
>>>
>>> x<<1
2
>>> x<<2
4
>>> x<<3
8
>>> y=8
>>>
>>> y>>1
4
>>> y>>2
2
>>> y>>3
1
>>> y>>4
0
>>> y>>5
0
>>>

>>>
>>> x=0b0001
>>>
>>> x
1
>>> bin(x<<1)
'0b10'
>>> bin(x<<2)
'0b100'
>>> bin(x<<3)
'0b1000'
>>> bin(x<<4)
'0b10000'
>>>
>>>
>>> bin(x | 0b0010)
'0b11'
>>>
>>>
>>> bin(x ^ 0b0010)
'0b11'
>>>
>>> bin(x & 0b0010)
'0b0'
>>>

显示数字二进制的位数:

>>> X=100
>>>
>>> bin(X),X.bit_length()
('0b1100100', 7)
>>>
>>> Y=101
>>>
>>> bin(Y),Y.bit_length()
('0b1100101', 7)

小数
小数是固定精度的浮点值。
小数对象:小数是通过导入decimal模块调用函数后创建的。拥有固定的位数和小数点。

浮点数字缺乏精确性,因为存放数值的空间有限。

>>>
>>> 0.1+0.1+0.1-0.3
5.551115123125783e-17
>>>

>>>
>>> from decimal import Decimal
>>>
>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')
Decimal('0.0')
>>>

当小数对象中的字符串小数位数多时,会自动调整。

>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.100') - Decimal('0.3')
Decimal('0.000')

全局精度设置:

>>>
>>> import decimal
>>>
>>> decimal.Decimal(1) / decimal.Decimal(7)
Decimal('0.1428571428571428571428571429')
>>>
>>> decimal.getcontext().prec = 4
>>>
>>> decimal.Decimal(1) / decimal.Decimal(7)
Decimal('0.1429')
>>>

分数
分数在Python中以类似小数的方式使用,也存在于模块中,导入其构造函数并传递一个分子和分母就可以产生一个分数。

>>>
>>> from fractions import Fraction
>>>
>>> x=Fraction(1,3)
>>> y=Fraction(4,6)
>>>
>>> x
Fraction(1, 3)
>>>
>>> y
Fraction(2, 3)
>>>
>>> print(x,y)
1/3 2/3
>>>

分数的数学表达式:

>>>
>>> x+y
Fraction(1, 1)
>>> x-y
Fraction(-1, 3)
>>> x*y
Fraction(2, 9)
>>>

通过浮点字符串创建分数对象:

>>>
>>> Fraction('.25')
Fraction(1, 4)
>>>
>>> Fraction('1.25')
Fraction(5, 4)
>>>
>>> Fraction('.25')+Fraction('1.25')
Fraction(3, 2)
>>>

>>>
>>> z=2.5
>>>
>>> o=Fraction(*z.as_integer_ratio())
>>>
>>> o
Fraction(5, 2)

内置数学工具

>>>
>>> import math
>>>
>>> math.pi,math.e
(3.141592653589793, 2.718281828459045)
>>>
>>> math.sin(2*math.pi / 180)
0.03489949670250097
>>>
>>> math.sqrt(144),math.sqrt(3),math.sqrt(4)
(12.0, 1.7320508075688772, 2.0)
>>>
>>> pow(2,4),pow(2,5),2**4,2**5
(16, 32, 16, 32)
>>>
>>> abs(-42.0),sum((1,2,3,4,5,6))       #求绝对值,求和
(42.0, 21)
>>>
>>> min(3,1,2,4,5)                      #求最小数
1
>>> max(3,1,2,4,5)                  #求最大数
5
>>>

小数截断方式:

>>>
>>> math.floor(2.567),math.floor(-2.567)
(2, -3)
>>> math.trunc(2.567),math.trunc(-2.567)
(2, -2)
>>>
>>> int(2.567),int(-2.567)
(2, -2)
>>>
>>> round(2.567),round(2.467),round(2.567,2)
(3, 2, 2.57)
>>>
>>> '%.1f' % 2.567,'{0:.2f}'.format(2.567)
('2.6', '2.57')
>>>

range-----生成随机数函数

>>>
>>> import random
>>>
>>> random.random()
0.6746601025987419
>>> random.random()
0.569446993489575
>>> random.random()
0.31398115374410795
>>>
>>>
>>> random.randint(1,10)
10
>>> random.randint(1,10)
4
>>> random.randint(1,10)
1
>>>
>>> random.choice(['banane','apple','orange'])
'banane'
>>>
>>> random.choice(['banane','apple','orange'])
'orange'
>>> random.choice(['banane','apple','orange'])
'orange'
>>> random.choice(['banane','apple','orange'])
'apple'
>>>

集合

集合(set),是唯一的、不可变的对象的一个无序集合(collection),支持与数学集合理论相对应的操作。一个项,无论在集合中添加多少次,都只能出现一次。
集合是无序的,并且不会把键匹配到值,既不是序列也不是映射类型。

>>>
>>> x = set('abcde')
>>> y = set('bdxyz')
>>>
>>> x,y
({'a', 'e', 'd', 'b', 'c'}, {'y', 'x', 'd', 'b', 'z'})
>>>
>>> 'e' in x
True
>>> 'g' in x
False
>>>
>>> x - y
{'c', 'e', 'a'}
>>>
>>> x | y
{'a', 'e', 'y', 'x', 'd', 'b', 'c', 'z'}
>>>
>>> x & y
{'b', 'd'}
>>>
>>> x ^ y
{'c', 'a', 'y', 'e', 'x', 'z'}
>>>
>>> x > y,x < y
(False, False)
>>> #Add方法插入项、update按位置求集、remove根据值删除一个项目。
>>>
>>> z = x.intersection(y)       #  same as x & y
>>>
>>> z
{'b', 'd'}
>>>
>>> z.add('yert')
>>>
>>> z
{'b', 'd', 'yert'}
>>>
>>> z.update(set('ace'))
>>>
>>> z
{'b', 'c', 'e', 'a', 'd', 'yert'}
>>>
>>> z.remove('b')
>>>
>>> z
{'c', 'e', 'a', 'd', 'yert'}
>>>
>>>

>>>
>>> a=set('123')
>>>
>>> a=set([1,2,3])
>>>
>>> a
{1, 2, 3}
>>>
>>> a.uNIOn([3,4])
{1, 2, 3, 4}
>>>
>>> a.intersection((1,3,5))
{1, 3}
>>>
>>> a.issubset(range(-5,5))
True
>>>

在Python中{}仍然是一个字典,空的集合必须通过内置函数set创建,并且以同样方式显示。

>>> b={1,2,3}
>>> b
{1, 2, 3}
>>>
>>>
>>> type(b)
<class 'set'>
>>>
>>>
>>> type({})
<class 'dict'>
>>>
>>> a={}
>>>
>>> a
{}
>>> c={}
>>>
>>>
>>> type(c)
<class 'dict'>
>>>
>>>
>>> d=set()
>>>
>>> d
set()
>>>
>>> type(d)
<class 'set'>
>>>

集合与列表的转换:

>>>
>>> L=[1,2,1,3,4,5,6,7,8.7]
>>>
>>> set(L)
{1, 2, 3, 4, 5, 6, 7, 8.7}
>>>
>>> L=list(set(L))
>>>
>>> L
[1, 2, 3, 4, 5, 6, 7, 8.7]
>>>

--结束END--

本文标题: Python学习笔记(四)——数字

本文链接: https://www.lsjlt.com/news/183154.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python学习笔记(四)——数字
    数字 在Python中,数字并不是一个真正的对象类型,而是一组类似类型的分类。Python不仅支持通常的数据类型(整数和浮点数。),而且能够通过常量去直接创建数字以及处理数字的表达式。  整数和浮点数 复数 固定精度的十进...
    99+
    2023-01-31
    学习笔记 数字 Python
  • Python学习笔记四(Python
    Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/library/os)。1)os.sep 可以...
    99+
    2023-01-31
    学习笔记 Python
  • NumPy 学习笔记(四)
    NumPy 算术函数:   1、numpy.reciprocal(arr) 返回参数逐个元素的倒数   2、numpy.power(one, two) 将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂,即 one^t...
    99+
    2023-01-31
    学习笔记 NumPy
  • Python学习笔记整理(四)Pytho
    字符串是一个有序的字符集合,用于存储和表现基于文本的信息。 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3="""...""" 三重引号块 T4=r'...
    99+
    2023-01-31
    学习笔记 Python Pytho
  • python学习笔记:字典
     python版本:Python 2.6.6   系统环境:CentOS release 6.2 x86_64   本文参考了互联网上前辈的一些文章   一、字典是python中最灵活的内置数据结构类型,如果把列表看作是有序的对象集合,那么...
    99+
    2023-01-31
    字典 学习笔记 python
  • Python学习笔记1—Python字符
        字符串是python中重要的数据对象    python字符串是以单引号、双引号、或者三个三单引号三个双引号包含的任意的python数据对象都可以称为python字符串    注意:以单引号或双引号包含的数据对象中间不可以换行(若需...
    99+
    2023-01-31
    学习笔记 字符 Python
  • Redis学习笔记(四)--安全
    Redis学习笔记(四)--安全 基于Redis6之前版本 一、设置数据库密码 配置文件“redis.conf”修改,需重启服务器 在配置文件中“redis.conf”设置"requirepass 123456" 通过"confi...
    99+
    2017-03-22
    Redis学习笔记(四)--安全
  • python学习笔记字符串(二)
    字符串类型(string)字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就...
    99+
    2023-01-31
    字符串 学习笔记 python
  • Python学习笔记总结(四):异常处理
    一、异常基础 1、基础 try/except/else:【else是可选的】捕捉由代码中的异常并恢复,匹配except里面的错误,并执行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不...
    99+
    2023-01-31
    学习笔记 异常 Python
  • python学习笔记 函数
    一等函数 在python中,函数是一等对象。编程语言理论家把“一等对象”定义为满足以下条件的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 在python中,整数、字符串和字典都是一...
    99+
    2023-01-31
    函数 学习笔记 python
  • [Python学习笔记]Python数据
    嵩天老师的课感觉很好呀,啦啦啦 0. 数据分析之前奏 课程主要内容: 常用IDE: 本课程主要使用:Anaconda Anaconda:一个集合,包括conda、某版本Python、一批第三方库等   -支持近800个第三方库...
    99+
    2023-01-30
    学习笔记 数据 Python
  • 学习笔记-小甲鱼Python3学习第四讲
    测试题0.请问以下代码会打印多少次“我爱鱼C”?while 'C':    print('我爱鱼C')当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。1.请问以下代码会打印多少次“...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十四
    字符串的方法及注释capitalize()把字符串的第一个字符改为大写casefold()把整个字符串的所有字符改为小写center(width)将字符串居中,并使用空格填充至长度 width 的新字符串count(sub[, start[...
    99+
    2023-01-31
    甲鱼 学习笔记
  • Python学习笔记
    Python介绍 Python是一种解释型、面向对象的语言。 官网:www.python.org Python环境 解释器:www.python.org/downloads 运行方式: 交互模式。在IDLE中运行。 脚本模式。文件的后缀...
    99+
    2023-01-30
    学习笔记 Python
  • Python 学习笔记
    rs=Person.objects.all() all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。 print rs.query 会打印出原生sql语句 rs=Pe...
    99+
    2023-01-31
    学习笔记 Python
  • [Python学习笔记] 数字类型及操作
    数字类型 整数类型 十进制:1110,-123 二进制:以0B或0b开头 0b110,-0B101 八进制:以0O或0o开头 0o123,-0O567 十六进制:以0X或0x开头 0x555,-0X89a 浮点数类型...
    99+
    2023-01-31
    学习笔记 类型 操作
  • python学习总结四(python数字
      一简介 数字 提供了标量贮存和直接访问。他是不可改类型。也就是数字的值变化时是生成了 新的对象。 1 如何创建数字和赋值。(数字对象) a = 1 就这么简单。 2 如何更新数字 因为单独数字不能做为变量,改变他的值。“3+5” 实际上...
    99+
    2023-01-31
    数字 python
  • python学习笔记3:转义字符
    本文列出python中的转义字符,以方便项目参考 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \00...
    99+
    2023-01-31
    学习笔记 字符 python
  • python 学习笔记 3 -- 数据
    当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。eg. # -*- coding: utf-8 -*-  shopli...
    99+
    2023-01-31
    学习笔记 数据 python
  • Python学习笔记4——函数
    函数 1 # 函数需要先定义,关键字 def 2 def func(): 3 print("我是一个函数") 4 5 # 函数的调用 6 func() 执行结果: 我是一个函数 内建函数(内置函数) help(), prin...
    99+
    2023-01-30
    函数 学习笔记 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作