python常用函数汇总

python常用函数汇总

对准蓝字按下左键可以跳转哦

类型函数
数值相关函数abs() divmod() max() min() pow() round() sum()
类型转换函数ascii() bin() hex() oct() bool() bytearray() bytes() chr() complex() float() int()
迭代和循环函数iter() next() enumerate() reversed() sorted()
容器和集合函数all() any() len() list() set() tuple() dict() frozenset()
字符串和字符处理函数format() str() ord() repr()
文件和输入输出函数open() input() print()
错误和异常处理函数breakpoint() eval() exec() globals() locals() compile() import()
属性和对象操作函数getattr() hasattr() setattr() delattr() id() isinstance() issubclass() property() vars()
其他函数callable() classmethod() staticmethod() hash() help() memoryview()
高阶函数map() zip() filter()

数值相关函数

abs() divmod() max() min() pow() round() sum()

abs()

返回一个数的绝对值

num = -5
result = abs(num)
print(result)  # 输出: 5

divmod()

接受两个数字类型参数,并且返回两数的商和余

num1 = 20
num2 = 3
result1, result2 = divmod(num1, num2 )
print(result1)    # 输出: 6
print(result2)   # 输出: 2

max()

接受一个可迭代参数,返回其中的最大值

num = [4, 8, 2, 1, 9]
min_mum = min(num)
print(min_mum)  # 输出: 9

min()

接受一个可迭代参数,返回其中的最小值

num = [4, 8, 2, 1, 9]
min_mum = min(num)
print(min_mum)  # 输出: 1

pow()

接受一个数字类型,计算出它的指数幂

base = 2
exponent = 3
result = pow(base, exponent)
print(result)  # 输出: 8

round()

接受一个浮点数,返回一个四舍五入后的指定位数的小数

number = 3.14159
rounded = round(number, 2)
print(rounded)  # 输出: 3.14

sum()

接受一个由整数组成的可迭代对象,计算其中所有元素的和

numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)  # 输出: 15

类型转换函数

ascii() bin() hex() oct() bool() bytearray() bytes() chr() complex() float() int()

ascii()

返回一个表示对象的字符串,使用 ASCII 编码

text = "Hello, 你好"
result = ascii(text)
print(result)  # 输出: 'Hello, \u4f60\u597d'

bin()

将一个整数转换成二进制字符串

number = 10
binary = bin(number)
print(binary)  # 输出: '0b1010'

hex()

将一个整数转换成十六进制字符串

number = 15
hex_string = hex(number)
print(hex_string)  # 输出: '0xf'

oct()

将一个整数转换为八进制字符串

number = 8
octal_string = oct(number)
print(octal_string)  # 输出: '0o10'

bool()

将给定的值转换为布尔类型

value1 = 0
value2 = ""
value3 = []
print(bool(value1))  # 输出: False
print(bool(value2))  # 输出: False
print(bool(value3))  # 输出: False

bytearray()

返回一个可变的字节数组对象

text = "Hello"
byte_array = bytearray(text, "utf-8")
print(byte_array)  # 输出: bytearray(b'Hello')

bytes()

返回一个不可变的字节对象

text = "Hello"
byte_string = bytes(text, "utf-8")
print(byte_string)  # 输出: b'Hello'

chr()

返回指定 Unicode 码位的字符

unicode_value = 65
character = chr(unicode_value)
print(character)  # 输出: 'A'

complex()

创建一个复数对象

real = 2
imaginary = 3
complex_num = complex(real, imaginary)
print(complex_num)  # 输出: (2+3j)

float()

将一个数字或字符串转换为浮点数

number_str = "3.14"
float_num = float(number_str)
print(float_num)  # 输出: 3.14

int()

函数用于将一个数字或字符串转换为整数

number_str = "10"
integer = int(number_str)
print(integer)  # 输出: 10

迭代和循环函数

iter()next()enumerate()reversed()sorted()

iter()

接受一个可迭代类型数据,返回一个迭代器对象

numbers = [1, 2, 3, 4, 5]
iterator = iter(numbers)print(next(iterator))  # 输出: 1
print(next(iterator))  # 输出: 2
print(next(iterator))  # 输出: 3

next()

从迭代器中获取下一个元素,如果没有更多元素则引发StopIteration异常

numbers = [1, 2, 3]
iterator = iter(numbers)print(next(iterator))  # 输出: 1
print(next(iterator))  # 输出: 2
print(next(iterator))  # 输出: 3
print(next(iterator))  # 引发 StopIteration 异常

enumerate()

接受一个可迭代对象,返回它的元素和索引

fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):print(index, fruit)# 输出:
# 0 apple
# 1 banana
# 2 orange

reversed()

反转一个序列元素,并且返回一个迭代器

numbers = [1, 2, 3, 4, 5]
reversed_numbers = reversed(numbers)for num in reversed_numbers:print(num)# 输出:
# 5
# 4
# 3
# 2
# 1

sorted()

接受一个可迭代对象对其排序,并且返回一个新的已排序列表

numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers)print(sorted_numbers)  # 输出: [1, 2, 3, 4, 5]

容器和集合函数

all()any()len()list()set()tuple()dict()frozenset()

all()

用于判断可迭代对象中的所有元素是否都为真,任意为假返回False

numbers = [2, 4, 6, 8, 10]
result = all(num % 2 == 0 for num in numbers)
print(result)  # 输出: True

any()

用于判断可迭代对象中的所有元素是否存在真,任意为真返回True

numbers = [1, 2, 3, 4, 5]
result = any(num % 2 == 0 for num in numbers)
print(result)  # 输出: True

len()

计算元素长度

text = "Hello"
length = len(text)
print(length)  # 输出: 5numbers = [1, 2, 3, 4, 5]
count = len(numbers)
print(count)  # 输出: 5

list()

接受一个可迭代对象将其转换成列表

numbers = (1, 2, 3, 4, 5)
number_list = list(numbers)
print(number_list)  # 输出: [1, 2, 3, 4, 5]

set()

接受一个可迭代对象将其转换成集合

numbers = [1, 2, 3, 2, 4, 5, 1]
unique_numbers = set(numbers)
print(unique_numbers)  # 输出: {1, 2, 3, 4, 5}

tuple()

接受一个可迭代对象将其转换成元组

numbers = [1, 2, 3, 4, 5]
number_tuple = tuple(numbers)
print(number_tuple)  # 输出: (1, 2, 3, 4, 5)

dict()

接受一个可迭代对象将其转换成字典

student = dict(name="Alice", age=20, grade="A")
print(student)  # 输出: {'name': 'Alice', 'age': 20, 'grade': 'A'}

frozenset()

冻结一个集合对象,返回一个新的不可变对象,但是原对象可以被修改

numbers = [1, 2, 3, 2, 4, 5, 1]
frozen_numbers = frozenset(numbers)
numbers.append(7)
print(numbers)  # [1, 2, 3, 2, 4, 5, 1, 7]
print(frozen_numbers)  # 输出: frozenset({1, 2, 3, 4, 5})# frozen_numbers.append(1)  # 报错AttributeError: 'frozenset' object has no attribute 'append'

字符串和字符处理函数

format()str()ord()repr()

format()

格式化数据

import datetime# 格式化数字:
number = 3.14159
formatted = format(number, ".2f")
print(formatted)  # 输出: "3.14"# 指定填充字符和对齐方式:
text = "Hello"
formatted = format(text, "^10")
print(formatted)  # 输出: "  Hello   "# 使用关键字参数进行格式化:
name = "Alice"
age = 25
result = format("My name is {}, and I'm {} years old.".format(name, age))
print(result)  # 输出: "My name is Alice, and I'm 25 years old."# 使用索引进行格式化:
values = ("Alice", 25)
result = format("My name is {0}, and I'm {1} years old.", *values)
print(result)  # 输出: "My name is Alice, and I'm 25 years old."# 格式化日期时间:
now = datetime.datetime.now()
formatted = format(now, "%Y-%m-%d %H:%M:%S")
print(formatted)  # 输出: "2023-12-24 10:30:00"

str()

将参数转换成字符串

number = 10
text = str(number)
print(text)  # 输出: "10"

ord()

返回一个字符的 Unicode 数值

character = 'A'
unicode_value = ord(character)
print(unicode_value)  # 输出: 65

repr()

返回一个对象的字符串表示形式,通常用于调试和显示对象

number = 10
representation = repr(number)
print(representation)  # 输出: "10"

文件和输入输出函数

open()input()print()

open()

打开文件并返回一个文件对象,可用于读写操作

file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

input()

获取用户输入的数据,并且返回字符串

name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
print(f"您好,{name},您的年龄是{age}岁。")

print()

打印数据

name = "Alice"
age = 25
print("My name is", name, "and I'm", age, "years old.")

错误和异常处理函数

breakpoint()eval()exec()globals()locals()compile()import()

breakpoint()

在代码中设置调试断点,启动调试器

def divide(a, b):result = a / bbreakpoint()  # 设置调试断点return resultdivide(10, 2)

eval()

动态执行字符串中的python代码,并返回结果

expression = "2 + 3 * 4"
result = eval(expression)
print(result)  # 输出: 14

