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

您必须掌握的 23 个 Python 内置函数

liebian365 2025-02-16 21:52 6 浏览 0 评论

1.排序()

对数据进行排序是各个域中的常见要求。sorted() 提供了一种通用且高效的元素排序方式,支持各种排序标准,这对于机器学习中的数据表示、算法优化和数据预处理至关重要。

描述

从任何可迭代对象的元素中返回一个新的排序列表。

用法

sorted_list = sorted([3, 1, 2])

实际应用

  • 数据展示:在 Web 控制面板中显示排序列表或表格。
  • 算法优化:为需要排序输入的算法准备数据。
  • 数据预处理:在数据科学中对数据进行分析或可视化之前对数据进行排序。

常见陷阱示例

names = ['Charlie', 'alice', 'Bob']
sorted_names = sorted(names, key=str.lower)  # Case-insensitive sorting
print(sorted_names)

# Without key, uppercase letters come before lowercase

性能考虑

sorted() 的时间复杂度为 O(n log n),这对于基于比较的排序算法来说是最佳的。

import time

large_list = list(range(1000000, 0, -1))
start = time.time()
sorted_large = sorted(large_list)
end = time.time()
print(f"sorted() on large list: Time: {end - start} seconds")

最佳实践

使用 key 参数定义自定义排序标准。

sorted_items = sorted(items, key=lambda x: x.attribute)

交叉引用相关函数

在排序之前,考虑将 sorted()map() 或 list 推导式结合使用,以进行更复杂的数据转换。

data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data = sorted(data, key=lambda x: x['age'])

输出:

['alice', 'Bob', 'Charlie']

2.map()

map() 将函数应用于可迭代对象中的所有项目,从而促进函数式编程范式。它对于在没有显式循环的情况下转换数据很有用,这在数据处理管道、系统管理中的自动化脚本和 Web 开发中的后端数据处理中非常有用。

描述

将给定函数应用于可迭代对象中的所有项,并返回 map 对象。

用法

def square(x):
    return x * x

squares = map(square, [1, 2, 3, 4, 5])

实际应用

  • 数据转换:将转换应用于数据科学中的数据集。
  • 并行处理:在 Web 服务器中同时处理多个数据点。
  • Automation Scripts:转换系统参数或配置的列表。

常见陷阱和列表推导式比较的示例

numbers = [1, 2, 3, 4, 5]

# Using map()
squared_map = list(map(lambda x: x**2, numbers))
print(squared_map)  # [1, 4, 9, 16, 25]

# Using list comprehension (more Pythonic)
squared_list = [x**2 for x in numbers]
print(squared_list)  # [1, 4, 9, 16, 25]

# Pitfall: Forgetting to convert map object to list in Python 3

性能考虑

由于开销较低,map() 可能比简单函数的列表推导式稍快。

基准:

import time

numbers = list(range(1000000))

# Using map()
start = time.time()
squared_map = list(map(lambda x: x**2, numbers))
end = time.time()
print(f"map() time: {end - start} seconds")

# Using list comprehension
start = time.time()
squared_list = [x**2 for x in numbers]
end = time.time()
print(f"List comprehension time: {end - start} seconds")

最佳实践

除非性能至关重要,否则请使用列表推导式来提高可读性。

squared = [x**2 for x in numbers]

高级用例

map() 与多个可迭代对象结合使用以进行复杂转换。

numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
result = list(map(lambda x, y: x + y, numbers1, numbers2))
print(result)  # [5, 7, 9]

输出:

[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25]

3.filter()

filter() 允许对数据进行选择性处理,使您能够提取满足特定条件的元素,而无需编写显式循环。这在数据清理、数据科学中的条件数据处理以及系统管理中的筛选系统日志中特别有用。

描述

从函数返回 true 的可迭代对象的元素构造迭代器。

用法

def is_even(x):
    return x % 2 == 0

evens = filter(is_even, [1, 2, 3, 4, 5])

