Python基础—16 个基础操作教程

Python 3 | 菜鸟教程 (一) 目录 一、Python3 简介 二、Python 发展历史 三、Python 特点 (一)易于学习 (二)易于阅读 (三)易于维护 (四)一个广泛的标准库 (五)互动模式 (六)可移植 (七)可扩展 (八)数据库 (九)GUI编程 (十)可嵌入 四、Python 应用 五、 Python3 环境搭建 六、Python3 下载 七、Python 安装 (一)下载地址 (二)Unix & Linux 平台安装 Python3: (三)Window 平台安装 Pyt 阅读详情

介绍

本文中将分享一些 Python 使用技巧,这些技巧非常有用。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。

1.三元运算符
Python中的三元运算符(也称为条件表达式)是一种简洁的编写条件语句的方式,它允许在一行代码中完成简单的if-else逻辑。三元运算符的基本语法如下:

result = value_if_true if condition else value_if_false

这里,condition 是要测试的条件,value_if_true 是当条件为真时返回的值,而 value_if_false 是当条件为假时返回的值。

下面是一个使用三元运算符的代码演示:

# 假设我们有一个分数
score = 85

# 使用三元运算符判断分数等级
grade = 'A' if score >= 90 else 'B' if score >= 80 else 'C'

# 注意:上面的三元运算符实际上是嵌套的,为了清晰起见,也可以写成多行
# 但Python的三元运算符不支持直接的多行写法,这里只是为了说明逻辑
# 实际上,更复杂的逻辑应该使用if-elif-else语句

# 另一种更清晰的方式是使用if-elif-else语句
# grade = 'A'
# if score < 90:
#     grade = 'B' if score >= 80 else 'C'
# 但为了演示三元运算符,我们保持上面的写法

print(grade)  # 输出: B

然而,需要注意的是,虽然上面的代码示例展示了如何使用嵌套的三元运算符来模拟更复杂的逻辑,但这种方式并不推荐用于非常复杂的条件判断,因为它可能会降低代码的可读性。对于更复杂的逻辑,应该使用if-elif-else语句。

2.枚举函数
在编程中,“枚举函数” 这个术语可能不是直接的标准术语,因为它不像某些内置函数(如 Python 中的 enumerate())那样有一个明确定义的功能。不过,我们可以从几个角度来理解这个概念:

  1. 枚举(Enumeration): 在许多编程语言中,枚举是一种特殊的数据类型,它允许程序员为整数指定一个更易于理解的名字。这通常用于表示一组固定的常量,如星期、月份、颜色等。虽然枚举本身不是一个函数,但你可以使用枚举类型与函数结合来创建更清晰的代码。

  2. 枚举函数(类似 enumerate()): 在Python中,enumerate() 函数是一个内置函数,它用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,通常用在 for 循环当中。这可以被视为一种“枚举函数”,因为它在遍历过程中为每个元素提供了一个索引。

    示例:

    seasons = ['Spring', 'Summer', 'Autumn', 'Winter']
    for index, name in enumerate(seasons):
        print(f"{index}: {name}")
    
  3. 自定义枚举函数: 如果你想模拟枚举类型或枚举行为,但你的编程语言不支持内置的枚举类型,你可以通过定义函数和类来实现类似的功能。例如,在Python中,虽然没有内置的枚举类型直到Python 3.4(引入了 Enum 类),但在此之前,你可以通过定义类和使用静态变量来模拟枚举。

    示例(使用Python的 Enum 类):

    from enum import Enum
    
    class Color(Enum):
        RED = 1
        GREEN = 2
        BLUE = 3
    
    def get_color_name(color_value):
        for name, value in Color.__members__.items():
            if value == color_value:
                return name
        return None
    
    print(get_color_name(Color.RED))  # 输出: RED
    

在这个上下文中,get_color_name() 函数可以被视为一种“枚举函数”,因为它根据枚举值返回对应的枚举名称。然而,请注意,它实际上是在操作枚举类(Color)的静态成员,而不是传统意义上的枚举函数。