exec()

动态执行字符串中的python代码,且支持多行判定

code = """
for i in range(5):print(i)
"""
exec(code)

globals()

以字典形式返回当前模块的全局变量

name = "Anna"def my_function():print(globals())my_function()
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001E446205F50>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:\\Users\\Desktop\\LnhStudy\\Day25\\trst04.py', '__cached__': None, 'name': 'Anna'^|
#        					 Anna在这

locals()

字典形式返回当前模块的局部变量

def my_function():x = 10print(locals())my_function()  # {'x': 10}

compile()

将参数编译,可以搭配exec()使用

source_code = "print('Hello, World!')"
compiled_code = compile(source_code, "<string>", "exec")
exec(compiled_code)
# Hello, World!

__import__()

在函数运行时动态的导入模块,和import类似

module_name = "math"	# 导入math模块
module = __import__(module_name)
result = module.sqrt(16) # 计算16的平方根
print(result)  # 输出: 4.0

属性和对象操作函数

getattr()hasattr()setattr()delattr()id()isinstance()issubclass()property()vars()

getattr()

获取对象的属性值

class Person:name = "Alice"person = Person()
result = getattr(person, "name")
print(result)  # 输出: "Alice"

hasattr()

用于检查对象是否具有指定属性

class Person:name = "Alice"person = Person()
result = hasattr(person, "age")
print(result)  # 输出: False

setattr()

用于设置对象的属性值

class Person:name = ""person = Person()
setattr(person, "name", "Alice")
print(person.name)  # 输出: "Alice"

delattr()

用于删除对象的属性

class Person:name = "Alice"person = Person()
delattr(person, "name")
print(hasattr(person, "name"))  # 输出: False

id()

返回对象的唯一标识

person = "Alice"
identity = id(person)
print(identity)  # 输出: 3030971146224

isinstance()

检查对象是否属于指定类型

numbers = [1, 2, 3]
result = isinstance(numbers, list)
print(result)  # 输出: True

issubclass()

检查对象是否是另一个类的子类

class Animal:passclass Dog(Animal):passresult = issubclass(Dog, Animal)
print(result)  # 输出: True

property()

定义属性访问器

class Circle:def __init__(self, radius):self._radius = radius@propertydef radius(self):return self._radius@radius.setterdef radius(self, value):if value > 0:self._radius = valueelse:raise ValueError("Radius must be greater than 0.")circle = Circle(5)
print(circle.radius)  # 输出: 5circle.radius = 10
print(circle.radius)  # 输出: 10

vars()

返回对象的属性和属性值的字典

class Person:def __init__(self, name, age):self.name = nameself.age = ageperson = Person("Alice", 25)
result = vars(person)
print(result)  # 输出: {'name': 'Alice', 'age': 25}

其他函数

callable()classmethod()staticmethod()hash()help()memoryview()#t)

callable()

检查对象是否可调用

def my_function():print("Hello, World!")result = callable(my_function)
print(result)  # 输出: True

classmethod()

classmethod()是一个装饰器,用于定义类方法,类方法是绑定到类而不是实例的方法

class Person:name = "Alice"@classmethoddef get_name(cls):return cls.nameresult = Person.get_name()
print(result)  # 输出: "Alice"

staticmethod()

staticmethod()是一个装饰器,用于定义新的静态方法,静态方法与类和示例无关,相当于普通函数,但在类内部定义

class Calculator:@staticmethoddef add(a, b):return a + bresult = Calculator.add(3, 5)
print(result)  # 输出: 8

hash()

返回对象的哈希值,用于在哈希表中快速定位元素

number = '42'
hash_value = hash(number)
print(hash_value)  # 6391978310865315419

help()

获取函数、模块或对象的帮助信息

import mathhelp(math.sqrt)

memoryview()

创建一个内存视图对象,可用于对底层数据进行高级操作

numbers = [1, 2, 3, 4, 5]
byte_array = bytearray(numbers)	# 先转换为字节数组否则会报错
mem_view = memoryview(byte_array)print(mem_view[0])  # 输出: 1
print(mem_view[1])  # 输出: 2

python高阶函数

map()zip()filter()

map()

将指定函数应用于可迭代对象中的每个元素,并返回包含结果的迭代器

num = [1, 2, 3, 4, 5]def func(num):return num * 2new_num = map(func, num) # 注意func不能加括号
for i in new_num:print(i)
# 2 4 6 8 10

同样适用于lambda表达式,并且可以通过list强转再输出

numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]

zip()

将多个可迭代对象进行元素配对,并返回包含结果的迭代器

