百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python19个初学常用的内置函数详解

off999 2024-10-25 13:46 27 浏览 0 评论

到目前为止(3.8.2),Python解释器共计提供了69个内置函数和类型,这些函数可以在任意条件下被调用。例如我们之前用来查询变量类型的type()就是一个内置函数。

type()实际上是类的构造方法,其返回值是一个type对象,大家在没有理解类与对象之前,也可以先简单地将其理解为一个函数。

下面我们来详细介绍一下在初学阶段比较常用的内置函数,在描述函数的功能时也主要以初学阶段可以用到的功能为主。

数据类型相关

首先,我们先来了解一下与数据类型相关的内置函数。刚才用作举例的type()方法就是与数据类型相关的重要内置函数,可以用来获取变量(对象)的类型。

此外,与数据类型相关的内置函数还包括一批构造函数,这些含义可以用来构造新变量,也可以用来转换变量类型。

这些内置函数实际上也是内置类型的构造方法。

在初学阶段,我们只需要了解几个常用的数据类型所对应的内置函数即可。如果参数的格式不合适,强行转换数据类型可能会造成报错。

x = str("123")
y = int(x)
print(type(x), type(y))  # 输出值: <class 'str'> <class 'int'>

序列操作

下面,我们来了解一些基本的操作序列的内置函数。

函数功能len()获取序列中包含的元素个数sorted()将对象重新排序为新的列表

len()

获取序列中包含的元素数量。当参数为字符串时,返回字符串的长度;当参数为列表、元组或集合时,返回其中元素的数量;当参数为字典时,返回字典第一层属性的数量。

a = "1234"
b = [1, 2, 3]
c = (1, 2, 3, 4, 5)
d = {1, 2, 3, 4, 5, 6}
e = {"a": 1, "b": 2}
print(len(a))  # 输出值: 4
print(len(b))  # 输出值: 3
print(len(c))  # 输出值: 5
print(len(d))  # 输出值: 6
print(len(e))  # 输出值: 2

sorted()

将可迭代的对象重新排序为列表。当参数为列表、元组或集合时,会将元组转换为列表并排序;当参数为字符串时,会将字符串拆分为一个个的字符并排序;如果参数为字典时,会将字典第一层的属性名作为列表排序。

sorted()有一个默认为False的参数reverse,这个参数用来控制是否倒序,如果需要倒序的话可以将reserse参数设为True。

a = "1324"
b = [1, 3, 2]
c = (1, 3, 2, 5, 4)
d = {1, 6, 5, 4, 2, 3}
e = {"b": 5, "a": 1}
print(sorted(a))  # 输出值: ['1', '2', '3', '4']
print(sorted(b))  # 输出值: [1, 2, 3]
print(sorted(c))  # 输出值: [1, 2, 3, 4, 5]
print(sorted(d, reverse=True))  # 输出值: [6, 5, 4, 3, 2, 1]
print(sorted(e))  # 输出值: ['a', 'b']

数学运算

内置函数中也包括一些经常会用到的进行数学运算的函数,包括求绝对值、去最大值、取最小值、幂运算、四舍五入和求和。

abs()

计算绝对值。当参数为整数或浮点数时,返回整数或浮点数的绝对值;当参数为虚数时,返回虚数的模。

print(abs(-3))  # 输出值: 3
print(abs(-3.1415926))  # 输出值: 3.1415926
print(abs(complex(2,1)))  # 输出值: 2.23606797749979

max()

计算最大值。当参数为多个数值时,返回其中的最大值;若参数为一个序列,则返回序列中的最大值。

print(max(1, 2, 3, 4, 5))  # 输出值: 5
print(max([1, 2, 3, 4, 5]))  # 输出值: 5

min()

计算最小值。当参数为多个数值时,返回其中的最小值;若参数为一个序列,则返回序列中的最小值

print(min(1, 2, 3, 4, 5))  # 输出值: 1
print(min([1, 2, 3, 4, 5]))  # 输出值: 1

pow()

pow(base,exp)即为计算base的exp次幂,底数和幂都既可以是整数也可以是浮点数。

print(pow(3, 5))  # 输出值: 243
print(pow(3.5, 4.2))  # 输出值: 192.79056951583615

round()

对浮点数进行四舍五入。当只有一个参数时,则将该参数四舍五入为整数;当有两个参数a和b时,则将a四舍五入到小数点后第b位。

print(round(3.1415926))  # 输出值: 3
print(round(3.1415926, 2))  # 输出值: 3.14

sum()

求序列中元素之和。当果只有一个参数时,该参数可以是列表、元组或集合,计算该参数中元素之和;当有两个参数时,在计算第一个参数中元素之和的基础上,还会加上第二个参数的值。

print(sum([1, 2, 3, 4, 5]))  # 输出值: 15
print(sum((1, 2, 3, 4, 5)))  # 输出值: 15
print(sum({1, 2, 3, 4, 5}))  # 输出值: 15
print(sum([1, 2, 3, 4, 5], 2))  # 输出值: 17

迭代相关

在初学阶段,我们主要使用range()来实现循环。

range()用来生成不可变的序列,一般用于循环。当只有一个参数stop时,返回从0到stop-1的、以1位步长的不可变序列;当有两个参数start和stop时候,返回从start到stop-1的、以1位步长的不可变序列;当有三个参数start、stop和step时候,返回从start到stop-1的、以step为步长的不可变序列。