总之,“枚举函数” 这个概念可能因上下文而异,但通常它指的是与枚举类型或枚举行为相关的函数,这些函数可以帮助你在程序中更清晰地表示和操作一组固定的常量。

3. 压缩函数
在Python中,没有直接命名为“压缩函数”的内置函数,但我们可以根据需求实现数据的压缩功能。这通常意味着将一组数据转换为更紧凑或更高效的格式。Python中常见的压缩操作包括使用压缩库(如zlib、gzip或bz2)来压缩文件或数据流,以及使用更高级的编码技术(如pickle、json的压缩选项等)来序列化数据。

下面,我将展示几个不同场景下的“压缩”操作示例:

1. 使用zlib库压缩字符串

zlib是Python的一个标准库,用于数据的压缩和解压。以下是如何使用zlib来压缩和解压字符串的示例:

import zlib

# 要压缩的字符串
original_data = b'This is the data to compress.'

# 压缩数据
compressed_data = zlib.compress(original_data)

# 解压数据
decompressed_data = zlib.decompress(compressed_data)

print("Original:", original_data)
print("Compressed:", compressed_data)
print("Decompressed:", decompressed_data)

注意:zlib.compress() 和 zlib.decompress() 函数处理的数据类型是字节串(bytes),而不是字符串(str)。

2. 使用gzip库压缩文件

gzip模块提供了对GZIP格式文件的支持,允许你读写GZIP格式的文件。以下是如何使用gzip来压缩和解压文件的示例:

import gzip

# 压缩文件
with open('example.txt', 'rb') as f_in:
    with gzip.open('example.txt.gz', 'wb') as f_out:
        f_out.writelines(f_in)

# 解压文件
with gzip.open('example.txt.gz', 'rb') as f_in:
    with open('example_decompressed.txt', 'wb') as f_out:
        f_out.writelines(f_in)

3. 使用pickle序列化并压缩对象

pickle模块用于Python对象的序列化和反序列化。虽然它本身不直接提供压缩功能,但可以通过与gzip等模块结合使用来压缩序列化后的数据。

import pickle
import gzip

# 假设我们有一个要序列化的对象
data = {'a': [1, 2.0, 3, 4+6j],
        'b': ("character string", b"byte string"),
        'c': None}

# 序列化并压缩对象
with gzip.open('data.pkl.gz', 'wb') as f:
    pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)

# 反序列化并解压对象
with gzip.open('data.pkl.gz', 'rb') as f:
    data_loaded = pickle.load(f)

print(data_loaded)

在这些示例中,我们看到了如何在Python中执行不同类型的“压缩”操作。根据你的具体需求(如文件压缩、数据流压缩或对象序列化),你可以选择最适合你的方法。

4. 列表生成式

列表生成式是一种从现有列表或任何可迭代对象创建列表的简洁方法。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强。


squared_numbers = [x**2 for x in range(1, 6)]

print(squared_numbers)
# [1, 4, 9, 16, 25]

5. 匿名函数

Lambda 函数是使用lambda关键字定义的匿名函数。当你需要编写一次性的小函数并且不想使用关键字def来定义命名函数时,它们很有用。

add = lambda x, y: x + y 

result = add(3, 4)

print(result)
# 7

6.any()和all()函数

any()函数和all()函数返回True或False基于 iterable 中元素的真实性。如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True。

numbers = [1, 2, 3, 0, 4] 
result = any(numbers) # True 
result = all(numbers) # False。0使结果为False

7. 迭代模块

itertools模块提供了一组函数来处理迭代器。该模块中的函数包括chain、product和permutations。

import itertools 
numbers = [1, 2, 3] 
result = list(itertools.permutations(numbers)) 


# 输出所有排列组合 
# [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

8. 生成器

生成器是一种可迭代的类型,它可以即时生成值,而不是将它们存储在内存中。它是使用yield关键字定义的,用于创建自定义迭代器。


# 使用yield关键字创建生成器 
def fibonacci_series(n):
    a, b = 0, 1
    for i in range(n):
        yield a
        a, b = b, a + b

# 输出迭代器中的值 
for number in fibonacci_series(10):
    print(number)

