[这段代码很Pythonic]Python中的内建函数(Built_in Funtions)

news/2024/7/7 14:59:56 标签: python

前言

在Python官方文档的标准库章节中,第一节是简介,第二节就是Built_in Functions,可见内建函数是Python标准库的重要组成部分,而有很多内建函数我们平时却很少用到或根本就不知道原来还有这么好用的函数居然直接就可以拿来用。

Built_in Funtions

接下来为大家介绍一些我认为被大家忽略掉的内建函数。

all

如果列表或迭代器中所有值都为真或为空返回True,相当于

python">def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

any

如果迭代器中至少有一个值为真返回True,若迭代器为空返回False,相当于

python">def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

dir

没有参数时返回当前作用域的所有名称,有参数时返回该参数的所有属性

python">>>> dir(int)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']

divmod

同时返回整数除法的商和余数

python">>>> divmod(11,3)       
(3, 2)                 

enumerate

同时返回迭代器元素的索引和值,索引的初始值可以设置,在需要知道元素位置的for循环中很好用

python">>>> for index, value in enumerate('ABCDEFG'):
...     print(index, value)
...
0 A
1 B
2 C
3 D
4 E
5 F
6 G

id

对于CPython来说就是对象的内存位置

python">>>> x, y = 1, 2
>>> id(x), id(y)
(1666253264, 1666253296)

isinstance

判断第一个参数是否是第二个参数的实例,以后不要用type(1) == int

python">>>> isinstance('A',str)
True

结语

希望大家在日后的开发中合理的使用好这些内建函数。


http://www.niftyadmin.cn/n/1377686.html

相关文章

【51nod1847】奇怪的数学题(Min_25筛+杜教筛)

题面 传送门 题解 这题有毒……不知为啥的错误调了半天…… 令\(f(i){sgcd(i)}\),那么容易看出\(f(i)\)就是\(i\)的次大质因子,用\(i\)除以它的最小质因子即可计算 于是题目所求即为 \[\sum_{i1}^n\sum_{j1}^n{f(\gcd(i,j))}^k\] \[\sum_{d1}^n {f(d)}^k…

Python3报错AttributeError: ‘_io.TextIOWrapper‘ object has no attribute ‘open‘

做的练习题目是求出calc.txt文件中的值,运行的时候报错了 最初以为是编码问题 因为调试代码时发现print(file)输出结果中encodingcp936 后面改为file.open(calc.txt,w,encodingutf-8)也还是不行,最后调整了一下open方法的写法,执行成功了

一个有趣的问题: 如何用HashSet来存储重复的字符串?

1. 前言 今天,我们来探讨一个实际中不常用但却比较有意思的问题。它能帮助你理解 “HashSet中的键值是唯一的,不可重复的” 这句话的真正含义,也考验你对问题的思考深度。 注:实际应用中,我们一般是用 ArrayList 集合来…

Python安装xlrd教程及报错解决方案

方法一:打开pycharm,点击Terminal 点击后输入:pip install xlrd 方法二:winR 输入cmd 如果有ValueError: check_hostname requires server_hostname报错, 则可能是开了代理(比如Charles、Fiddler&#x…

java中集合类中Collection接口中的List接口的常用方法熟悉

1:集合类,在java语言中的java.util包提供了一些集合类,这些集合类又被称作容器。 2:区别集合类和数组。(1)数组的长度是固定的,集合的长度是可变的。(2)数组是用来存放基…

Mongodb数据库安装

通过yum源安装或者通过tar安装包安装创建源仓库文件vi /etc/yum.repos.d/mongodb-org-3.4.repo 写入源配置文件[mongodb-org-3.4] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://…

Charles抓HTTPS设置方法(含手机iOS和鸿蒙系统)

一、电脑抓HTTPS 点击ADD添加 完成以上设置即可抓到电脑端HTTPS请求 二、手机端抓HTTPS 点击后弹出以下弹框,点击确定即可 手机浏览器输入:Charles Web Debugging Proxy • SSL CA Certificate installation安装即可 下载完后进入设置,点击已…

Python基础语法和数据类型练习题

# 1、默写python的标识符命名规则(含课上的建议) # ①字母 数字 下划线 组成 # ②不能以数字开头 # ③不能使用关键字 # ④标识符区分大小写 # ⑤不使用包名 模块名 方法名等 # ⑥遵循企业规范 # ⑦长度无限制 # 2、python的type和id的函数分别是其…