实际应用

  • 数据清理:删除数据集中不需要或无效的数据点。
  • 条件处理:仅处理后端服务中满足特定条件的数据。
  • 系统日志:过滤相关日志条目以进行监控和警报。

常见陷阱和列表推导式比较的示例

numbers = range(1, 11)

# Using filter()
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # [2, 4, 6, 8, 10]

# Using list comprehension (more Pythonic)
even_list = [x for x in numbers if x % 2 == 0]
print(even_list)  # [2, 4, 6, 8, 10]

# Pitfall: Forgetting to convert filter object to list in Python 3

性能考虑

filter() 对于大型数据集来说,内存效率更高,因为它返回一个迭代器,允许惰性计算。

import time

numbers = list(range(1000000))

# Using filter()
start = time.time()
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
end = time.time()
print(f"filter() time: {end - start} seconds")

# Using list comprehension
start = time.time()
even_list = [x for x in numbers if x % 2 == 0]
end = time.time()
print(f"List comprehension time: {end - start} seconds")

最佳实践

在处理大型数据集时选择 filter() 并且内存效率是一个问题;否则,为了可读性,首选列表推导式。

even_numbers = [x for x in numbers if x % 2 == 0]

高级用例

filter() 与复杂条件一起使用,以便在数据科学中进行高级数据筛选。

data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 35}]
adults = list(filter(lambda x: x['age'] >= 30, data))
print(adults)  # [{'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]

输出:

[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10]

4.zip()

zip() 对于聚合来自多个可迭代对象的数据、实现并行迭代和数据配对非常有价值。这对于数据科学中的数据合并任务、在 Web 开发中同步多个数据流以及在系统管理中关联日志至关重要。

描述

将多个可迭代对象(如列表或元组)中的元素聚合到元组中。

用法

zipped = zip([1, 2], ['a', 'b'])

实际应用

  • 数据配对:在数据分析中组合来自不同来源的相关数据。
  • Parallel Iteration:在后端服务中同时迭代多个序列。
  • 配置映射:将配置键与其在系统脚本中的值链接。

常见陷阱示例

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30]
combined = list(zip(names, ages))
print(combined)  # [('Alice', 25), ('Bob', 30)]

# Extra elements in the longer iterable are ignored

性能考虑

zip() 是内存高效的,因为它在 Python 3 中返回一个迭代器,适用于大型数据集。

基准:

import time

list1 = list(range(1000000))
list2 = list(range(1000000))

start = time.time()
zipped = list(zip(list1, list2))
end = time.time()
print(f"zip() on large lists: Time: {end - start} seconds")

最佳实践

如果需要在不丢失数据的情况下处理长度不等的可迭代对象,请使用 itertools.zip_longest

from itertools import zip_longest

combined = list(zip_longest(names, ages, fillvalue=None))

交叉引用相关函数

zip() 通常与 map() 或 list 推导式配对以进行组合数据处理。

names = ['Alice', 'Bob', 'Charlie']
scores = [85, 90, 95]
average = list(map(lambda x, y: (x, y, (x + y)/2), names, scores))
print(average)

高级用例

合并多个数据流并在实时 Web 应用程序中执行同步操作。

timestamps = ['10:00', '10:01', '10:02']
sensor1 = [23, 24, 22]
sensor2 = [30, 31, 29]

combined = list(zip(timestamps, sensor1, sensor2))
for time, s1, s2 in combined:
    print(f"{time}: Sensor1={s1}, Sensor2={s2}")

输出:

[('Alice', 25), ('Bob', 30)]

5.enumerate()

enumerate() 提供了一种在迭代期间访问索引和值的便捷方法,这在跨各个领域的循环中特别有用,例如数据处理、用于跟踪用户输入的 Web 开发以及用于管理有序列表的系统管理。

描述

向可迭代对象添加计数器并将其作为枚举对象返回。

用法

for index, value in enumerate(['a', 'b', 'c']):
    print(index, value)

实际应用

  • 索引跟踪:跟踪循环中的元素位置以进行数据分析。
  • 增强的可读性:通过避免在 Web 表单中手动管理索引来简化代码。
  • 数据标签:为报表中的数据条目分配顺序标识符。

