Python常用函数整理
off999 2025-05-30 16:52 46 浏览 0 评论
以下是Python中常用函数整理,涵盖内置函数、标准库及常用操作,按类别分类并附带示例说明:
一、基础内置函数
- print()
输出内容到控制台。
python
print("Hello, World!") # Hello, World!
- len()
返回对象的长度(元素个数)。
python
len([1, 2, 3]) # 3
- type()
返回对象的类型。
python
type(10) # <class 'int'>
- input()
从用户输入获取字符串。
python
name = input("Enter your name: ")
- range()
生成整数序列。
python
list(range(3)) # [0, 1, 2]
- sorted()
返回排序后的新列表。
python
sorted([3, 1, 2], reverse=True) # [3, 2, 1]
- sum()
计算可迭代对象的总和。
python
sum([1, 2, 3]) # 6
- min() / max()
返回最小/最大值。
python
min(5, 2, 8) # 2
- abs()
返回绝对值。
python
abs(-10) # 10
- round()
四舍五入浮点数。
python
round(3.1415, 2) # 3.14
二、类型转换
- int() / float() / str()
类型转换。
python
int("123") # 123
str(100) # "100"
- list() / tuple() / set() / dict()
转换为对应容器类型。
python
list("abc") # ['a', 'b', 'c']
- bool()
转换为布尔值。
python
bool(0) # False
- bin() / hex() / oct()
转换为二进制、十六进制、八进制字符串。
python
bin(10) # '0b1010'
- chr() / ord()
Unicode字符与ASCII码转换。
python
chr(65) # 'A'
ord('A') # 65
三、字符串处理
- str.split()
按分隔符分割字符串。
python
"a,b,c".split(",") # ['a', 'b', 'c']
- str.join()
将可迭代对象连接为字符串。
python
"-".join(["2020", "10", "01"]) # "2020-10-01"
- str.replace()
替换子字符串。
python
"hello".replace("l", "x") # "hexxo"
- str.strip()
去除首尾空白字符。
python
" text ".strip() # "text"
- str.format()
格式化字符串。
python
"{} + {} = {}".format(1, 2, 3) # "1 + 2 = 3"
- str.startswith() / endswith()
检查字符串开头/结尾。
python
"file.txt".endswith(".txt") # True
- str.upper() / lower()
转换大小写。
python
"Abc".lower() # "abc"
- str.find() / index()
查找子字符串位置(find未找到返回-1,index抛出异常)。
python
"python".find("th") # 2
四、列表操作
- list.append()
添加元素到列表末尾。
python
lst = [1]; lst.append(2) # [1, 2]
- list.extend()
合并另一个可迭代对象。
python
lst = [1]; lst.extend([2,3]) # [1, 2, 3]
- list.insert()
在指定位置插入元素。
python
lst = [1,3]; lst.insert(1, 2) # [1, 2, 3]
- list.pop()
移除并返回指定位置的元素。
python
lst = [1,2,3]; lst.pop(1) # 2 → lst变为[1,3]
- list.remove()
删除第一个匹配的元素。
python
lst = [1,2,2]; lst.remove(2) # [1,2]
- list.sort()
原地排序。
python
lst = [3,1,2]; lst.sort() # [1,2,3]
- list.reverse()
反转列表。
python
lst = [1,2,3]; lst.reverse() # [3,2,1]
五、字典操作
- dict.get()
安全获取键对应的值(避免KeyError)。
python
d = {'a':1}; d.get('b', 0) # 0
- dict.keys() / values() / items()
获取键、值或键值对。
python
d = {'a':1}; list(d.keys()) # ['a']
- dict.update()
合并字典。
python
d = {'a':1}; d.update({'b':2}) # {'a':1, 'b':2}
- dict.pop()
删除键并返回值。
python
d = {'a':1}; d.pop('a') # 1
- dict.setdefault()
若键不存在,设置默认值并返回。
python
d = {}; d.setdefault('a', 100) # 100
六、文件操作
- open()
打开文件。
python
with open("file.txt", "r") as f:
content = f.read()
- file.read() / readline() / readlines()
读取文件内容。
python
f.read() # 读取全部内容
f.readline() # 读取一行
- file.write()
写入内容到文件。
python
f.write("Hello")
- os.remove()
删除文件。
python
import os; os.remove("file.txt")
- os.path.join()
拼接路径。
python
os.path.join("folder", "file.txt") # "folder/file.txt"
七、数学与随机数
- math.sqrt()
计算平方根。
python
import math; math.sqrt(4) # 2.0
- random.randint()
生成随机整数。
python
import random; random.randint(1, 10)
- random.choice()
从序列中随机选择一个元素。
python
random.choice([1,2,3]) # 可能返回2
- math.ceil() / floor()
向上/向下取整。
python
math.ceil(3.1) # 4
八、时间与日期
- datetime.datetime.now()
获取当前时间。
python
from datetime import datetime
now = datetime.now()
- strftime() / strptime()
格式化时间与解析字符串。
python
now.strftime("%Y-%m-%d") # "2023-10-01"
九、函数式编程
- map()
对可迭代对象应用函数。
python
list(map(str.upper, ["a", "b"])) # ['A', 'B']
- filter()
过滤元素。
python
list(filter(lambda x: x>0, [-1, 0, 1])) # [1]
- lambda
匿名函数。
python
f = lambda x: x*2; f(3) # 6
- zip()
将多个可迭代对象打包成元组。
python
list(zip([1,2], ["a","b"])) # [(1, 'a'), (2, 'b')]
- enumerate()
为可迭代对象添加索引。
python
list(enumerate(["a", "b"])) # [(0, 'a'), (1, 'b')]
十、系统与模块
- os.getcwd()
获取当前工作目录。
python
import os; os.getcwd()
- os.listdir()
列出目录内容。
python
os.listdir(".")
- sys.argv
获取命令行参数。
python
import sys; print(sys.argv)
- import()
动态导入模块。
python
math = __import__("math")
十一、装饰器与类
- @property
定义属性访问方法。
python
class MyClass:
@property
def value(self):
return self._value
- @classmethod / @staticmethod
类方法与静态方法。
python
class MyClass:
@classmethod
def create(cls):
return cls()
- super()
调用父类方法。
python
class Child(Parent):
def __init__(self):
super().__init__()
十二、异常处理
- try...except...finally
捕获异常。
python
try:
1/0
except ZeroDivisionError:
print("Error")
- raise
抛出异常。
python
raise ValueError("Invalid value")
其他常用函数
- eval() / exec()
执行字符串代码。
python
eval("2 + 2") # 4
- hasattr() / getattr() / setattr()
操作对象属性。
python
hasattr(obj, "x") # 检查属性是否存在
- isinstance() / issubclass()
检查类型与继承关系。
python
isinstance(10, int) # True
- globals() / locals()
获取全局/局部变量字典。
python
globals()
- callable()
检查对象是否可调用。
python
callable(print) # True
以上为Python中常用核心函数(精选部分),覆盖日常开发的大部分场景。实际应用中,结合具体需求查阅官方文档可更深入掌握每个函数的用法!
相关推荐
- Linux 网络协议栈_linux网络协议栈
-
前言;更多学习资料(包含视频、技术学习路线图谱、文档等)后台私信《资料》免费领取技术点包含了C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,Z...
- 揭秘 BPF map 前生今世_bpfdm
-
1.前言众所周知,map可用于内核BPF程序和用户应用程序之间实现双向的数据交换,为BPF技术中的重要基础数据结构。在BPF程序中可以通过声明structbpf_map_def...
- 教你简单 提取fmpeg 视频,音频,字幕 方法
-
ffmpeg提取视频,音频,字幕方法(HowtoExtractVideo,Audio,SubtitlefromOriginalVideo?)1.提取视频(ExtractVi...
- Linux内核原理到代码详解《内核视频教程》
-
Linux内核原理-进程入门进程进程不仅仅是一段可执行程序的代码,通常进程还包括其他资源,比如打开的文件,挂起的信号,内核内部的数据结构,处理器状态,内存地址空间,或多个执行线程,存放全局变量的数据段...
- Linux C Socket UDP编程详解及实例分享
-
1、UDP网络编程主要流程UDP协议的程序设计框架,客户端和服务器之间的差别在于服务器必须使用bind()函数来绑定侦听的本地UDP端口,而客户端则可以不进行绑定,直接发送到服务器地址的某个端口地址。...
- libevent源码分析之bufferevent使用详解
-
libevent的bufferevent在event的基础上自己维护了一个buffer,这样的话,就不需要再自己管理一个buffer了。先看看structbufferevent这个结构体struct...
- 一次解决Linux内核内存泄漏实战全过程
-
什么是内存泄漏:程序向系统申请内存,使用完不需要之后,不释放内存还给系统回收,造成申请的内存被浪费.发现系统中内存使用量随着时间的流逝,消耗的越来越多,例如下图所示:接下来的排查思路是:1.监控系统中...
- 彻底搞清楚内存泄漏的原因,如何避免内存泄漏,如何定位内存泄漏
-
作为C/C++开发人员,内存泄漏是最容易遇到的问题之一,这是由C/C++语言的特性引起的。C/C++语言与其他语言不同,需要开发者去申请和释放内存,即需要开发者去管理内存,如果内存使用不当,就容易造成...
- linux网络编程常见API详解_linux网络编程视频教程
-
Linux网络编程API函数初步剖析今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。1、socket(family...
- Linux下C++访问web—使用libcurl库调用http接口发送解析json数据
-
一、背景这两天由于一些原因研究了研究如何在客户端C++代码中调用web服务端接口,需要访问url,并传入json数据,拿到返回值,并解析。 现在的情形是远程服务端的接口参数和返回类型都是json的字符...
- 平衡感知调节:“系统如人” 视角下的架构设计与业务稳定之道
-
在今天这个到处都是数字化的时代,系统可不是一堆冷冰冰的代码。它就像一个活生生的“数字人”,没了它,业务根本转不起来。总说“技术要为业务服务”,但实际操作起来问题不少:系统怎么才能快速响应业务需求?...
- 谈谈分布式文件系统下的本地缓存_什么是分布式文件存储
-
在分布式文件系统中,为了提高系统的性能,常常会引入不同类型的缓存存储系统(算法优化所带来的的效果可能远远不如缓存带来的优化效果)。在软件中缓存存储系统一般可分为了两类:一、分布式缓存,例如:Memca...
- 进程间通信之信号量semaphore--linux内核剖析
-
什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠...
- Qt编写推流程序/支持webrtc265/从此不用再转码/打开新世界的大门
-
一、前言在推流领域,尤其是监控行业,现在主流设备基本上都是265格式的视频流,想要在网页上直接显示监控流,之前的方案是,要么转成hls,要么魔改支持265格式的flv,要么265转成264,如果要追求...
- 30 分钟搞定 SpringBoot 视频推拉流!实战避坑指南
-
30分钟搞定SpringBoot视频推拉流!实战避坑指南在音视频开发领域,SpringBoot凭借其快速开发特性,成为很多开发者实现视频推拉流功能的首选框架。但实际开发中,从环境搭建到流处理优...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)