本文转自:python之Number

1、Python number数字

Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

创建一个number数据值,改变数据的值,查看内存地址已发生改变:

1
2
3
4
5
6
>>> num = 123
>>> id(num)
8743872
>>> num = 456
>>> id(num)
13991590095640

使用del语句删除number对象,可以删除多个用','逗号分隔:

>>> num = 123
>>> num1 =888
>>> del num,num1

2、python支持四种不同的数据类型:

  • 整形(int)-通常被称为整型或整数,是正数或者负整数。
  • 长整型(long integers)-无限大小的整数,整数最后使用大写或小写的L表示。
  • 浮点型(floating point real values)-浮点型由整数部分和小数部分组成。
  • 复数(complex numbers)-复数由实数部分和虚数部分构成,可以使用a+bj,或者complex(a,b)表示,复数的a和b部分都是浮点型.
长整型的取值范围:
python2.7版本中长整型的取值范围为-2**63-1次方至2**63次方
python3中没有long类型,使用int表示长整型
In [1]: 2**63-1
Out[1]: 9223372036854775807L
In [2]: lo1 = 9223372036854775807
In [3]: type(lo1)
Out[3]: int
In [4]: lo2 = 9223372036854775808
In [5]: type(lo2)
Out[5]: long
In [6]: log8 = -2**62
In [7]: type(log8)
Out[8]: int
In [9]: log8 = -2**63-1
In [10]: type(log8)
Out[11]: long 创建复数:
>>> complex1 = 1.2+3.4j
>>> type(complex1)
<class 'complex'>
>>> complex2 = complex(0.3,3.2)
>>> print(complex1,complex2)
(1.2+3.4j) (0.3+3.2j)

3、python number类型转换

内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值

>>> nu1 = 89
>>> nu2 = float(nu1) #转换浮点型
>>> type(nu2)
<class 'float'>
>>> nu3 =complex(nu2) #转复数
>>> type(nu3)
<class 'complex'>
>>> print(nu3)
(89+0j)
>>> nu4 = int(nu2) #转整数
>>> type(nu4)
<class 'int'>
>>> nu5 =str(nu4) #转字符
>>> type(nu5)
<class 'str'>
str(x )                 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

4、python数字内置函数,数字处理模块math

>>> import math   #数字处理模块
>>> help(math.ceil) #查看帮助
>>> dir(math) #打印所有方法
['__doc__', '__file__', '__loader__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc'] >>> nu1 = 12.34
>>> math.ceil(nu1) #取上入整数
13
>>> math.exp(nu1) #返回e的nu1次幂,e为定义的常量
228661.9520568098
>>> math.fabs(nu1) #返回绝对值
12.34
>>> math.floor(nu1) #返回数字的下舍整数部分
12
>>> math.modf(nu1) #返回小数部分与整数部分
(0.33999999999999986, 12.0)
>>> math.sqrt(nu1) #返回平方根
3.5128336140500593
>>> math.e #模块定义的常量e
2.718281828459045
>>> math.pi #模块定义的常量pi
3.141592653589793
内置函数:
>>> abs(11.2) #返回绝对值
11.2
>>> max(12,24) #最大值
24
>>> min(12,24) #最小值
12
>>> pow(2,4) #2**4幂次方
16
>>> round(1.245,3) #返回值的四舍五入值,3为定义到小数第几位
1.245
>>> round(1.245) #默认为0
1

5、python随机数模块random