num = [1, 2, 3, 4, 5]
name = ['a', 'b', 'c', 'd']new_num = zip(num, name)for i in new_num:print(i)
# (1, 'a')
# (2, 'b')
# (3, 'c')
# (4, 'd')

也可以经过强转再打印

num = [1, 2, 3, 4, 5]
name = ['a', 'b', 'c', 'd']new_num = zip(num, name) 
print(list(new_num))
# [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

filter()

用于过滤可迭代对象中的元素,并根据给定的函数判断是否保留该元素

filter() 函数的语法如下:

filter(function, iterable)
  • function:用于判断每个元素是否保留的函数,它接受一个参数并返回布尔值(True 或 False),注意function不能加括号
  • iterable:要过滤的可迭代对象,如列表、元组等。
def is_str(num):return isinstance(num, str)num_list = ['a', 1, 'b', '2', 3]
new_list = filter(is_str, num_list)
print(list(new_list))  # ['a', 'b', '2']

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

家有一宝,快乐翻倍,最新最全面基于AdGuard Home 自建 DNS 防污染、去广告教程、安装部署详解、优化增强设置详解

家有一宝,快乐翻倍,最新最全面基于AdGuard Home 自建 DNS 防污染、去广告教程、安装部署详解、优化增强设置详解。支持各个客户端,全平台覆盖。 AdGuard Home 部署的方式有很多种,一般二进制文件部署和直接编译到 OpenWrt 系统中是大家所常用的。而博主个人倾向于使用 Dock…

Qt/C++控件设计器/属性栏/组态/可导入导出/中文属性/串口网络/拖曳开发

一、功能特点 自动加载插件文件中的所有控件生成列表&#xff0c;默认自带的控件超过120个。拖曳到画布自动生成对应的控件&#xff0c;所见即所得。右侧中文属性栏&#xff0c;改变对应的属性立即应用到对应选中控件&#xff0c;直观简洁&#xff0c;非常适合小白使用。独创属…

CTF特训(一):ctfshow-RCE挑战

CTF特训(一)&#xff1a;ctfshow-RCE挑战 FLAG&#xff1a;可后来&#xff0c;除了梦以外的地方&#xff0c;我再也没有见过你 专研方向: 代码审计&#xff0c;PHP 每日emo&#xff1a;其实挺迷茫的&#xff0c;不知道该干什么,(骗你的) RCE挑战1 <?phperror_reporting(0)…

数据密钥管理有哪些常见技术

数据密钥管理涉及到许多复杂而重要的技术&#xff0c;以下是一些常见的数据密钥管理技术&#xff1a; 密钥生成技术&#xff1a;这是数据密钥管理的第一步&#xff0c;需要生成安全、随机且唯一的密钥。常见的密钥生成算法包括RSA、ECC(椭圆曲线密码学)等。这些算法能够生成长度…

EternalBlue【永恒之蓝】漏洞详解(复现、演示、远程、后门、入侵、防御)内容丰富-深入剖析漏洞原理-漏洞成因-以及报错解决方法-值得收藏!

漏洞背景&#xff1a; 1.何为永恒之蓝&#xff1f; 永恒之蓝&#xff08;Eternal Blue&#xff09;爆发于2017年4月14日晚&#xff0c;是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限&#xff0c;以此来控制被入侵的计算机。甚至于2017年5月12日&#xff0c; 不法分子…

ubuntu20.04 conda环境配置Mask2former记录

建议先看完再按照步骤安装 代码地址&#xff1a;GitHub - facebookresearch/Mask2Former: Code release for "Masked-attention Mask Transformer for Universal Image Segmentation" 一、配置环境 1、创建虚拟环境 conda create -n mask2former python3.8conda …

2015年第四届数学建模国际赛小美赛B题南极洲的平均温度解题全过程文档及程序

2015年第四届数学建模国际赛小美赛 B题 南极洲的平均温度 原题再现&#xff1a; 地表平均温度是反映气候变化和全球变暖的重要指标。然而&#xff0c;在以前的估计中&#xff0c;在如何界定土地平均数方面存在一些方法上的差异。为简单起见&#xff0c;我们只考虑南极洲。请建…

mysql-exporter监控部署(k8s内)tensuns专用

一、前言 在k8s内部署mysql-exporter监控需要用到deployment、service服务 二、部署 在被监控的mysql中创建监控用户 mysql -u root -p GRANT PROCESS, REPLICATION CLIENT ON *.* TO monitor% identified by 12345678; flush privileges; 创建mysql-exporter服务的yaml文件存…

微信小程序预览pdf,修改pdf文件名

