Python中很常用的100个函数整理
Python 内置函数提供了强大的工具,涵盖数据处理、数学运算、迭代控制、类型转换等。本文总结了 100 个常用内置函数,并配备示例代码,提高编程效率。
1. abs() 取绝对值
print(abs(-10)) # 10
2. all() 判断所有元素是否为真
print(all([True, 1, "hello"])) # True
print(all([True, 0, "hello"])) # False
3. any() 判断任意元素是否为真
print(any([False, 0, "", None])) # False
print(any([False, 1, ""])) # True
4. ascii() 返回对象的 ASCII 表示
print(ascii("你好")) # '\u4f60\u597d'
5. bin() 十进制转二进制
print(bin(10)) # '0b1010'
6. bool() 转换为布尔值
print(bool([])) # False
print(bool(1)) # True
7. bytearray() 创建字节数组
ba = bytearray([65, 66, 67])
print(ba) # bytearray(b'ABC')
8. bytes() 创建不可变字节序列
b = bytes("hello", encoding="utf-8")
print(b) # b'hello'
9. callable() 判断对象是否可调用
def func(): pass
print(callable(func)) # True
print(callable(10)) # False
10. chr() 获取 Unicode 码对应的字符
print(chr(97)) # 'a'
11. ord() 获取字符的 Unicode 编码
print(ord('a')) # 97
12. complex() 创建复数
print(complex(1, 2)) # (1+2j)
13. dict() 创建字典
d = dict(name="Alice", age=25)
print(d) # {'name': 'Alice', 'age': 25}
14. dir() 获取对象所有属性和方法
print(dir([])) # ['append', 'clear', 'copy', ...]
15. divmod() 取商和余数
print(divmod(10, 3)) # (3, 1)
16. enumerate() 生成索引和值
lst = ["a", "b", "c"]
for i, v in enumerate(lst):print(i, v)
17. eval() 计算字符串表达式
expr = "3 + 4"
print(eval(expr)) # 7
18. filter() 过滤序列
nums = [1, 2, 3, 4, 5]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums) # [2, 4]
19. float() 转换为浮点数
print(float("3.14")) # 3.14
20. format() 格式化字符串
print(format(10000, ",")) # '10,000'
21. frozenset() 创建不可变集合
fs = frozenset([1, 2, 3])
print(fs)
22. globals() 获取全局变量
print(globals())
23. hasattr() 检查对象是否有属性
class Person:name = "Alice"print(hasattr(Person, "name")) # True
24. hash() 获取哈希值
print(hash("hello"))
25. help() 查看帮助
help(print)
26. hex() 十进制转十六进制
print(hex(255)) # '0xff'
27. id() 获取对象的唯一标识符
a = 10
print(id(a))
28. input() 获取用户输入
name = input("请输入你的名字: ")
print("你好, " + name)
29. int() 转换为整数
print(int("123")) # 123
30. isinstance() 检查对象类型
print(isinstance(123, int)) # True
31. issubclass() 检查是否是子类
class A: pass
class B(A): pass
print(issubclass(B, A)) # True
32. iter() 获取迭代器
lst = [1, 2, 3]
it = iter(lst)
print(next(it)) # 1
33. len() 获取长度
print(len([1, 2, 3])) # 3
34. list() 创建列表
print(list("hello")) # ['h', 'e', 'l', 'l', 'o']
35. locals() 获取局部变量
def func():a = 10print(locals())func()
36. map() 对序列中的每个元素进行操作
nums = [1, 2, 3, 4]
squared = list(map(lambda x: x ** 2, nums))
print(squared) # [1, 4, 9, 16]
37. max() 返回最大值
print(max([10, 20, 5])) # 20
print(max("python")) # 'y'
38. min() 返回最小值
print(min([10, 20, 5])) # 5
print(min("python")) # 'h'
39. next() 获取迭代器的下一个元素
it = iter([10, 20, 30])
print(next(it)) # 10
print(next(it)) # 20
40. object() 创建一个新对象
obj = object()
print(obj) # <object object at 0x...>
41. oct() 十进制转八进制
print(oct(10)) # '0o12'
42. open() 打开文件
with open("test.txt", "w") as f:f.write("Hello, Python!")
43. pow() 计算指数幂
print(pow(2, 3)) # 8
print(pow(2, 3, 5)) # (2^3) % 5 = 3
44. print() 打印输出
print("Hello", "Python", sep="-") # Hello-Python
45. range() 生成范围序列
print(list(range(1, 10, 2))) # [1, 3, 5, 7, 9]
46. repr() 返回对象的字符串表示
print(repr("Hello\nWorld")) # "'Hello\\nWorld'"
47. reversed() 反转序列
print(list(reversed([1, 2, 3, 4]))) # [4, 3, 2, 1]
48. round() 四舍五入
print(round(3.14159, 2)) # 3.14
49. set() 创建集合
print(set([1, 2, 2, 3])) # {1, 2, 3}
50. setattr() 设置对象属性
class Person:pass
p = Person()
setattr(p, "age", 25)
print(p.age) # 25
51. slice() 创建切片对象
lst = [10, 20, 30, 40]
s = slice(1, 3)
print(lst[s]) # [20, 30]
52. sorted() 排序
print(sorted([3, 1, 4, 2])) # [1, 2, 3, 4]
print(sorted("python")) # ['h', 'n', 'o', 'p', 't', 'y']
53. staticmethod() 定义静态方法
class Math:@staticmethoddef add(x, y):return x + yprint(Math.add(3, 4)) # 7
54. str() 转换为字符串
print(str(123)) # '123'
print(str([1, 2, 3])) # '[1, 2, 3]'
55. sum() 计算总和
print(sum([1, 2, 3, 4])) # 10
56. super() 调用父类方法
class Parent:def greet(self):print("Hello from Parent")class Child(Parent):def greet(self):super().greet()print("Hello from Child")c = Child()
c.greet()
57. tuple() 创建元组
print(tuple([1, 2, 3])) # (1, 2, 3)
58. type() 获取对象类型
print(type(123)) # <class 'int'>
59. vars() 获取对象的 __dict__ 属性
class Person:def __init__(self, name, age):self.name = nameself.age = agep = Person("Alice", 25)
print(vars(p)) # {'name': 'Alice', 'age': 25}
60. zip() 合并多个可迭代对象
names = ["Alice", "Bob"]
ages = [25, 30]
print(list(zip(names, ages))) # [('Alice', 25), ('Bob', 30)]
61. __import__() 动态导入模块
math_module = __import__("math")
print(math_module.sqrt(16)) # 4.0
62. delattr() 删除对象的属性
class Person:age = 25
delattr(Person, "age")
print(hasattr(Person, "age")) # False
63. exec() 执行字符串代码
code = "x = 10\ny = 20\nprint(x + y)"
exec(code) # 30
64. memoryview() 创建内存视图对象
b = bytearray("hello", "utf-8")
mv = memoryview(b)
print(mv[0]) # 104
65. round() 取整
print(round(4.567, 2)) # 4.57
66. breakpoint() 设置调试断点
x = 10
breakpoint() # 进入调试模式
print(x)
67. classmethod() 定义类方法
class Person:name = "Unknown"@classmethoddef set_name(cls, name):cls.name = namePerson.set_name("Alice")
print(Person.name) # Alice
68. compile() 编译字符串为代码对象
code = "print('Hello, World!')"
compiled_code = compile(code, '<string>', 'exec')
exec(compiled_code) # Hello, World!
69. complex() 创建复数
c = complex(3, 4)
print(c) # (3+4j)
70. del 删除对象
x = 10
del x
# print(x) # NameError: name 'x' is not defined
71. ellipsis 省略号对象
def func():...
print(func()) # None
72. float.fromhex() 将十六进制转换为浮点数
print(float.fromhex('0x1.8p3')) # 12.0
73. format_map() 使用映射对象格式化字符串
class Person:age = 25
print(getattr(Person, "age")) # 25
74. getattr() 获取对象属性
class Person:age = 25
print(getattr(Person, "age")) # 25
75. is 判断是否是同一个对象
a = [1, 2, 3]
b = a
print(a is b) # True
76. issubclass() 判断是否是子类
class A: pass
class B(A): passprint(issubclass(B, A)) # True
77. iter() 创建迭代器
lst = [1, 2, 3]
it = iter(lst)
print(next(it)) # 1
78. len() 获取长度
print(len([1, 2, 3])) # 3
79. memoryview() 创建内存视图
b = bytearray("hello", "utf-8")
mv = memoryview(b)
print(mv[0]) # 104
80. object() 创建基础对象
obj = object()
print(obj)
81. print(*objects, sep, end, file, flush) 高级用法
print("Hello", "World", sep="-", end="!") # Hello-World!
82. property() 创建只读属性
class Person:def __init__(self, name):self._name = name@propertydef name(self):return self._namep = Person("Alice")
print(p.name) # Alice
83. repr() 返回字符串表示
print(repr("Hello\nWorld")) # 'Hello\nWorld'
84. round() 四舍五入
print(round(4.567, 2)) # 4.57
85. set() 创建集合
s = set([1, 2, 3, 3])
print(s) # {1, 2, 3}
86. setattr() 设置对象属性
class Person:pass
p = Person()
setattr(p, "age", 30)
print(p.age) # 30
87. slice() 创建切片对象
lst = [10, 20, 30, 40]
s = slice(1, 3)
print(lst[s]) # [20, 30]
88. sorted() 排序
print(sorted([3, 1, 4, 2])) # [1, 2, 3, 4]
89. staticmethod() 定义静态方法
class Math:@staticmethoddef add(x, y):return x + yprint(Math.add(3, 4)) # 7
90. sum() 计算总和
print(sum([1, 2, 3, 4])) # 10
91. super() 调用父类方法
class Parent:def greet(self):print("Hello from Parent")
class Child(Parent):def greet(self):super().greet()print("Hello from Child")
c = Child()
c.greet()
92. tuple() 创建元组
print(tuple([1, 2, 3])) # (1, 2, 3)
93. type() 获取对象类型
print(type(123)) # <class 'int'>
94. vars() 获取对象属性字典
class Person:def __init__(self, name, age):self.name = nameself.age = agep = Person("Alice", 25)
print(vars(p)) # {'name': 'Alice', 'age': 25}
95. zip() 压缩多个可迭代对象
names = ["Alice", "Bob"]
ages = [25, 30]
print(list(zip(names, ages))) # [('Alice', 25), ('Bob', 30)]
96. callable() 检测对象是否可调用
def foo():pass
print(callable(foo)) # True
97. bin() 转换为二进制
print(bin(10)) # '0b1010'
98. hex() 转换为十六进制
print(hex(255)) # '0xff'
99. oct() 转换为八进制
print(oct(8)) # '0o10'相关文章:
Python中很常用的100个函数整理
Python 内置函数提供了强大的工具,涵盖数据处理、数学运算、迭代控制、类型转换等。本文总结了 100 个常用内置函数,并配备示例代码,提高编程效率。 1. abs() 取绝对值 print(abs(-10)) # 10 2. all() 判断所有元素是否为真 print(all([…...
javascript-es6 (六)
编程思想 面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次 调用就可以了 就是按照我们分析好了的步骤,按照步骤解决问题 面向对象 面向对象是把事务分解成为一个个对象&…...
大模型微调技术基础(一)
文章目录 GPT与BERT的差异GPT(Decoder架构)优点缺点 BERT(Encoder架构)优点缺点 总结 LoRA低参数大模型与全参数小模型表现对比分析LoRA(Low-Rank Adaptation)技术详解1. LoRA 核心原理2. 应用场景3. 简单代…...
Spring AI 1.0.0 M6新特性MCP
Spring AI 1.0.0 M6新特性MCP 前言一、MCP是什么?(Model Context Protocol)二、它的发展历程三、核心架构四、MCP Java SDK的核心能力Java MCP实现遵循三层架构:MCP客户端MCP服务器总结MCP 的核心能力总结多种传输选项 搭建服务端…...
【时时三省】(C语言基础)赋值表达式和赋值语句和变量赋初值
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 赋值表达式和赋值语句 在C程序中,赋值语句是用得最多的语句。实际上,C语言的赋值语句属于表达式语句,由一个赋值表达式加一个分号组成。其他一些高级语言…...
Room数据库的使用
一、room的引用导入 1、在app的gradle中引入 plugins {//这个ksp 一定要对应相关的 kotlin 版本,不然会一直报错i的---id("com.google.devtools.ksp") version "1.9.0-1.0.13" apply false } 2、在model的gradle中引入 plugins {id("com.g…...
【性能测试入门_01性能测试jmeter基础实操场景详解】
一、应用项目如何部署在服务器上 可以将项目进行打jar包 双击install,控制台就会打印打包的过程 最终打的包,会存放在打印的那个路径下 这个jar包,就是开发人员开发好,直接可以部署的 可以通过命令,在终端直接启动这…...
SpringBoot加载配置文件的优先级
在 SpringBoot 应用中,配置文件的加载顺序(优先级)决定了不同来源的配置属性如何覆盖彼此,但是,在实践中,也会经常遇到。下面文章将分析 SpringBoot 配置文件加载的优先级,从高到低排列。 文章目…...
跨越时空的对话:图灵与GPT-4聊AI的前世今生
(背景:虚拟咖啡厅,图灵身着1950年代西装,端着一杯热茶,GPT-4以全息投影形态坐在对面) 图灵(喝了口茶):“听说你能写诗?我当年在布莱切利园破解Enigma时&…...
如何通过 Seatunnel 实现 MySQL 到 OceanBase的数据迁移同步
1. 准备传输工具 本方案采用 Apache Seatunnel(简称seatunnel)进行MySQL 到 OceanBase 的数据迁移和同步,出于对方案轻量性的考量,我们采用其内置的Zeta引擎来实现,包括全量同步、离线增量同步,以及CDC方案…...
C++20 新特性总结
简要总结 C20 引入了四项非常大的更新, 分别是: 概念(Concepts). 用来简化模板编程, 强化表达能力. 并且使得出错原因更容易查找.模块(Modules). 这是代码组织方面非常大的更新. 提供了新的方式来组织代码, 并且可以减少编译时间.范围库(Ranges and Views). 轻量级的, 非拥有…...
软件设计模式之简单工厂模式
目录 一.类图(手机生产) 二.代码实现 Iphone类: Vivo类: Mobile类: MobileFactory类: Client类: 一.类图(手机生产) 补充:MobileFactory也可以直接指向…...
内网激活JRebel插件(无网络环境)
1.官网下载安装包,JRebel and XRebel JRebel and XRebel - IntelliJ IDEs Plugin | Marketplace 2.以IInstall Plugin from Disk的方式读取 3.运行JrebelServer.jar 终端输入: java -jar JrebelServer.jar -p 8080 (默认8080端口)服务会自动打开浏览器至 http:/…...
LiveGBS流媒体平台GB/T28181常见问题-视频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验
LiveGBS流媒体平台GB/T28181常见问题频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验? 1、安全控制1.1、HTTP接口鉴权1.2、流地址鉴权 2、401 Unauthorized2.1、携带token调用接口2.1.1、获取鉴权token2.1.2、调用其它接口2.1.…...
Java 大视界 -- 区块链赋能 Java 大数据:数据可信与价值流转(84)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
接口自动化入门 —— Http的请求头,请求体,响应码解析!
在接口自动化测试中,HTTP请求头、请求体和响应码是核心组成部分。理解它们的作用、格式和解析方法对于进行有效的接口测试至关重要。以下是详细解析: 1. HTTP 请求头(Request Header) 1.1 作用 请求头是客户端向服务器发送的附加…...
upload-labs(1-20)详解(专业版)
目录 第1关 第2关 第3关 第4题 第5题 第6题 第7题 第8题 第9题 第10题 第11题 第12题 第13题 第1关 查看源码 在第一关是一个前端js的一个后缀识别:当不为jpg、png、gif时候出现弹窗 检查源码 将return checkFile() 改为 return ture 就可以将php顺利…...
Linux 生成静态库
文章目录 前提小知识生成和使用.a库操作步骤 在应用程序中,有一些公共的代码需要反复使用的,可以把这些代码制作成“库文件”;在链接的步骤中,可以让链接器在“库文件”提取到我们需要使用到的代码,复制到生成的可执行…...
ARMV8的64位指令
一、介绍 ARMv8 体系结构最大的改变是增加了一个新的 64 位的指令集,这是早前 ARM 指令集 的有益补充和增强。它可以处理 64 位宽的寄存器和数据并且使用 64 位的指针来访问内存。这 个新的指令集称为 A64 指令集,运行在 AArch64 状态。 ARMv8 兼容旧的…...
【git】 贮藏 stash
贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件,没有完整的使用过。今天有幸使用了一次就来展开说说。 使用原因就不赘述了,错误的操作少提为好,操作步骤如下: 查看贮藏列表git stash list #输出&…...
ctf-web: php原生类利用 -- GHCTF Popppppp
源代码 <?php error_reporting(0); class CherryBlossom { public $fruit1; public $fruit2; public function __construct($a) {$this->fruit1 $a; } function __destruct() { echo $this->fruit1; } public function __toString() { $newFunc …...
PawSQL for TDSQL:腾讯云TDSQL数据库性能优化全攻略
TDSQL 作为腾讯云推出的分布式数据库,凭借其高扩展性、高可用性和高性能等优势,广泛应用于金融、互联网、政务等领域。随着业务的不断增长和数据量的爆炸式增长,如何优化 TDSQL 数据库的性能,成为众多企业和开发者面临的挑战。本文…...
202250311-WINDOWS本地4G显存Docker运行vLLM
前置: 需要去huggingface注册账号获取token:HUGGING_FACE_HUB_TOKEN 运行vLLM docker run --name LocalvLLM_qwen1.5B_Int4 --runtime nvidia --gpus all -v D:/vLLM/.cache/huggingface:/root/.cache/huggingface --env "HUGGING_FAC…...
Scala 中生成一个RDD的方法
在 Scala 中,生成 RDD(弹性分布式数据集)的主要方法是通过 SparkContext(或 SparkSession)提供的 API。以下是生成 RDD 的常见方法: 1. 从本地集合创建 RDD 使用 parallelize 方法将本地集合(如…...
T-SQL 语言基础:表运算符与联接
目录 介绍表运算符概述交叉联接内联接外联接联接实例总结引用 1. 介绍 在这篇博客中,主要涉及 T-SQL 中的表运算符与联接。联接操作是 SQL 查询中最常用的操作之一,它允许我们在多个表之间进行数据关联。通过了解不同类型的联接及其应用场景ÿ…...
Electron打包工具对比
在 Electron 生态中,打包工具的选择直接影响开发效率、配置复杂度和最终应用的性能。以下是主流的 Electron 打包工具及其优劣分析,结合你的 Vue 项目需求,我会在最后给出推荐方案: 一、主流 Electron 打包工具对比 1. Electron …...
jumpserver 网络安全 网络安全 authenticity
1.1 计算机安全的概念 1.1.1 计算机安全最核心的三个关键目标(CIA): 保密性(Confidentiality)--①数据保密性(确保隐私或秘密不向非授权者泄密或使用); ②隐私性(确保个人能够控制或确定其自身相关的信息)…...
Spring Cloud之远程调用OpenFeign参数传递
目录 OpenFeign参数传递 传递单个参数 传递多个参数 传递对象 传递JSON OpenFeign参数传递 传递单个参数 服务提供方product-service RequestMapping("/product") RestController public class ProductController {Autowiredprivate ProductService productSe…...
详解SQL权限与授予与收回对数据操作权限的操作
授予与收回对数据操作权限 一、GRANT 操作用法示例 二、REVOKE 操作用法示例 三、权限1. 数据库级别权限常见权限: 2. 对象级别权限作用对象:常见权限:对表或视图:对序列(Sequence):对存储过程和…...
网络安全之文件上传漏洞
一,文件上传漏洞的原因: 文件上传漏洞的存在主要是因为开发者未对用户上传的文件进行充分的安全验证,导致攻击者可以上传恶意文件(如 WebShell、恶意脚本等)到服务器,进而控制服务器或实施进一步攻击。 常…...