>>> import random    #导入模块
>>> random.random() #获取0到1之间的随机数
0.1781419039493949
>>> random.random()
0.914421842727102 >>> random.uniform(10,20) #生成10,20之间的浮点数
19.774883012515218
>>> random.uniform(10,20)
11.654111952867027 >>> random.randint(10,20) #生成指定范围内的整数
18
>>> random.randint(10,20)
11 >>> random.randrange(1,100,8) #从指定范围内按指定基数递增获取随机数
33
>>> random.randrange(1,100,8)
17
>>> random.randrange(1,100,8)
33 >>> random.choice([1,2,3,4,5]) #从序列元素中随机获取元素,只能是有序类型
2
>>> random.choice([1,2,3,4,5])
1
>>> random.choice([1,2,3,4,5])
2
>>> random.choice('abcd')
'd'
>>> random.choice('abcd')
'a'
>>> random.choice('abcd')
'c' >>> a = [1,2,3,4,5] #将一个列表元素打乱
>>> random.shuffle(a)
>>> a
[1, 2, 3, 5, 4]
>>> random.shuffle(a)
>>> a
[2, 5, 4, 3, 1]
>>> random.sample(a,2) #从指定序列中随机获取N个元素,生成新对象
[5, 2]
>>> random.sample(a,2)
[5, 4]
>>> random.sample(a,3)
[3, 4, 1]
>>> random.sample(a,5)
[5, 1, 4, 2, 3]

python基础===Number的更多相关文章

  1. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  3. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  4. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  5. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  6. python基础-函数式编程

    python基础-函数式编程  高阶函数:map , reduce ,filter,sorted 匿名函数:  lambda  1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层 ...

  7. python基础知识理解

    一.概述 看了一天的python基础语法,基本对python语法有了一个大概的了解(其实之前断断续续也看过python),学习网址:Python 基础教程.因为之前我学过C++,因此在学习python ...

  8. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  9. Python之路【第二篇】:Python基础

    参考链接:老师 BLOG : http://www.cnblogs.com/wupeiqi/articles/4906230.html 入门拾遗 一.作用域 只要变量在内存中就能被调用!但是(函数的栈 ...

随机推荐

  1. 第14天:逻辑运算符、if、for语句

    今天学习了逻辑运算符.if.for语句基础知识. 一.逻辑运算符 1.&&(与) 一假即假,同真为真2.||(或)一真即真,同假为假3.!(非)切记:参与逻辑运算的,都是布尔值.也就是 ...

  2. BZOJ4737 组合数问题(卢卡斯定理+数位dp)

    不妨不管j<=i的限制.由卢卡斯定理,C(i,j) mod k=0相当于k进制下存在某位上j大于i.容易想到数位dp,即设f[x][0/1][0/1][0/1]为到第x位时是否有某位上j> ...

  3. 51nod 1286 三段子串(树状数组+拓展kmp)

    题意: 给定一个字符串S,找到另外一个字符串T,T既是S的前缀,也是S的后缀,并且在中间某个地方也出现一次,并且这三次出现不重合.求T最长的长度. 例如:S = "abababababa&q ...

  4. BZOJ3668:[NOI2014]起床困难综合症——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3668 https://www.luogu.org/problemnew/show/P2114 21世 ...

  5. BZOJ2152:聪聪可可——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=2152 Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一 ...

  6. nowcoder OI 周赛 最后的晚餐(dinner) 解题报告

    最后的晚餐(dinner) 链接: https://www.nowcoder.com/acm/contest/219/B 来源:牛客网 题目描述 \(\tt{**YZ}\)(已被和谐)的食堂实在是太挤 ...

  7. UVA.10192 Vacation (DP LCS)

    UVA.10192 Vacation (DP LCS) 题意分析 某人要指定旅游路线,父母分别给出了一系列城市的旅游顺序,求满足父母建议的最大的城市数量是多少. 对于父母的建议分别作为2个子串,对其做 ...

  8. apply的理解和数组降维

    func.apply(thisObj, [argArray] ); apply方法用来改变函数执行时的this指向,后面的参数是一个类数组对象,可以是数组,arguments,甚至一个有length属 ...

  9. AtCoder Regular Contest 075 E - Meaningful Mean(树状数组)

    题目大意:求一个数组中,平均值不小于k的连续子序列个数 所有数减去k,算个前缀和出来,就变成二维数点问题了. 没有修改,离线的话就是CZL所说的“NOIP最喜欢的套路”了:倒着加进BIT,以权值为数组 ...

  10. 20181015 考试记录&数论

    题目传送门 W神爷的题解 数论 小 M 的算式 [问题描述] 小 M 在做数学作业的时候遇到了一个有趣的问题:有一个长度为 n 的数字 串 S,小 M 需要在数字之间填入若干个“+”和恰好一个“=”, ...