记录微信小程序预览pdf文件&#xff0c;修改pdf名字安卓和ios都可用。 1.安卓和苹果的效果 2.需要用到的api 1.wx.downloadFile wx.downloadFile 下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求&#xff0c;返回文件的本地临时路径 (本地路径)&#xff0c;单次下载…

振弦采集仪在地铁隧道施工监测中的应用与分析

振弦采集仪在地铁隧道施工监测中的应用与分析 振弦采集仪是一种常用的地铁隧道施工监测工具&#xff0c;它通过测量隧道结构中的振弦变化来判断隧道施工的稳定性和安全性。振弦采集仪的应用与分析可以帮助工程师监测地铁隧道施工过程中的变化&#xff0c;及时发现可能的问题并…

test-03-java 单元测试框架 testNG 入门介绍 junit/junit5/testNG 详细对比

拓展阅读 test-01-java 单元测试框架 junit 入门介绍 test-02-java 单元测试框架 junit5 入门介绍 test-03-java 单元测试框架 testNG 入门介绍 junit/junit5/testNG 详细对比 test assert-01-Google Truth 断言 test 系统学习-03-TestNG Spock testng 入门使用教程 开源…

什么是IO,初级Java怎么更好的理解IO流(上)

&#xff08;注&#xff1a;本篇文章分为两个部分&#xff0c;如果想更为深刻的了解IO&#xff0c;请关注下一篇&#xff1b;欢迎大家学习讨论和批评指正&#xff09; IO1 作用 将数据在虚拟机内存和本地磁盘之间进行传输 I&#xff1a;input 输入 O&#xff1a;output 输…

阿里云ECS云服务器优势整理(共9点)

为什么选择阿里云服务器ECS&#xff1f;选择云服务器ECS&#xff0c;可以轻松构建具有以下九大优势的计算资源&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云官网关于云服务器ECS的九大优势&#xff1a; 无需自建机房&#xff0c;无需采购以及配置硬件设施。分钟级交付…

c++学习笔记(12)-traits

1、概念 C 中的 type traits 是一种模板元编程技术&#xff0c;用于在编译期间判断、查询类型的属性。Type traits 可以帮助程序员在编译时进行类型判断&#xff0c;而不是在运行时判断&#xff0c;避免了程序中的不必要开销&#xff0c;并且可以提供更好的类型安全性。 2、用…

探索 WebRTC:数字世界的实时通信魔法

前言 在当今日常生活中&#xff0c;我们期望能够随时随地与朋友、同事或家人进行实时沟通。WebRTC&#xff08;Web实时通信&#xff09;技术就像一种魔法&#xff0c;让这些交流变得无比便捷&#xff0c;而且完全在浏览器中实现&#xff0c;无需下载任何额外应用或插件。 Web…

Linux Ubuntu安装nodejs

nodejs官网 Linux 安装 node&#xff0c;npm &#xff08;详细图解&#xff09; 步骤 下载 wget https://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-x64.tar.xz 解压 tar -xf node-v20.10.0-linux-x64.tar.xz 重命名 mv node-v20.10.0-linux-x64 node 进目录 cd node/b…

对接日志服务器系统,将业务服务器、数据库服务器等系统日志rsyslog统一推送或接入至日志服务器进行检测及日志的抓取分析。

1、客户端业务系统服务器配置&#xff0c;系统日志配置文件默认存放在/etc/rsyslog.conf下&#xff1b; 2、打开系统日志推送配置&#xff08;其它邮件日志、开机日志、消息日志等都可统一接入&#xff09; 3、配置推送地址和协议 这里特别说明一下&#xff1a;【注意&#xff…

stm32学习笔记:TIM-定时中断和外部时钟

定时器四部分讲解内容&#xff0c;本文是第一部分 ​​​​​TIM简介 基本定时器 时基单元&#xff1a;预分频器、计数器、自动重装载寄存器 预分频器之前&#xff0c;连接的就是基准计数时钟的输入&#xff0c;由于基本定时器只能选择内部时钟&#xff0c;所以可以认为这根…

Unity预设体

目录 预设体是什么&#xff1f; 如何创建预设体&#xff1f; 如何修改预设体&#xff1f; 如何删除预设体&#xff1f; 预设体是什么&#xff1f; Unity中的预设体&#xff08;Prefab&#xff09;是一种可重复使用的游戏对象模板。它允许开发者创建一个或多个游戏对象&…

ES实用的深度解构赋值方法

ES6 中允许按照一定模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构&#xff08;Destructuring&#xff09;。使用解构赋值可以将复杂的代码整理的更加干净整洁。 1.解构对象 在没有使用解构之前&#xff0c;想要确定对象中的某些属…