python中int的功能_Python内置函数int()⾼级⽤法
int()函数常⽤来把其他类型转换为整数,例如:
>>> int(3.2)
3>>> int(1/3)
其实,int是Python内置类型之⼀,之所以能够当作函数来⽤,是因为它提供了构造⽅法。另外,它还提供了第⼆个参数⽀持更多功能,例如:
>>> int('1111', 8)
585
上⾯的问题是不是很熟悉呢?这也是我的15个读者⼊门槛问题之⼀,但是很多⼈进不来,说题不会做,不会做不要紧啊,随便在任何Python开发环境中执⾏⼀下就可以了,如果这还不会的话,你很可能是个假读者,或者还不了解Python,没⼊门呢。
int()函数可以把实数类型转换为整数,并且是向下取整,也就是在数轴上向左取整,简单粗暴,有代码为证:
>>> int(3.6)
3
>>> int(3.4)
3
另外,int()还可以把字符串按照指定的进制转换为整数,如果不指定进制的话默认按⼗进制为准,除⾮第⼀个参数字符串隐含了进制并且指定第⼆个参数为0,例如:
>>> int('3333')
3333int函数啥意思
>>> int('3333', 0)
3333
>>> int('0o333', 0)
219
>>> int('0x3333', 0)13107
那么int()函数的第⼆个参数除了0还有啥?让Python内置函数help()来告诉我们(学Python必备技能,节选):
>>> help(int)
Help on class int in module builtins:
class int(object)
|  int(x=0) -> integer
|  int(x, base=10) -> integer
|
|  Convert a number or string to an integer, or return 0 if no arguments
|  are given.  If x is a number, return x.__int__().  For floating point
|  numbers, this truncates towards zero.
|
|  If x is not a number or if base is given, then x must be a string,
|  bytes, or bytearray instance representing an integer literal in the
|  given base.  The literal can be preceded by '+' or '-' and be surrounded
|  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
|  Base 0 means to interpret the base from the string as an integer literal.
也就是说,int()函数的第⼆个参数可以是0或者2-36之间的数字(如果第⼀个参数字符串隐含了进制的话,要统⼀起来),例如:
>>> int('1111', 2)
15
>>> int('1111', 3)
40
>>> int('1111', 8)
585
>>> int('1111', 27)
20440
这样的东西有啥⽤呢?让我们来讲⼀个故事:阿凡提与国王⽐赛下棋,国王说要是⾃⼰输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点⽶吧,棋盘⼀共64个⼩格⼦,在第⼀个格⼦⾥放1粒⽶,第⼆个格⼦⾥放2粒⽶,第三个格⼦⾥放4粒⽶,第四个格⼦⾥放8粒⽶,以此类推,后⾯每个格⼦⾥的⽶都是前⼀个格⼦⾥的2倍,⼀直把64个格⼦都放满。需要多少粒⽶呢?当然,这个问题⽤列表推导式或者⽣成器表达式很容易计算。但是,⽤int()函数计算或许是最快的。
>>> int('1'*64, 2)
18446744073709551615
顺便说句题外话,这到底需要多少⽶呢?把“粒”换算成“吨”或者“亿吨”,你会吗?
----------相关阅读----------
1900页Python系列PPT分享五:函数设计与应⽤(134页)
----------喜⼤普奔----------
1、继《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》、《Python程序设计开发宝典》之后,董付国⽼师新作《中学⽣可以这样学Python》已于2017年10⽉正式出版,已在各⼤书城全⾯上架。⼤学⽣们颤抖吧,中学⽣已经开始学Python 了!
--------近期Python培训班安排------
1、2017年12⽉21⽇-25⽇ (21⽇报到,报名已结束)  厦 门:Python编程及应⽤--数据分析与科学计算可视化培训班
2、2018年1⽉12⽇⾄14⽇(11⽇报到) 合肥:全国Python科研应⽤专题实操培训班
4、2018年1⽉28⽇—2⽉2⽇(28⽇全天报到)  厦门:“Python编程及⼤数据应⽤”课程教师(厦门)寒假研修班

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。