设为首页 收藏本站
查看: 796|回复: 0

[经验分享] [Python入门及进阶笔记]Python-基础-数字小结

[复制链接]

尚未签到

发表于 2017-4-28 11:52:19 | 显示全部楼层 |阅读模式
<style>
<!--
h1, h2, h3, h4, h5, h6, p, blockquote
{margin:0;
padding:0}
body
{font-family:"Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial,sans-serif;
font-size:13px;
line-height:18px;
color:#737373;
background-color:white;
margin:10px 13px 10px 13px}
table
{margin:10px 0 15px 0;
border-collapse:collapse}
td, th
{border:1px solid #ddd;
padding:3px 10px}
th
{padding:5px 10px}
a
{color:#0069d6}
a:hover
{color:#0050a3;
text-decoration:none}
a img
{border:none}
p
{margin-bottom:9px}
h1, h2, h3, h4, h5, h6
{color:#404040;
line-height:36px}
h1
{margin-bottom:18px;
font-size:30px}
h2
{font-size:24px}
h3
{font-size:18px}
h4
{font-size:16px}
h5
{font-size:14px}
h6
{font-size:13px}
hr
{margin:0 0 19px;
border:0;
border-bottom:1px solid #ccc}
blockquote
{padding:13px 13px 21px 15px;
margin-bottom:18px;
font-family:georgia,serif;
font-style:italic}
blockquote:before
{content:"\201C";
font-size:40px;
margin-left:-10px;
font-family:georgia,serif;
color:#eee}
blockquote p
{font-size:14px;
font-weight:300;
line-height:18px;
margin-bottom:0;
font-style:italic}
code, pre
{font-family:Monaco,Andale Mono,Courier New,monospace}
pre
{display:block;
padding:14px;
margin:0 0 18px;
line-height:16px;
font-size:11px;
border:1px solid #d9d9d9;
white-space:pre-wrap;
word-wrap:break-word}
pre code
{background-color:#fff;
color:#737373;
font-size:11px;
padding:0}
-->
</style>


博客迁往:新地址(点击直达)


新博客使用markdown维护,线下有版本库,自己写的所以会定时更新同步,同时提供更好的导航和阅读体验

csdn对markdown支持不好,所以旧版不会花时间进行同步修订,抱歉








---------------------

数字
  python中的数字类型完整工具:整数&浮点数,复数,固定精度十进制数,有理分数,集合,布尔类型,无穷的整数精度,各种数字内置函数和模块

数类型
  Python中有四种类型的数

整数:一般意义上的数,包含十进制(无前缀),八进制(0开头),十六进制(0x开头),二进制(0b开头)
eg.  2
长整数:无限大小的数,表示范围和内存有关               
eg.   2012121200
浮点数:小数或用e/E(10的幂)表示的幂,默认,浮点数学缺乏精确性,可以使用decimal         
eg.   3.23      50.2E2
复数:复数的虚部以字母J 或 j结尾     
eg.    2+3i

  1.分数

from fractions import Fraction
x = Fraction(1,3)
y = Fraction(4,6)

  浮点数和分数转换:

(2.5).as_integer_ratio()  #返回元组(5,2)
或者Fraction.from_float(1.75)

  2.复数

a = 实数 + 虚数j
a.real  #实部
a.imag  #虚部
a.conjugate()  #共轭复数

  虚数不能单独存在, 总是和一个值为0.0的实数部分一起构成一个复数
  实数部分和虚数部分都是浮点数

运算符

+加法
-减法
*乘法
**幂次(也可以使用内建的pow()函数来进行幂运算)
/除法(2.x中是整除,3.x是浮点除)
//取整,商的整数部分强制整除(浮点数也会做整除运算)
%取余(可以使用内建的divmod()函数获得结果和余数的元组)
&位与
|位或
^位异或
~位翻转 x -> -(x+1)
<<左移
>>右移
值不相等 a != b

  运算符优先级,同级从左到右
  BP:良好的做法是随时根据优先级需要加入括号,而不是依赖默认优先级

内置函数
  最常用round
  1.abs(number)
  返回数字的绝对值,
  如果是复数, 返回math.sqrt(num.real2 + num.imag2)
  2.coerce(number1, number2)
  按照类型转换规则,将num1和num2转为同一类型,以元组形式返回
  3.divmod(number1, number2)
  返回一个包含商和余数的元组
  整数返回地板除和取余操作结果
  浮点数返回的商部分是math.floor(number1/number2)
  复数的商部分是ath.floor((number1/number2).real)
  4.pow(num1,num2,mod=1)
  同**操作符
  第三个为可选参数,即一个余数操作,若存在这个参数,先指数,后与第三个参数取余,性能比pow(x,y)%z更高
  5.round(number[, base])
  对浮点数进行四舍五入运算,base参数是小数位参数,决定了精确到小数点后几位
  6.其他
  其他内建及工厂函数在后面类型转换和进制转换中说明

类型转换
  转换工厂函数主要在类型转换和进制转换中用到

int(str, base=10) 转换为整型数,base为相应的进制;base的范围是2~32,base缺省十进制
long(obj,base=10),  转长整型

float(obj),转浮点数

complex(str),complex(real, imag=0.0), 转复数
bool(obj) 返回obj对象的布尔值,即obj.__nonzero__()方法返回值,没有__nonzero__()方法的对象默认值是True
string(),转字符串  
chr(num) ASCII数字值转为字符
ord(chr) 字符转对应ASCII/Unicode值
unichr(num) 接收Unicode码值

进制转换
  八进制:0o1
  十六进制:0x10
  二进制0b1
  1.十进制到其他

oct(64)  #->8  
hex(64)  #->16
bin(64)  #->2

  接收一个整型对象(任意进制),返回对应值的字符串
  2.其他到十进制

int(‘64’)
int(‘100’,8)
int(‘40’,16)
int(‘1000000’,2)
#或者  
eval(‘64’)
eval(‘0o100’)
eval(‘0x40’)
eval(‘0b1000’)

其他
  1.小整数缓存

>>> a = -5
>>> b = -5
>>> a  is b
True
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a = 256
>>> b = 256
>>> a is b
True
>>> a = 257
>>> b = 257
>>> a  is b
False

  看python源代码可知,下限-5,上限256被设定为缓存范围。
  2.除法关于传统除法/真正除法/地板除传统除法

>>> 1/2
0
>>> 1.0/2.0
0.5

  真正除法

>>> from __future__ import division
>>> 1/2
0.5
>>> 1.0/2.0
0.5

  地板除

>>> 1//2
0
>>> 1.0//2.0
0.0
>>> -1//2
-1

常用模块

math
random
decimal
operator  

  下一篇数学常用模块中说明
  The end!
  To be continue
  wklken
  Email: wklken@yeah.net
  Blog: http://blog.csdn.net/wklken
  2013-03-09
  转载请注明出处,谢谢

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370396-1-1.html 上篇帖子: python图形处理库PIL(Python Image Library)的介绍 下篇帖子: 摘自python的文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表