print(list(range(5)))  # 输出值: [0, 1, 2, 3, 4]
print(list(range(1, 5)))  # 输出值: [1, 2, 3, 4]
print(list(range(1, 5, 2)))  # 输出值: [1, 3]

控制台相关

在此前,我们已经多次使用了input()和print()这两个控制台输入输出的方法。其中input()的参数相对简单,而print()的参数相对复杂。在初学阶段,直接使用这两个内置函数即可,暂不用深入理解

文件读写

在读写文件时,我们通常使用open()这个内置函数。这个函数同样也拥有大量的可选参数,在初学阶段我们只要了解file、mode和encoding三个参数的用法即可;其中file参数是文件所在路径,mode参数是打开文件的模式,encoding为文件的编码类型。

其中mode的模式类型如下(文件指针可以简单地理解为使用文本文档打开文件时光标所在的位置):

相关推荐

apisix动态修改路由的原理_动态路由协议rip的配置

ApacheAPISIX能够实现动态修改路由(DynamicRouting)的核心原理,是它将传统的静态Nginx配置彻底解耦,通过中心化配置存储(如etcd)+OpenRest...

使用 Docker 部署 OpenResty Manager 搭建可视化反向代理系统

在之前的文章中,xiaoz推荐过可视化Nginx反向代理工具NginxProxyManager,最近xiaoz还发现一款功能更加强大,界面更加漂亮的OpenRestyManager,完全可以替代...

OpenResty 入门指南:从基础到动态路由实战

一、引言1.1OpenResty简介OpenResty是一款基于Nginx的高性能Web平台,通过集成Lua脚本和丰富的模块,将Nginx从静态反向代理转变为可动态编程的应用平台...

OpenResty 的 Lua 动态能力_openresty 动态upstream

OpenResty的Lua动态能力是其最核心的优势,它将LuaJIT嵌入到Nginx的每一个请求处理阶段,使得开发者可以用Lua脚本动态控制请求的生命周期,而无需重新编译或rel...

LVS和Nginx_lvs和nginx的区别

LVS(LinuxVirtualServer)和Nginx都是常用的负载均衡解决方案,广泛应用于大型网站和分布式系统中,以提高系统的性能、可用性和可扩展性。一、基本概念1.LVS(Linux...

外网连接到内网服务器需要端口映射吗,如何操作?

外网访问内网服务器通常需要端口映射(或内网穿透),这是跨越公网与私网边界的关键技术。操作方式取决于网络环境,以下分场景详解。一、端口映射的核心原理内网服务器位于私有IP地址段(如192.168.x.x...

Nginx如何解决C10K问题(1万个并发连接)?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。Nginx是大型架构的必备中间件,下面我就全面来详解NginxC10k问题@mikechen文章来源:mikec...

炸场!Spring Boot 9 大内置过滤器实战手册:从坑到神

炸场!SpringBoot9大内置过滤器实战手册:从坑到神在Java开发圈摸爬滚打十年,见过太多团队重复造轮子——明明SpringBoot自带的过滤器就能解决的问题,偏偏要手写几十...

WordPress和Typecho xmlrpc漏洞_wordpress主题漏洞

一般大家都关注WordPress,毕竟用户量巨大,而国内的Typecho作为轻量级的博客系统就关注的人并不多。Typecho有很多借鉴WordPress的,包括兼容的xmlrpc接口,而WordPre...

Linux Shell 入门教程(六):重定向、管道与命令替换

在前几篇中,我们学习了函数、流程控制等Shell编程的基础内容。现在我们来探索更高级的功能:如何控制数据流向、将命令链接在一起、让命令间通信变得可能。一、输入输出重定向(>、>>...

Nginx的location匹配规则,90%的人都没完全搞懂,一张图让你秒懂

刚配完nginx网站就崩了?运维和开发都头疼的location匹配规则优先级,弄错顺序直接导致500错误。核心在于nginx处理location时顺序严格:先精确匹配=,然后前缀匹配^~,接着按顺序正...

liunx服务器查看故障命令有那些?_linux查看服务器性能命令

在Linux服务器上排查故障时,需要使用一系列命令来检查系统状态、日志文件、资源利用情况以及网络状况。以下是常用的故障排查命令,按照不同场景分类说明。1.系统资源相关命令1.1查看CPU使...

服务器被入侵的常见迹象有哪些?_服务器入侵可以被完全操纵吗

服务器被入侵可能会导致数据泄露、服务异常或完全失控。及时发现入侵迹象能够帮助你尽早采取措施,减少损失。以下是服务器被入侵的常见迹象以及相关的分析与处理建议。1.服务器被入侵的常见迹象1.1系统性能...

前端错误可观测最佳实践_前端错误提示

场景解析对于前端项目,生产环境的代码通常经过压缩、混淆和打包处理,当代码在运行过程中产生错误时,通常难以还原原始代码从而定位问题,对于深度混淆尤其如此,因此Mozilla自2011年开始发起并...

8个能让你的Kubernetes集群“瞬间崩溃”的配置错误

错误一:livenessProbe探针“自杀式”配置——30秒内让Pod重启20次现象:Pod状态在Running→Terminating→CrashLoopBackOff之间循环,重启间隔仅...

取消回复欢迎 发表评论: