Python 聊聊有内置函数,又该怎么学习内置函数

前言

    python有内置函数的概念,从Python3.x开始,内置函数位于builtins模块,比如我们常用的内置函数len(),其实它是builtins模块下的属性,我们也可以builtins.len()去访问,当然因为每个模块加载的时候,已经自动导入builtins模块对象,所以直接可以直接使用len()

    另外因为每个模块属于module类型的一个对象,所以builtins作为一个模块对象,每个内置函数属于builtins对象的内置属性,本篇除了介绍所有的内置函数之外,还会罗列常用的内置函数。

    以下是len()的例子

import builtinsprint(builtins.len(["fk"]))

等同于

print(len(['fuck']))

Python官方有所有的内置函数

    Python官网明确罗列了所有的内置函数内置函数 — Python 3.10.0 文档,而且对于每一个内置函数都有详尽的介绍,本文将从中选取平时最常用的内置函数进行介绍,其他内置函数,还请大家访问官网查看介绍,一共70个内置函数

为69个内置函数分类(未完成)

    一共69个内置函数,为了方便记忆,应该做一个分类,我没有分类完,大家去官网看吧,这里主要是告诉大家内置函数就是这些……

1、创建对象相关

set()、dict()、bool()、int()、str()、super()、float()、tuple()、type()、frozenset()、list()、range()

2、对象相关

delattr()、hash()、

3、数学相关

abs()……

    下面介绍一些常见的内置函数:

list()

用于创建list对象的内置函数,虽然被称为内置函数,但其实list是一个class,此时调用的是它的初始化方法,下面是位于buildins模块中的list类的源码,其实自动调用的是list类的__init__方法

class list(object):def __init__(self, seq=()): # known special case of list.__init__"""Built-in mutable sequence.If no argument is given, the constructor creates a new empty list.The argument must be an iterable if specified.# (copied from class doc)"""pass

set()

用于创建一个set对象,set也是一个类,下面源码是位于buildins模块中的set类的__init__方法

class set(object): def __init__(self, seq=()): # known special case of set.__init__"""set() -> new empty set objectset(iterable) -> new set objectBuild an unordered collection of unique elements.# (copied from class doc)"""pass

tuple()

尽管tuple()也被称作内置函数,但tuple在buildins中也是一个class,tuple用于创建一个tuple对象

dict()

用于创建一个dict对象,dict在buildins模块中也是一个class,它当然也被称为内置函数

any()

用于判断可迭代对象中的元素,只要有一个元素是True,则any()函数会返回True,如果传入的可迭代对象为空,则any()会返回一个False,比如list、tuple都是可迭代对象,可迭代对象的特点是可以使用for in语句,因为它们都实现了__iterable__特殊方法

all()

判断可迭代对象中的所有元素,全部为True时,all()函数返回值为True

help()

这个内置函数主要时在交互模式下使用,可以随时查询某个对象的API文档

dir()

用于查询某个对象具备哪些属性,返回值是个list,这个dir()函数特别有意思,没有向它传递参数时,它在哪里被调用,就返回哪个对象有哪些属性,比如它在一个模块中被调用,则返回模块的属性,如果是在一个函数中调用,则返回函数的属性

setattr()

用于向指定对象设置一个属性,它接受3个参数

例如,setattr(x, 'foobar', 123) 等价于 x.foobar = 123

str()

用于创建一个字符串对象,虽然它也称为内置函数,但str也是一个位于buildins模块中的类

super()

此内置函数返回的是一个代理对象,然后它会把调用的方法委托给当前类的父类,举个官方例子

class C(B):def method(self, arg):super().method(arg)    # This does the same thing as:# super(C, self).method(arg)

此时用于调用父类B的method()方法,另外一种形式,则可以为super()函数传入两个参数,第一个参数是class对象,第二个参数为class产生的实例对象

总结

1、关于python内置函数的概念一定要有,最好做到随时能想起来有这些个内置函数能干什么,编写python程序时才会得心应手,不然不知道写什么。

2、哪个内置函数不会,就去官网看吧,内置函数官网的介绍:内置函数 — Python 3.7.13 文档

3、注意:不同python版本的内置函数略有不同,看好自己本地使用的python版本是什么,就去参考官网对应的版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149846.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

鼎曼白茶贡眉:贮留芳香记忆,书写老茶传奇

在茶的世界 每一叶都承载着岁月的印记 每一香都凝聚着时光的韵味 其中 有一种温润如玉、恬淡从容的存在 它便是2017年贡眉 这款经过七年时光沉淀与陈化的白茶 以其独特的韵味与品质 吸引了无数茶客的青睐 今日 让我们一同领略2017年贡眉的魅力 PART 01 FIRST OF ALL …

力扣【118-杨辉三角】【数组-C语言】

题目:力扣-118 杨辉三角:(算法思路) 1. 每行第一个数和最后一个数都是1 2. 把杨辉三角左端对齐,从第三行开始,非首尾的元素值等于上一行同列的元素与该元素之前的元素之和,即 t [ j ] r e t …

【自动化测试】Appium 生态工具以及Appium Desktop如何安装和使用

引言 Appium 是一个开源的自动化测试框架,用于测试原生、移动 Web 和混合应用程序。它支持 iOS、Android 和 Windows 平台。Appium 生态系统包含多个工具和库,这些工具和库可以与 Appium 一起使用,以提高移动应用的自动化测试效率 文章目录 引…

[翟旭发射器]python-推导式-列表list表达式练习

# 简单的列表生成 numbers00[x for x in range(1,11)] print(numbers00) # 带条件的列表生成 numbers01[x for x in range(1,11) if x%20] print(numbers01) # 带表达式的列表生成 numbers10[x**2 for x in range(1,11)] print(numbers10) # 嵌套循环的列表生成 coordinates[(x…

船舶检测系统源码分享

船舶检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

【Linux基础IO】深入解析Linux基础IO缓冲区机制:提升文件操作效率的关键

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🤡往期回顾🤡:暂无 🌹🌹期待您的关注 🌹🌹 ❀Linux基础IO 📒1. 什么是缓…

Golang plugin包教程:创建与管理插

Golang plugin包教程:创建与管理插 介绍plugin包什么是plugin包使用场景和优势使用场景优势 plugin包的基本用法如何创建插件编写插件代码编译插件 加载插件使用plugin.Open获取符号:plugin.Lookup 插件实例讲解实例一:简单的Hello插件编写He…

Java语言程序设计基础篇_编程练习题**18.39(拖动树)

目录 题目:**18.39(拖动树) 代码示例 代码逻辑解析 类定义和变量初始化 main 方法 start 方法 drawRecursiveTree 方法 动画演示 题目:**18.39(拖动树) 修改编程练习题18.38, 将树移动到鼠标所拖动到的位置 Java语言程序设计基础篇_编程练习题…

DevOps学习路线图

DevOps 是软件工程领域中的一种文化和实践方法,它将开发 (Dev) 和运维 (Ops) 相结合,从而在应用程序规划、开发、交付和运营中统一人员、流程和技术。 DevOps 支持以前孤立角色(如开发、IT 运营、质量工程和安全)之间的协调和协作…

静态路由和默认路由(实验)

目录 一、实验设备和环境 1、实验设备 2、实验环境 (1)实验拓扑图 (2)实验命令列表 二、实验记录 1、直连路由与路由表查看 步骤1:建立物理连接并运行超级终端。 步骤2:在路由器上查看路由表。 2、静态路由配置 步骤1:配…

花半小时用豆包Marscode 和 Supabase免费部署了一个远程工作的导航站

以下是「 豆包MarsCode 体验官」优秀文章,作者谦哥。 🚀 项目地址:remotejobs.justidea.cn/ 🚀 项目截图: 数据处理 感谢开源项目:https://github.com/remoteintech/remote-jobs 网站信息获取&#xff1…

数据库学习2

🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 目录 查询 1 查询所有列 2 查询指定列 3 模糊查询 4 如何备份sql语句文件 5 如果列中有重复的则可以“去重” 6 将数值的列进行相加后生成…

SLMi350DB-DG—— 实现兼容光耦的单通道隔离驱动卓越之选

SLMi350DB-DG是一款兼容光耦的单通道隔离驱动器,具有4A/7A源电流/灌电流以及3.75kVRMS隔离耐压值,适用于驱动低边侧和高边侧的MOSFET和IGBT。与光耦栅极驱动器相比,SLMi350DB-DG具有高共模瞬态抗扰度(CMTI)、低传播延迟和较小的脉宽失真等关键…

基于Java,SpringBoot和Vue的仓库管理商品管理电商后台管理系统

摘要 基于Java、Spring Boot和Vue的仓库管理系统是一个现代化的库存管理解决方案,旨在提高仓库运营效率和准确性。系统采用Java作为后端开发语言,结合Spring Boot框架简化配置和部署过程,实现业务逻辑和数据处理。前端使用Vue.js构建用户界面…

79、Python之鸭子类型:没有听过鸭子类型?关键在于认知的转变

引言 不同于Java等静态类型的语言,Python基于动态类型系统的设计理念,使得Python在很多应用场景中,显得更急灵活、高效。而在动态类型系统中,有一个很重要的概念,就是“鸭子类型”。鸭子类型的背后,代表的…

软考高级:需求工程- 需求获取方式 AI解读

需求获取是项目管理和产品开发中的关键步骤,关系到项目的成功与否。你提到的几种需求获取方式涵盖了多个维度,以下我将逐一解析它们的用途与优势。 生活化例子 需求获取就像你要准备一场家庭聚会,需要先了解每个家庭成员的喜好。你可以通过…

Nexpose 6.6.270 发布下载,新增功能概览

Nexpose 6.6.270 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, release Sep 18, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.or…

TDengine 在业务落地与架构改造中的应用实践!

前言 在物联网和大数据时代,时序数据的管理和分析变得至关重要。TDengine,作为一款专为时序数据设计的开源数据库,以其卓越的存储和查询效率,成为众多企业优化数据架构的优选。本文将分享我将TDengine成功应用于实际业务的经验&am…

计算机的错误计算(一百零三)

摘要 探讨 的计算精度问题。 从计算机的错误计算(九十九)知, 在IEEE 754-2019的列表中,并且定义域是实数域。但是,截止撰写本节内容时,本文作者仍未找到内置了该函数的语言或编译器。 例1. 已知 计算…

Vue73 路由的props配置

笔记 ​ 作用:让路由组件更方便的收到参数 {name:xiangqing,path:detail/:id,component:Detail,//第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件// props:{a:900}//第二种写法:props…