Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python内置函数int()高级用法

Python内置函数int()高级用法

作者头像
Python小屋屋主
发布于 2018-04-16 08:15:27
发布于 2018-04-16 08:15:27
7160
举报
文章被收录于专栏:Python小屋Python小屋

int()函数常用来把其他类型转换为整数,例如:

>>> int(3.2)

3 >>> int(1/3) 0

其实,int是Python内置类型之一,之所以能够当作函数来用,是因为它提供了构造方法。另外,它还提供了第二个参数支持更多功能,例如:

>>> int('1111', 8)

585

上面的问题是不是很熟悉呢?这也是我的15个读者群入群门槛问题之一,但是很多人进不来,说题不会做,不会做不要紧啊,随便在任何Python开发环境中执行一下就可以了,如果这还不会的话,你很可能是个假读者,或者还不了解Python,没入门呢。

int()函数可以把实数类型转换为整数,并且是向下取整,也就是在数轴上向左取整,简单粗暴,有代码为证:

>>> int(3.6) 3 >>> int(3.4) 3

另外,int()还可以把字符串按照指定的进制转换为整数,如果不指定进制的话默认按十进制为准,除非第一个参数字符串隐含了进制并且指定第二个参数为0,例如:

>>> int('3333') 3333 >>> 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

顺便说句题外话,这到底需要多少米呢?把“粒”换算成“吨”或者“亿吨”,你会吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
详解Python列表推导式
列表推导式可以使用非常简洁的方式对列表或其他可迭代对象的元素进行遍历和过滤,快速生成满足特定需求的列表,代码具有非常强的可读性,是Python程序开发时应用最多的技术之一。Python的内部实现对列表推导式做了大量优化,可以保证很快的运行速度,也是推荐使用的一种技术。列表推导式的语法形式为: [表达式 for 变量 in 序列或迭代对象 if 条件表达式] 列表推导式在逻辑上等价于一个循环语句,只是形式上更加简洁。例如, >>> aList = [x*x for x in range(10)] 相当于 >>
Python小屋屋主
2018/04/16
1.6K0
Linux——MySQL内置函数与复合查询
就是按照当前时间减去两分钟查看表中是否有时间是否符合。也就是筛选表中时间+两分钟是否大于现在时间。
有礼貌的灰绅士
2025/05/12
810
Linux——MySQL内置函数与复合查询
巧用python“int”函数
在python中,可以利用关键词“int”实现其他数据类型强制转化为整形数据。不过需要注意,在python2中,有长整型,但是在python3中,无论数字多长,都是整形。
py3study
2020/01/19
2.9K0
Python列表推导式(1)_Python自学第二十三节
如果列表中很多元素首尾存在空格,可以使用列表推导式配合 strip() 方法快速去除这些空格。
张旭博客
2022/12/27
6490
详解Python列表推导式
列表推导式,也叫列表解析式,英文名称为list comprehension,可以使用非常简洁的方式来快速生成满足特定需求的列表,代码具有非常强的可读性。另外,Python的内部实现对列表推导式做了大量优化,可以保证很快的运行速度。列表推导式的语法形式为: [表达式 for 变量 in 序列或迭代对象 if 条件表达式] 列表推导式在逻辑上相当于一个循环,只是形式更加简洁,例如: >>> aList = [x*x for x in range(10)] 相当于 >>> aList = [] >>> for x
Python小屋屋主
2018/04/16
1.2K0
LeetCode50,一题学会快速幂
从题意来看,这道题平平无奇,基本上没有什么特别的。但是我们继续看它的note就会发现问题,其中x是浮点数,它的范围是-100到100。而n的范围则是32位int的范围,到这里就有问题了。
TechFlow-承志
2020/04/21
5510
LeetCode50,一题学会快速幂
妙用Python内置函数int()快速计算等比数列前n项和
本文要点在于Python内置函数int()的用法,所以计算等比数列前n项和时没有使用数学上的公式Sn=a1*(1-q^n)/(1-q)。 一般遇到这样的问题,很容易想到使用循环来实现,以计算1+2+4+8+16+...+2^199为例,也就是计算比值q=1且数列首项a1=1的等比数列前200项的和: >>> s = 0 >>> for i in range(200): s += 2**i >>> s 1606938044258990275541962092341162602522202993782792
Python小屋屋主
2018/04/16
4.7K0
妙用Python内置函数int()快速计算等比数列前n项和
​LeetCode刷题实战50:Pow(x, n)
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2021/01/20
3310
​LeetCode刷题实战50:Pow(x, n)
python学习笔记11-python内置函数
Help on built-in function abs in module __builtin__:
py3study
2020/01/09
5660
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。
全栈程序员站长
2022/07/11
1.3K0
python入门到放弃(三)-基本数据类型之int整数和bool值
#整数可以进行的操作有:bit_length(),计算整数在内存中占用的二进制码的长度
老油条IT记
2020/03/20
5940
python入门到放弃(三)-基本数据类型之int整数和bool值
【程序源代码】《零基础学编程-python》源码包2
什么是运算符?运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。
程序源代码
2020/07/02
4530
【程序源代码】《零基础学编程-python》源码包2
[转载] python学习笔记2--操作符,数据类型和内置功能
参考链接: Python中的Inplace运算符| 1(iadd(),isub(),iconcat()…)
用户7886150
2020/11/27
2590
python内置函数大全
最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Function罗列一下吧,初学者的了解,分类可能不准确,一起交流。
超蛋lhy
2018/08/31
9720
Python内置函数详解【翻译自pyth
翻译源 来自:https://docs.python.org/3/library/functions.html 
py3study
2020/01/13
1.6K0
python基础-内置函数详解[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 一、内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.htm
全栈程序员站长
2022/09/07
5110
python基础-内置函数详解[通俗易懂]
【MySQL】内置函数
current_date: current_date可以显示当前的日期,年月日
用户11305458
2025/03/22
510
【MySQL】内置函数
python3 内置函数详解
内置函数详解 abs(x) 返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小。 # 如果参数是复数,则返回其大小。 >>> abs(-25) 25 >>> abs(25) 25 all(iterable) all()会循环括号内的每一个元素,如果括号内的所有元素都是真的,或者如果iterable为空,则返回True,如果有一个为假的那么就返回False >>> all([]) True >>> all([1,2,3]) True >>> all([1,2,""]) Fa
程序员同行者
2018/06/22
9600
从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题
​上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好。在这个过程中,利用字符串给出充分、完整、准确的提示是非常重要的一部分。
俺踏月色而来
2018/12/27
1.9K0
Python中表达式int('0x10, 36)的值是。。。
在Python中,int()可用来把实数转换为整数,或者把数字字符串按指定进制转换为十进制数,详见文末的相关阅读。 然而,下面的代码又应该如何解释呢? >>> int('0x10', 36) 42804 按照传统意义的解释,0x开头表示十六进制,而试图把十六进制数看作36进制数并转换为十进制数,上面的代码应该出错,但是却又没有出错。把'0x10'当作36进制,那么x又表示什么呢?执行下面的代码试试: >>> import string >>> for ch in string.ascii_lowercase
Python小屋屋主
2018/04/16
1K0
相关推荐
详解Python列表推导式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档