常见陷阱示例

languages = ['Python', 'Java', 'C++']
for idx, lang in enumerate(languages, start=1):
    print(f"{idx}: {lang}")

# Without specifying start, enumeration starts at 0

性能考虑

enumerate() 效率很高,与手动递增计数器相比,增加的开销最小。

基准:

import time

languages = ['Python', 'Java', 'C++'] * 1000000
start = time.time()
for idx, lang in enumerate(languages):
    pass
end = time.time()
print(f"enumerate() on large list: Time: {end - start} seconds")

最佳实践

使用 start 参数可控制起始索引,从而提高可读性。

for idx, lang in enumerate(languages, start=1):
    print(f"{idx}: {lang}")

交叉引用相关函数

enumerate()zip() 和列表推导式配合得很好,用于复杂的数据操作。

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
combined = [(idx, name, age) for idx, (name, age) in enumerate(zip(names, ages), start=1)]
print(combined)

高级用例

在数据管道中使用 enumerate() 来分配唯一标识符或跟踪数据科学工作流中的处理步骤。

data = ['record1', 'record2', 'record3']
for idx, record in enumerate(data, start=100):
    process(record, id=idx)

输出:

1: Python
2: Java
3: C++

16.any()和all()

any()all() 提供了评估多个条件的快速方法,从而提高了条件语句中的代码可读性和效率。这些功能在数据验证、Web 开发中的条件逻辑和系统管理中的安全检查中非常有价值。

描述

  • any():如果可迭代对象中的任何元素为 true,则返回 True
  • all():仅当所有元素都为 true 时,才返回 True

用法

result_any = any([False, True, False])
result_all = all([True, True, True])

实际应用

  • 验证:检查数据输入中是否满足任何或所有条件。
  • 逻辑操作:简化后端逻辑中的复杂条件语句。
  • 安全检查:在授予访问权限之前,请确保满足所有安全标准。

常见陷阱示例

values = [0, 1, 2, 3]
print(any(values))  # True, since there are non-zero values
print(all(values))  # False, since 0 is considered False

# Pitfall: Misunderstanding truthiness of different data types

性能考虑

两个功能短路:

  • any():在第一个 True 处停止。
  • all():在第一个 False 处停止。这使得它们对于大型数据集非常有效。

基准:

import time

large_list = [False] * 999999 + [True]
start = time.time()
result_any = any(large_list)
end = time.time()
print(f"any() on large list: {result_any}, Time: {end - start} seconds")

large_all = [True] * 999999 + [False]
start = time.time()
result_all = all(large_all)
end = time.time()
print(f"all() on large list: {result_all}, Time: {end - start} seconds")

最佳实践

使用 any()all() 进行清晰简洁的条件评估。

# Check if any user is active
if any(user.is_active for user in users):
    print("There are active users.")

# Check if all tasks are completed
if all(task.is_completed for task in tasks):
    print("All tasks are completed.")

交叉引用相关函数

any()all() 与列表推导式和生成器表达式相结合,以实现高效的数据处理。

data = [user.age for user in users]
if any(age > 50 for age in data):
    print("There are users older than 50.")

高级用例

在配置验证中使用 all() 以确保在启动服务之前正确设置所有必需的设置。

required_settings = ['DATABASE_URL', 'API_KEY', 'SECRET_KEY']
if all(setting in os.environ for setting in required_settings):
    initialize_service()
else:
    raise EnvironmentError("Missing required environment variables.")

输出:

True
False

7.abs()

计算绝对值是许多数学计算的基本要求,这使得 abs() 成为科学研究、金融建模和数据分析中经常使用的函数。

描述

返回数字的绝对值。

用法

absolute = abs(-5)

实际应用

  • 数学:计算算法中的距离或差异。
  • 数据分析:处理统计数据中的偏差和差异。
  • 金融应用程序:计算损益幅度。

常见陷阱示例

print(abs(-10))   # 10
print(abs(3.14))  # 3.14

