【PYTHON笔记】(3) : 数据类型 -- 数字

基本的类型

下面我们来看一下PYTHON里面常用的类型

这里写图片描述
Tuple 是不是不认识?我们后面一起看,先了解一下。


数字

基本数字类型

Python里面的数字类型包括整形、长整形、浮点数、复数。在PYTHON里面,数字不是一个单独的对象,而是一个包含相似类型的分类。

这里写图片描述

有几点我想跟大家再说明一下:

1.在PYTHON3之后的版本里面 整形只有一个类型,不像之前的版本里面,我们会分整形和长整形。

2.了解一下二进制、八进制、十进制、十六进制。
十六进制:以0X开头,后面接0-9和A-F;
八进制:以0O开头,后面跟0-7;
二进制:以0B开头,后面跟0-1;

3.PYTHON的复合型的结构是:实际数字+未知数字(本人对complex()函数的实际运用并未有深刻的理解,希望大家可以指点一下)

我们再来看看内置工具吧:

运算符号:+, -, , /, >>, *, &, 等等
内置函数:pow, abs, round, int, hex, bin,等等
功能模块:random, math等等

下图是PYTHON里的运算

这里写图片描述

我们按照上面的表练习一下就OK了,不清楚的查文档~

数字中的那些事儿

1.变量
一提到程序,必定少不了变量,我们这里有必要知道几个重点:
1.变量只有在第一次赋值时才会创建。
2.变量在使用前(比如 x + 10),必须现赋值。

2.STR() VS REPR()
两个都是将对象转化成字符串。只不过,str()方法是将对象转化成可读的字符串,而repr()则是转化成“代码”字符串。

>>> import datetime
>>> today = datetime.datetime.now()
>>> repr(today)
'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'

3.有趣的事情
1.1+2.2 == 3.3 大家都认为是正确的吧 ? 可是在PYTHON里面是不对的哟,原因是什么?对于小量的浮点数据,我们有时候需要做一些微调。比如 int(1.1+2.2) == int (3.3) 结果就是True

4.除法
PYTHON3里面有两种除法a. True Division b.Floor Division. 所谓 True Division 就是会保留小数位的。比如 10/4 结果是2.5 。 OK, 什么是Floor Division ? 就是10/4结果是2 就是不大于结果的最大整数值.

PYTHON3 ,大家可以参考下面的例子:

>>> (5 / 2), (5 / 2.0), (5 / −2.0), (5 / −2) 
    (2.5, 2.5, −2.5, −2.5)

5.常用内置的函数

>>> import math
>>> math.pi, math.e 
 (3.141592653589793, 2.718281828459045)
>>> math.sin(2 * math.pi / 180) 
 0.03489949670250097
>>> math.sqrt(144), math.sqrt(2)
 (12.0, 1.4142135623730951)
>>> pow(2, 4), 2 ** 4, 2.0 ** 4.0 
 (16, 16, 16.0)
>>> abs(-42.0), sum((1, 2, 3, 4)) 
 (42.0, 10)
>>> min(3, 1, 2, 4), max(3, 1, 2, 4) 
 (1, 4)
>>> 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')
>>> random.random()
>>>0.051308506597373515
>>> random.randint(1, 10) 
>>>5
>>> random.choice(['Life of Brian', 'Holy Grail', 'Meaning of Life']) 
 'Life of Brian'
>>> suits = ['hearts', 'clubs', 'diamonds', 'spades'] >>> random.shuffle(suits)
>>> suits
 ['spades', 'hearts', 'diamonds', 'clubs']

其他

1.Decimal

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

答案怎么不是0? 其实这个问题我们之前已经碰到了。现在我们换一种方式

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

通过向Decimal()传递一个字符串来控制你想要的位数。默认情况下,结果位数以表达式中最多位数为准:

>>> from decimal import Decimal
>>> Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.03')
 0.27

下面我们来看看设置全局精度

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

2.分数
PYTHON2.6之后出了一个新的数字类型

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

3.Set
Set是无序的,唯一的、不可变的集合。我们来看一下PYTHON3里面SET的一些用法

>>> set([1, 2, 3, 4])
{1, 2, 3, 4}
>>> set('spam')
{'s', 'a', 'p', 'm'}
>>> {1, 2, 3, 4}
{1, 2, 3, 4}
>>> S = {'s', 'p', 'a', 'm'} >>> S
{'s', 'a', 'p', 'm'}
>>> S.add('alot')
>>> S
{'s', 'a', 'p', 'alot', 'm'}
>>> S1 = {1, 2, 3, 4}
>>> S1 & {1, 3}
{1, 3}
>>> {1, 5, 3, 6} | S1 
{1, 2, 3, 4, 5, 6}
>>> S1 - {1, 3, 4} 
{2}
>>> S1 > {1, 3} 
True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值