Python基础-Python常用的内置函数与标准库介绍?
在之前的分享中,我们介绍了关于Python入门级别的知识点,包括了Python的数据类型、流程控制语句、文件操作、异常处理以及面向对象相关的内容,这篇文章,我们主要来介绍一下关于Python中我们常用到的一些内置的函数以及一些常用的标准库操作。
常用函数介绍
print()函数:用来将代码中的内容输出到标准的输出设备也就是屏幕上。
print("Hello, world!")
len()函数:用来返回对象的长度以及列表项目数量。
my_list = [1, 2, 3, 4, 5]
print(len(my_list)) # 输出 5
input()函数:用来从标准的输入中读取用户输入的内容,如下所示
name = input("请输入您的姓名:")
print("您的姓名是:", name)
range()函数:用于生成一个指定范围的数据序列
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
type()函数:用来返回一个对象的数据类型,如下所示
print(type(5)) # 输出 <class 'int'>
print(type("hello")) # 输出 <class 'str'>
str()、int()、float():分别将对象转换为字符串、整数和浮点数。如下所示
num = 5
print(str(num)) # 输出 "5"
num_str = "10"
print(int(num_str) + 5) # 输出 15
float_str = "3.14"
print(float(float_str)) # 输出 3.14
sum()函数:用来对一个可迭代的对象中的元素进行求和操作,如下所示。
numbers = [1, 2, 3, 4, 5]
print(sum(numbers)) # 输出 15
max()、min():返回可迭代对象中的最大值和最小值。
numbers = [1, 2, 3, 4, 5]
print(max(numbers)) # 输出 5
print(min(numbers)) # 输出 1
abs()函数:用来返回一个数字数据的绝对值操作。如下所示
print(abs(-5)) # 输出 5
sorted()函数:用来对一个可迭代的对象进行排序,如下所示。
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出 [1, 1, 2, 3, 4, 5, 6, 9]
any()、all():any() 函数接受一个可迭代对象作为参数,如果可迭代对象中的任何元素为真,则返回True,否则返回False;all() 函数同样接受一个可迭代对象作为参数,如果可迭代对象中的所有元素都为真,则返回True,否则返回False。如下所示
# any() 示例
my_list = [0, False, True, 1]
print(any(my_list)) # 输出 True,因为列表中有一个元素为真(True)
# all() 示例
my_list = [True, True, True]
print(all(my_list)) # 输出 True,因为列表中所有元素都为真(True)
enumerate():用于返回一个枚举类型的对象,包含其中迭代的对象的每个元素值以及索引值。如下所示。
my_list = ['a', 'b', 'c', 'd']
for index, value in enumerate(my_list):
print(index, value)
# 输出:
# 0 a
# 1 b
# 2 c
# 3 d
zip()函数:用于将两个或多个可迭代对象压缩成一个元组构成的迭代器,返回一个由元组组成的迭代器。如下所示
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped)) # 输出 [(1, 'a'), (2, 'b'), (3, 'c')]
map()函数:用于将一个函数应用于可迭代对象的每个元素,返回一个结果列表。
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) # 输出 [1, 4, 9, 16, 25]
filter()函数:使用指定的函数对可迭代对象进行过滤,返回一个由所有使得函数返回 True 的元素组成的迭代器。代码如下所示。
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = filter(is_even, numbers)
print(list(even_numbers)) # 输出 [2, 4, 6]
reversed()函数:用来返回一个序列的翻转序列迭代器。如下所示
my_list = [1, 2, 3, 4, 5]
reversed_list = reversed(my_list)
print(list(reversed_list)) # 输出 [5, 4, 3, 2, 1]
slice()函数:用来返回一个切片对象,用于切片操作。如下所示。
my_list = [1, 2, 3, 4, 5]
slice_obj = slice(2, 4) # 从索引 2 到索引 4(不包括索引 4)
print(my_list[slice_obj]) # 输出 [3, 4]
format():进行值的格式化,将指定的数据值格式化为指定的格式。如下所示。
ename = "Alice"
age = 30
print("Name: {}, Age: {}".format(name, age)) # 输出 "Name: Alice, Age: 30"
以上都是在Python中的一些常用的内置函数,当然Python中常用的内置函数还远远不止这些,有兴趣的读者可以自己查看相关文档进行深入的学习。
Python常用标准库
在Python中的标准库是Python解释器中自带的一些模块,并且这些模块提供了很多丰富的操作功能,涵盖了IO、网络、数据处理等多个方面,下面我们就来详细介绍一下在Python中的常用的一些标准库。
os模块
OS模块提供了与操作系统进行交互的功能,例如对于文件的操作,对于文件目录的操作,对于进程的管理功能等操作。如下所示。
import os
# 获取当前工作目录
current_dir = os.getcwd()
print("Current directory:", current_dir)
# 列出目录下的文件和子目录
files_and_dirs = os.listdir(current_dir)
print("Files and directories in current directory:", files_and_dirs)
sys模块
sys模块,提供了与Python解释器进行交互的功能,例如对于命令参数的执行,对于标准输入输出的控制等。如下所示。
import sys
# 获取命令行参数
args = sys.argv
print("Command line arguments:", args)
# 输出至标准错误流
sys.stderr.write("This is an error message.\n")
datetime模块
datetime模块提供了对于日期时间处理的功能,如下所示。
from datetime import datetime
# 获取当前日期和时间
now = datetime.now()
print("Current date and time:", now)
# 格式化日期和时间
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("Formatted date and time:", formatted_date)
random模块
提供了生成随机数的功能,如下所示。
import random
# 生成随机整数
random_int = random.randint(1, 100)
print("Random integer:", random_int)
# 从列表中随机选择一个元素
my_list = ['apple', 'banana', 'orange', 'grape']
random_choice = random.choice(my_list)
print("Random choice from list:", random_choice)
re模块
提供了正则表达式的操作功能,用来处理字符串的匹配操作。如下所示
import re
# 在字符串中查找匹配的子串
pattern = r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b'
text = "Contact us at info@example.com or support@example.org"
emails = re.findall(pattern, text, re.IGNORECASE)
print("Found emails:", emails)
json模块
提供对于JSON数据的编码解码操作功能,如下所示。
import json
# 编码 Python 对象为 JSON 字符串
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print("JSON string:", json_str)
# 解码 JSON 字符串为 Python 对象
decoded_data = json.loads(json_str)
print("Decoded JSON:", decoded_data)
urllib模块
提供了与URL地址交互的功能,例如打开一个URL、对于URL参数的处理等操作,如下所示。
from urllib import request, parse
# 发送 GET 请求
response = request.urlopen('https://www.example.com')
html = response.read()
print(html[:100]) # 输出页面的前100个字符
# 发送 POST 请求
data = parse.urlencode({'name': 'Alice', 'age': 25}).encode()
response = request.urlopen('https://www.example.com/api', data=data)
print(response.status) # 输出响应状态码
当然以上只是提供了一些简单的示例操作,以及相关模块的简单使用,Python中提供的标准模块库位Python提供了强大的功能支持,有兴趣的读者可以深入的了解一下各个模块的使用,有了这些编程模块可以为开发人员提升开发效率。