# abs() can also be used with complex numbers, returning the magnitude
print(abs(3 + 4j))  # 5.0

性能考虑

abs() 在 O(1) 时间复杂度下非常高效。

基准:

import time

start = time.time()
for i in range(1000000):
    a = abs(-i)
end = time.time()
print(f"abs() on large range: Time: {end - start} seconds")

最佳实践

当你需要非负值时,尤其是在数学上下文中,请使用 abs()。

distance = abs(point1 - point2)

交叉引用相关函数

abs()sum()max() 等数学函数相结合,以进行高级数据处理。

differences = [abs(a - b) for a, b in zip(list1, list2)]
total_difference = sum(differences)

高级用例

计算机器学习算法在多维空间中的欧几里得距离。

import math

def euclidean_distance(point1, point2):
    return math.sqrt(sum(abs(a - b)**2 for a, b in zip(point1, point2)))

distance = euclidean_distance([1, 2], [4, 6])
print(distance)  # 5.0

输出:

10
3.14
5.0

8.isinstance()

类型检查对于确保函数接收正确的数据类型、防止运行时错误和增强代码可靠性至关重要。这在系统管理中的数据验证、API 开发和动态脚本编写中尤为重要。

描述

检查对象是指定类的实例还是类的元组。

用法

pythis_str = isinstance("Hello", str)

实际应用

  • 输入验证:确保函数参数在 API 中是预期类型。
  • 条件逻辑:在数据处理中根据对象类型执行代码块。
  • 动态脚本:在自动化脚本中适当处理不同的数据类型。

常见陷阱示例

num = 10
if isinstance(num, int):
    print("num is an integer.")
else:
    print("num is not an integer.")

# Pitfall: Using type() instead of isinstance() can lead to less flexible code

性能考虑

isinstance() 已优化,产生的开销最小。

import time

start = time.time()
for i in range(1000000):
    isinstance(i, int)
end = time.time()
print(f"isinstance() on large range: Time: {end - start} seconds")

最佳实践

使用 isinstance() 进行类型检查,尤其是在处理继承时。

if isinstance(obj, (int, float)):
    print("obj is a number.")

交叉引用相关函数

在条件语句中将 isinstance()type()isinstance() 等函数结合使用,以确保健壮的类型处理。

def process(data):
    if isinstance(data, list):
        return [x * 2 for x in data]
    elif isinstance(data, dict):
        return {k: v * 2 for k, v in data.items()}
    else:
        raise TypeError("Unsupported data type.")

高级用例

通过检查子类的实例,在面向对象的编程中实现多态行为。

class Animal:
    pass

class Dog(Animal):
    pass

class Cat(Animal):
    pass

def speak(animal):
    if isinstance(animal, Dog):
        print("Woof!")
    elif isinstance(animal, Cat):
        print("Meow!")
    else:
        print("Unknown animal sound.")

dog = Dog()
cat = Cat()
speak(dog)  # Woof!
speak(cat)  # Meow!

输出:

num is an integer.

9.dict()

字典是 Python 中用于存储键值对的基本数据结构。dict() 对于有效地创建和操作字典至关重要,这对于 Web 开发中的数据映射、配置管理和后端数据处理至关重要。

描述

创建新词典。

用法

my_dict = dict(name="Alice", age=30)

实际应用

  • 数据存储:在数据分析中使用键存储和检索数据。
  • 配置:管理 Web 应用程序中的设置和参数。
  • 数据映射:将标识符映射到后端服务中的数据点。

常见陷阱示例

# Using dict with a list of tuples
pairs = [('name', 'Bob'), ('age', 25)]
my_dict = dict(pairs)
print(my_dict)  # {'name': 'Bob', 'age': 25}

# Pitfall: Keys must be immutable types
# dict([(['a'], 1)])  # Raises TypeError

性能考虑

字典操作具有平均 O(1) 时间复杂度,使其对于查找非常有效。

基准:

import time

large_dict = {i: i*2 for i in range(1000000)}
start = time.time()
value = large_dict.get(999999)
end = time.time()
print(f"dict.get() on large dict: Value: {value}, Time: {end - start} seconds")