# 0
# 1
# 1
# 2
# 3
# 5
# 8
# 13
# 21
# 34

9.装饰器

装饰器是一种修改函数或类行为的方法。使用@符号进行定义,可用于向函数添加功能,例如日志记录、计时或身份验证。


def log_function(func):
    def wrapper(*args, **kwargs):
        print(f'Running {func.__name__}')
        result = func(*args, **kwargs)
        print(f'{func.__name__} returned {result}')
        return result
    return wrapper

@log_function
def add(x, y):
    return x + y


print(add(5,7))

# 运行add函数,返回值为12

10. 使用多个函数参数

在 Python 中,可以使用*和**运算符来处理多个函数参数。*运算符用于将参数列表作为单独的位置参数进行传递,运算符**用于传递关键字参数的字典。

def print_arguments(*args, **kwargs):
    print(args)
    print(kwargs)

print_arguments(1, 2, 3, name='John', age=30)

# (1, 2, 3)
# {'name': 'John', 'age': 30}

11. 动态导入

当你想根据用户输入或配置导入模块时,可以使用模块动态导入模块importlib。


import importlib

module_name = 'math'
module = importlib.import_module(module_name)
result = module.sqrt(9)

12. 字典生成式

字典生成式是一种从现有字典或任何可迭代对象创建字典的简洁方法。它是一种可以替代 for 循环的单行代码,使你的代码更加高效,代码可读性更强。


squared_numbers = {x: x**2 for x in range(1, 6)}
print(squared_numbers)

# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

13. 可调用对象

在 Python 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象。

class Adder:
    def __call__(self, x, y):
        return x + y

adder = Adder()
result = adder(3, 4)

print(result)
#7

14.用下划线分隔大数字/字符

大数字很难一眼看出来是多大,在 Python 中可以用下划线来使数字更易读。


num_test = 100_345_405 # 一个大数字

print(num_test)
# 100345405

15.快速合并两个字典

在Python中,如果你想要合并两个字典,即将一个字典的键值对添加到另一个字典中,有几种快速的方法可以做到这一点。下面是一些常见的合并字典的代码演示:

方法1:使用update()方法

update()方法会用一个字典的项更新另一个字典,将给定字典(dict2)的键-值对添加到当前字典(dict1)中。如果dict2中的键在dict1中也存在,则dict1中对应键的值会被dict2中的值替换。

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

dict1.update(dict2)

print(dict1)  # 输出: {'a': 1, 'b': 3, 'c': 4}

注意,如果dict2中的键在dict1中已存在(如这里的'b'键),则dict1中该键的值会被dict2中的值覆盖。

方法2:使用{**dict1, **dict2}(Python 3.5+)

从Python 3.5开始,你可以使用字典解包(unpacking)的语法来合并两个字典。这种方法不会修改任何原始字典,而是创建一个新的字典。

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

merged_dict = {**dict1, **dict2}

print(merged_dict)  # 输出: {'a': 1, 'b': 3, 'c': 4}
# 注意:与update()不同,这里'b'的值来自dict2

同样地,如果两个字典中有相同的键,则后一个字典(这里是dict2)中的值会覆盖前一个字典(dict1)中的值。

方法3:使用collections.ChainMap(不推荐用于合并)

虽然collections.ChainMap可以用来创建一个看似合并了多个字典的视图,但它实际上并没有创建一个新的字典或修改原始字典。它只是提供了一种方便的方式来按顺序查找键值对。因此,它可能不适用于需要真正合并字典的场景。但在这里提一下以供参考。

from collections import ChainMap

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

merged = ChainMap(dict1, dict2)

# 注意:这不是一个真正的合并后的字典,而是一个视图
# 当你访问一个键时,它会按顺序查找第一个匹配的项
print(merged['b'])  # 输出: 3,来自dict2

# 如果你想转换成真正的字典,可以使用dict()
real_merged = dict(merged)
print(real_merged)  # 输出: {'a': 1, 'b': 3, 'c': 4}

对于大多数需要合并字典的场景,推荐使用{**dict1, **dict2}或dict1.update(dict2)(如果你不介意修改原始字典)。

16. 列表、集合和字典是可变的
在Python中,列表(list)、集合(set)和字典(dict)都是可变的(mutable)数据结构,这意味着你可以在创建它们之后修改它们。下面是这些数据结构可变性的代码演示:

列表(List)

列表是可变的,你可以添加、删除或修改元素。

# 创建一个列表
my_list = [1, 2, 3]

# 修改列表中的元素
my_list[1] = 'a'  # 将索引为1的元素从2修改为'a'
print(my_list)  # 输出: [1, 'a', 3]

# 在列表末尾添加元素
my_list.append(4)
print(my_list)  # 输出: [1, 'a', 3, 4]

# 在列表开头添加元素
my_list.insert(0, 0)
print(my_list)  # 输出: [0, 1, 'a', 3, 4]

# 删除列表中的元素
my_list.remove('a')  # 删除列表中第一个出现的'a'
print(my_list)  # 输出: [0, 1, 3, 4]

# 通过索引删除元素
del my_list[0]
print(my_list)  # 输出: [1, 3, 4]

集合(Set)

集合也是可变的,你可以添加或删除元素,但集合中的元素是无序且唯一的。

# 创建一个集合
my_set = {1, 2, 3}

# 向集合中添加元素
my_set.add(4)
print(my_set)  # 输出可能是: {1, 2, 3, 4}(集合是无序的)

# 从集合中删除元素
my_set.remove(2)
print(my_set)  # 输出可能是: {1, 3, 4}

# 也可以使用discard方法删除元素,如果元素不存在则不会抛出错误
my_set.discard(5)  # 尝试删除不存在的元素5,不会有任何影响
print(my_set)  # 输出仍然可能是: {1, 3, 4}

# 清空集合
my_set.clear()
print(my_set)  # 输出: set()

字典(Dict)

字典是可变的,你可以添加、删除或修改键值对。

# 创建一个字典
my_dict = {'name': 'John', 'age': 30}

# 修改字典中的键值对
my_dict['age'] = 31
print(my_dict)  # 输出: {'name': 'John', 'age': 31}

# 向字典中添加新的键值对
my_dict['city'] = 'New York'
print(my_dict)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York'}

# 删除字典中的键值对
del my_dict['age']
print(my_dict)  # 输出: {'name': 'John', 'city': 'New York'}

# 也可以使用pop方法删除键值对,并返回该键对应的值
age = my_dict.pop('city')
print(age)  # 输出: New York
print(my_dict)  # 输出: {'name': 'John'}

# 清空字典
my_dict.clear()
print(my_dict)  # 输出: {}
python-个人笔记 入门python运行 阅读详情

相关推荐

Python3 实例(二) | 菜鸟教程(二十)

例如:对调前 : [1, 2, 3]对调后 : [3, 2, 1]例如,对调第一个和第三个元素:对调前 : List = [23, 65, 19, 90], pos1 = 1, pos2 = 3对调后 : [19, 65, 23, 90]例如:翻转前 : list = [10, 11, 12, 13, 14, 15]翻转后 : [15, 14, 13, 12, 11, 10]以上实例输出结果为:查看 4 是否在列表中 ( 使用循环 ) :存在。

wuds_158的博客 4313

【2024】Python入门,详细基础教程,零基础入门,详细图文

Python入门基础介绍

weixin_42399800的博客 17万+

ubantu16.04下源码编译安装tensorflow

Ubuntu16.04源码编译安装CPU版本的tensorflow 安装说明:本教程针对tensorflow源码编译安装cpu版本,参考于tensorflow官网 安装环境说明: os:Ubuntu 16.04 arch:x86_64 tensorflow的一些知识可以访问官网 1.打开terminal,输入: $ git clone https://github.com/tenso

qq_34936408的博客 740

Python菜鸟教程

Python菜鸟教程

zy0412326的专栏 4103

Python程序设计教程(第2版)实战指南:零基础如何高效学习

编程语言的学习往往卡在理论到实践的鸿沟上。Python 作为最易上手的程序设计语言,语法简洁、生态丰富,但如何系统性掌握并用于实际项目,仍是零基础学习者的痛点。不同于碎片化网课,一本体系化的教材能帮助构建完整知识框架。杨年华《Python程序设计教程(第2版)》以“语法+案例+排错”为主线,覆盖异常处理、文件操作、面向对象等工程必备技能,非常适合课程设计、自动化脚本等场景。本文从教材使用角度出发,拆解章节逻辑与踩坑点,助你真正把一本书用出价值。

weixin_34088583的博客 513

思科模拟器PT8.2实战:用MQTT协议搭建智能家居控制原型(附完整代码)

本文详细介绍了如何在思科模拟器Packet Tracer 8.2中,利用MQTT协议构建一个智能家居灯光控制原型。从环境准备、拓扑设计到MQTT代理配置,手把手指导您完成发布者与订阅者的Python代码编写,实现开关对LED的远程控制。通过此实战项目,您将深入理解MQTT协议在物联网中的核心应用,掌握从理论到实践的完整开发流程。

weixin_29281941的博客 361

Python编程的16个Python基础操作的教程

这16个基础操作教程涵盖了Python编程的各个方面,从环境搭建到基本的语法、数据结构、函数、文件操作、异常处理以及面向对象编程。通过不断练习和深入学习,你将能够掌握Python编程,并应用于实际项目中。祝你学习愉快!

2401_85240630的博客 1280

差分信号_差分信号的原理及其在PCB的设计

差分线是 PCB 设计中非常重要的一部分信号线,信号处理要求也是相当严谨,今天为大家介绍下差分信号的原理以及其在 PCB 设计中的处理方法。 什么是差分信号 差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相等,相位相差 180 度,极性相反。在这两根线上传输的信号就是差分...

weixin_31849185的博客 1812

Python学习——16个Python基础操作教程!

分享一些Python使用技巧,这些技巧非常有用。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。

m0_75067840的博客 1063

RC模型车多电机驱动方案:从电调PWM原理到四电机安全连接实战

在电机控制领域,PWM(脉冲宽度调制)是实现精确调速的核心技术。其原理是通过调节固定周期内高电平的脉宽来编码控制指令,进而驱动电子调速器(电调)改变输出功率。这项技术对于需要多电机协同工作的场景,如RC模型车的差速转向或重型负载驱动,具有关键价值。它能实现动力的精细分配与同步,提升车辆的可控性与通过性。在实际应用中,为确保系统稳定,必须关注电流分配与信号同步问题。例如,通过为每个电机配备独立电调并采用信号并联(Y线)的方式,可以构建可靠的四电机驱动系统。这种方案能有效避免因单个电调过载或电机反电动势不一致导

weixin_30664615的博客 381

从CCD数据上报看wxHOOK的封号风险与规避

本文深入分析了微信CCD数据上报机制对wxHOOK的检测逻辑与封号风险,揭示了调试器路径暴露、非白名单DLL加载和内存校验失败等关键风险点。通过实战案例和规避方案,帮助开发者理解如何安全使用wxHOOK技术,避免封号风险,包括内存镜像欺骗、内核级隐蔽和硬件辅助方案等高级技巧。

weixin_27875131的博客 629

Python学习——16个Python基础操作教程

分享一些Python使用技巧,这些技巧非常有用。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。

m0_75067629的博客 677

Ubuntu20.04系统笔记本网卡AX211无法找到wifi问题

之前电脑的系统是18.04基本上安装好了系统,可以直接连上wifi,在买了拯救者y9000p2022版本之后,因为网卡太新,安装ubuntu18.04或者20.04之后会没有wifi连接,非常不方便。于是上网找了各种帖子去解决这个问题。具体实现有所不同。 主要参考了这个帖子来解决的:http://t.csdn.cn/7807R 首先: sudo apt install flex bison 然后: git clone https://github.com/intel/backpor.

weixin_42825962的博客 1万+

干货| 16 个 Python 基础操作教程

如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强。它是使用yield关键字定义的,用于创建自定义迭代器。在 Python 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象。在下面的示例中,通过添加一个新城市来更新城市列表,可以看到 ID(对象指针)保持不变,集合和字典也是如此。

biancheng_syz的博客 1123

手把手教你学SOME/IP「1.0•概述」

本文介绍了SOME/IP协议的基本概念和主要特点。SOME/IP全称为"Scalable service-Oriented MiddlewarE over IP",是一种面向服务的车载嵌入式通信协议,支持远程过程调用、事件通知等功能。文章指出SOME/IP是AUTOSAR标准的一部分,在车载以太网架构中处于应用层位置,负责服务调度和通信封装。协议具有可扩展性强、资源消耗低、兼容性好等优势,能满足汽车电子领域对实时性、可靠性的严格要求。同时,文章也说明了SOME/IP的正确书写规范,并解释

nihaoljq2010的博客 679

基于YOLOv5与改进遗传算法的动态路径规划方法研究

摘要 本文提出一种融合YOLOv5目标检测与改进遗传算法的动态路径规划方法。通过YOLOv5实时感知环境中的动态和静态障碍物,将语义信息转化为栅格地图。针对传统遗传算法在路径规划中易早熟收敛、局部搜索能力差等问题,提出自适应初始化种群策略、动态变异算子及精英保留机制等改进方案。仿真结果表明,该方法在动态环境中能规划出更安全、平滑且长度更优的路径,具有更强的环境适应性和鲁棒性。 关键词:路径规划;YOLOv5;遗传算法;动态环境;目标检测

huanghm88的专栏 939

干货| 16 个 Python 基础操作教程!

如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强。它是使用yield关键字定义的,用于创建自定义迭代器。在 Python 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象。在下面的示例中,通过添加一个新城市来更新城市列表,可以看到 ID(对象指针)保持不变,集合和字典也是如此。

2401_86731670的博客 369

logisim中,如何设计一个位于十字路口的交通信号灯控制系统?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1345

python时钟编程教程_编程入门16:Python时间操作

Python标准库包含有一个time模块用于基本的时间处理,其中的time()函数会读取系统时钟并返回float类型的Unix纪元“时间戳”(Timestamp),即当前时间距离国际标准时间1970年1月1日0点的秒数。另一个sleep()函数则会让程序“休眠”指定的秒数再继续执行:In [1]: import timeIn [2]: time.time() # 北京时间2018年8月15日21...

weixin_28725959的博客 997

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

快速学习Python基础知识详细图文教程16--文件 IO 操作

16、快速学习Python基础知识详细图文教程16--文件 IO 操作

测试开发 147

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python入门教程,Python从入门到精通教程分享!16连载中

黑马程序员全新的Python入门教程来袭,目前正在连载中,16天的学习,让你由浅入深,深入学习Python编程! 讲解方式: python编程进阶,在跨过入门阶段以后更进一步的学习,依旧是由浅入深,通俗易懂,层层深入。 课程亮点: 1,对于已经学习过python基础学科课程,或是想深入python编程的同学十分适合。 2,生动形象,浅显易懂,清晰明了。 3,针对python编程进一步所需要的知识...

qq_41293655的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

odoo16--接口controller编写小白教程--01

odoo接口controller编写--小白教程

weixin_43642232的博客 2262

如何在python上安装opencv_如何在Ubuntu 16.04上安装支持Python 3.x的OpenCV

申明: 本文翻译自PyImageSearch社区2016年的一篇关于OpenCV的安装教程“Ubuntu 16.04: How to install OpenCV”,可能存在翻译错误,只为自己备忘备查,读者请自行核对。以下内容译自原文。cover_image在过去运营PyImageSearch的两年里,我写了两个关于在Ubuntu上安装OpenCV的教程,详细记录了安装过程中的步骤。你可以点击下方...

weixin_39619433的博客 271

Windows10安装ubuntu16.04双系统教程

Windows10安装ubuntu16.04双系统教程

KaelCui的博客 205
上一篇: Python 中的 `and`, `or`, `not` 运算符:介绍与使用
下一篇: 干货 |17个常见的Python运行时错误
编程阿布
博客等级 码龄4年 656粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值