最佳实践

确保键是唯一且不可变的类型(如字符串、数字或元组)。

user = dict(id=1, username="user1")

交叉引用相关函数

dict()zip()、map() 或列表推导式一起使用,以实现高效的数据转换和映射。

keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']
user_dict = dict(zip(keys, values))
print(user_dict)

高级用例

为数据科学或配置管理中的复杂数据结构创建嵌套字典

config = dict(
    database=dict(host="localhost", port=3306),
    api=dict(key="123abc", timeout=30)
)
print(config)

输出:

{'name': 'Bob', 'age': 25}

10.list()

为什么是 Must Master

列表是 Python 中最通用的数据结构之一。list() 对于从其他可迭代对象创建列表至关重要,从而实现灵活的数据操作。这在数据科学中用于管理数据集,在 Web 开发中用于处理项目集合,在系统管理中用于处理文件或配置列表。

描述

创建新列表。

用法

my_list = list((1, 2, 3))

实际应用

  • 数据收集:收集和管理数据分析中的项目序列。
  • 迭代:在后端脚本中轻松遍历和修改集合。
  • 配置处理:管理自动化脚本中的配置或设置列表。

常见陷阱示例

# Converting a string to a list of characters
chars = list("hello")
print(chars)  # ['h', 'e', 'l', 'l', 'o']

# Pitfall: Using list() on non-iterable types raises TypeError
# list(10)  # Raises TypeError

性能考虑

list() 对于转换可迭代对象很有效,但对于大型数据集可能会消耗更多内存。

基准:

import time

tuples = tuple(range(1000000))
start = time.time()
lst = list(tuples)
end = time.time()
print(f"list() conversion: Time: {end - start} seconds")

最佳实践

使用列表推导式创建列表时可读性更强,通常速度更快。

squares = [x**2 for x in range(10)]

交叉引用相关函数

list()map()、filter()zip() 结合使用,以实现全面的数据转换。

keys = ['name', 'age', 'city']
values = ['Alice', 30, 'New York']
user_dict = dict(zip(keys, values))
user_list = list(user_dict.items())
print(user_list)

高级用例

为数据科学中的多维数据处理创建复杂的嵌套列表。

matrix = list(list(range(5)) for _ in range(5))
print(matrix)

输出:

['h', 'e', 'l', 'l', 'o']

11.open()

文件操作是数据存储、配置和处理的基础。open() 对于以各种模式读取和写入文件至关重要,这在处理数据集的数据科学、管理静态文件的 Web 开发以及日志记录和配置的系统管理中至关重要。

描述

打开一个文件并返回相应的文件对象。

用法

with open('example.txt', 'r') as file:
    content = file.read()

实际应用

  • 数据持久性:保存和加载数据科学项目中的文件中的数据。
  • 配置管理:在 Web 应用程序中读取和写入配置文件。
  • 日志记录:在系统管理脚本中管理日志文件。

常见陷阱示例

# Properly handling file closure using 'with' statement
with open('data.txt', 'w') as file:
    file.write("Hello, World!")

# Pitfall: Forgetting to close the file, leading to resource leaks
file = open('data.txt', 'w')
file.write("Hello")
# file.close()  # Necessary to free resources

性能考虑

文件操作可能受 I/O 限制,并可能成为大文件的瓶颈。使用缓冲和高效的读/写方法进行优化。

基准:

import time

# Writing to a large file
start = time.time()
with open('large_file.txt', 'w') as file:
    for i in range(1000000):
        file.write(f"Line {i}\n")
end = time.time()
print(f"Writing large file: Time: {end - start} seconds")

# Reading from a large file
start = time.time()
with open('large_file.txt', 'r') as file:
    lines = file.readlines()
end = time.time()
print(f"Reading large file: Time: {end - start} seconds")

最佳实践

使用 with 语句确保正确关闭文件,即使发生错误也是如此。

with open('data.csv', 'r') as file:
    for line in file:
        process(line)

交叉引用相关函数

open()read()、write()、readline()readlines() 等函数结合使用,以实现全面的文件处理。

with open('data.txt', 'r') as file:
    for line in file:
        print(line.strip())

高级用例

为自定义文件处理操作实施上下文管理器,或与数据科学中的数据处理库集成。

from contextlib import contextmanager

@contextmanager
def managed_file(name):
    try:
        f = open(name, 'w')
        yield f
    finally:
        f.close()

with managed_file('custom.txt') as f:
    f.write('Custom managed file content.')

输出:

# Creates or overwrites 'data.txt' with "Hello, World!"

12.dir()

dir() 对于内省非常有价值,它允许开发人员发现对象的属性和方法,这有助于调试和学习。这在数据科学中特别有用,用于探索数据结构,在 Web 开发中用于了解框架组件,在系统管理中用于检查系统对象。

描述

返回对象的有效属性列表。

用法

attributes = dir([])
print(attributes)

实际应用

  • 内省:探索数据分析中对象的可用方法和属性。
  • 调试:在后端开发期间确定可用的功能。
  • 学习:了解自动化脚本中系统对象的功能。

常见陷阱示例

# Discovering methods of a list
print(dir(list))

# Pitfall: Overusing dir() can lead to cluttered outputs; it's best used selectively

性能考虑

dir() 对于小对象来说速度很快,但可以为复杂对象生成大输出,这可能会使控制台变得混乱。

基准:

import time

class LargeClass:
    def __init__(self):
        for i in range(1000):
            setattr(self, f'attr_{i}', i)

obj = LargeClass()
start = time.time()
attributes = dir(obj)
end = time.time()
print(f"dir() on large object: Time: {end - start} seconds, Attributes count: {len(attributes)}")

最佳实践

选择性地使用 dir() 并考虑过滤输出以获得更好的可读性。

methods = [attr for attr in dir(list) if not attr.startswith('__')]
print(methods)

交叉引用相关函数

dir()getattr()hasattr() 结合使用以进行动态属性处理。

for attr in dir(list):
    if hasattr(list, attr):
        print(f"{attr}: {getattr(list, attr)}")

高级用例

在元编程中使用 dir() 来动态检查和修改高级 Web 框架或数据处理库中的类或对象。

class Dynamic:
    def __init__(self):
        self.value = 10

obj = Dynamic()
print(dir(obj))  # ['__class__', '__delattr__', '__dict__', '__dir__', ... 'value']

输出:

['__add__', '__class__', '__contains__', '__delattr__', ..., 'sort']

13.help()

help() 提供对 Python 内置文档的访问,从而在不离开编码环境的情况下更轻松地理解函数、类和模块。这对于跨所有领域的快速学习、调试和高效开发至关重要。

描述

调用内置帮助系统。

用法

help(print)

实际应用

  • 学习:在数据分析中快速访问 Python 对象的文档。
  • 调试:了解 Web 开发中的函数签名和预期参数。
  • 开发:在编写系统管理脚本时参考模块文档。

常见陷阱示例

# Getting help on a function
help(len)

# Pitfall: Using help() in production code can clutter the output; it's best used during development

性能考虑

help() 即时检索文档,这很快,但可能会因大量输出而让人不知所措。

基准:不适用,因为 help() 是交互式使用的。

最佳实践

在开发过程中以交互方式使用 help(),并删除或注释掉生产代码中的任何 help 调用。

# Development phase
help(math.sqrt)

# Production phase
# Remove or avoid help() calls

交叉引用相关函数

help()dir() 一起使用,以进行全面的内省和文档。

print(dir(list))
help(list.append)

高级用例

help() 集成到自定义脚本中,为用户定义的函数或类提供动态文档。

def my_function(param1, param2):
    """
    Performs a custom operation.
    
    Parameters:
    param1 (int): The first parameter.
    param2 (str): The second parameter.
    """
    pass

help(my_function)

输出:

Help on built-in function len in module builtins:

len(obj, /)
    Return the number of items in a container.

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: