Python技能树学习-类

从数据集到产品:聊聊Room-to-Room (R2R) 如何影响扫地机器人、AR导航的未来 本文探讨了Room-to-Room (R2R) 数据集如何推动视觉与语言导航(VLN)技术的发展,并重塑扫地机器人和AR导航的未来。通过分析R2R基于Matterport3D的设计及其在真实场景中的应用,揭示了其在提升智能导航精度和自然语言交互能力方面的潜力。文章还讨论了从实验室到产品化的关键技术挑战与解决方案。 阅读详情

题目一:Python类的基本使用(1)

下面的类封装了一组 set/get/keys 接口

# -*- coding: UTF-8 -*-
class KeyValueSet:
    def __init__(self) -> None:
        self.dict = {}

    def set(self, key, value):
        self.dict[key] = value

    def get(self, key):
        return self.dict.get(key)

    def keys(self):
        return self.dict.keys()

请你使用类 KeyValueSet 完成一个交互式命令行你想我猜游戏。支持:

  • 装载N个句子对
  • 你猜我想 闯关,输出上半句,等待用户猜测下半句
  • 如果猜中就累加10分,否则扣2分
  • 全部结束输出用户本次得分

我们编写一个新的class,内部通过组合KeyValueSet来支持上述功能,程序框架如下:

# -*- coding: UTF-8 -*-
class GuessSentenceGame:
    def __init__(self):
        self.kv = KeyValueSet()
        self.score = 0

    def setup(self, sentences):
        # TODO(You): 请在此编写装载逻辑
    
    def guess(self, first_word):
        # TODO(You): 请在此编写猜测结果,返回 err, value
    
    def run(self):
        self.score = 0
        for first_word in self.kv.keys():
            ret = input("猜一猜下半句是什么? {} -> :".format(first_word))
            err, value = self.guess(first_word)
            if err==0:
                print('你太厉害了,这都能猜得到!+10分!')
                self.score += 10
            else:
                self.score -= 2
                print('哈哈,肯定猜不到得啦:{}->{},扣除2分!'.format(first_word, value))
        print('游戏结束,你本次游戏得分:', self.score)

if __name__ == '__main__':

    sentences = [
        "hello world",
        'monkey king',
        'tomorrow is another day',
        "good bye"
    ]

    game = GuessSentenceGame()
    game.setup(sentences)
    game.run()

示例输出:

一个示例输出是:

猜一猜下半句是什么? hello -> :world
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? monkey -> :king
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? tomorrow -> :is another day
你太厉害了,这都能猜得到!+10分!
猜一猜下半句是什么? good -> :a
哈哈,肯定猜不到得啦:good->bye,扣除2分!
游戏结束,你本次游戏得分: 28

请选出下面的实现代码中,错误 的选项。

实现

 

# 第一种方法

class GuessSentenceGame:
    ...

    def setup(self, sentences):
        for sentence in sentences:
            cut_pos = sentence.find(' ')
            first_word, rest = sentence[0:cut_pos], sentence[cut_pos+1:].strip()
            self.kv.set(first_word, rest)

    def guess(self, first_word):
        value = self.kv.get(first_word)
        err = 0 if value else 1
        return err, value
# 第二种方法
class GuessSentenceGame:
    ...

    def setup(self, sentences):
        for sentence in sentences:
            self.append(sentence)

    def append(self, sentence):
        cut_pos = sentence.find(' ')
        first_word, rest = sentence[0:cut_pos], sentence[cut_pos+1:].strip()
        self.kv.set(first_word, rest)
    
    def guess(self, first_word):
        ret = self.kv.get(first_word)
        if ret is None:
            return 1, None
        else:
            return 0, ret

# 第三种方法
class GuessSentenceGame:
    ...

    def setup(self, sentences):
        for sentence in sentences:
            first_word, rest = self.parse_sentence(sentence)
            self.kv.set(first_word, rest)
    
    def parse_sentence(self, sentence):
        cut_pos = sentence.find(' ')
        return sentence[0:cut_pos], sentence[cut_pos+1:].strip()

    def guess(self, first_word):
        value = self.kv.get(first_word)
        return 0, value if value else 1, None

主要是代码结构和责任划分不同:

  • 方法一:直接设置键值对。在setup方法中,直接遍历句子列表,对每个句子执行分割操作,然后将分割得到的第一个单词和剩余部分设置为键值对。职责集中:所有操作(包括分割句子和设置键值对)都在setup方法内部完成,没有额外的方法调用。
  • 方法二:通过额外的方法处理句子。在setup方法中,通过调用append方法来处理每个句子。这种设计提供了更好的模块化。职责分离:append方法负责处理单个句子的分割和键值对设置,而 setup 仅负责遍历句子列表。
  • 方法三:进一步模块化。通过 parse_sentence 方法专门处理句子的解析。职责高度分离:parse_sentence 负责句子的分割和格式化,setup 方法则只负责调用parse_sentence 和设置键值对。改进:guess 方法中的返回结构似乎有笔误,应该是 return 0, value if value else (1, None),这样就统一了返回格式和清晰地处理了空值情况。

错误答案分析

class GuessSentenceGame:
    ...

    def setup(sentences):
        for sentence in sentences:
            cut_pos = sentence.find(' ')
            self.kv.set(sentence[0:cut_pos], sentence[cut_pos+1:].strip())
        
    def guess(first_word):
        self.kv.get(first_word)
        return 0, value if value else 1, None

# 定义缺少'self'参数

# 在guess方法中,变量value未定义

# 返回值格式问题

更改后代码:

class GuessSentenceGame:
    ...

    def setup(self,sentences):
        for sentence in sentences:
            cut_pos = sentence.find(' ')
            self.kv.set(sentence[0:cut_pos], sentence[cut_pos+1:].strip())
        
    def guess(self,first_word):

        value = self.kv.get(first_word)

        return (0, value) if value else (1, None)

 

题目二:Python类的基本使用(2)

在上一题的基础上。通过类的集成,可以扩展原有的类。例如继承KeyValueSet容器类,扩展功能,支持类似redis的 hset/hget/hkeys 扩展接口

基本代码框架如下

# -*- coding: UTF-8 -*-
from key_value_set import KeyValueSet

class HashKeyValueSet(KeyValueSet):
    def __init__(self) -> None:
        super().__init__()

    def hset(self, hash_key, key, value):
        # TODO(You): 请在此实现 hset 方法

    def hget(self, hash_key, key):
        hash_set = self.get(hash_key)
        if hash_set is None:
            return None
        else:
            return hash_set.get(key)

    def hkeys(self, hash_key):
        hash_set = self.get(hash_key)
        if hash_set is None:
            return []
        else:
            return hash_set.keys()

用例如下:

# -*- coding: UTF-8 -*-
if __name__ == '__main__':
    hashset = HashKeyValueSet()

    hashset.hset('puzzle', 'hello', 'world!')
    hashset.hset('puzzle', 'monkey', 'king!')
    hashset.hset('puzzle', 'tomorrow', 'is another day')
    hashset.hset('puzzle', 'good', 'bye!')

    keys = hashset.hkeys('puzzle')
    for key in keys:
        ret = input("猜一猜下半句是什么? {} -> :".format(key))
        value = hashset.hget('puzzle', key)
        if ret == value:
            print('你太厉害了,这都能猜得到!')
        else:
            print('哈哈,肯定猜不到得啦:{}->{}'.format(key, value))

实现

# 第一种方法

self.set(hash_key, {key:value})


# 第二种方法

hash_set = self.get(hash_key)
if hash_set is None:
    hash_set = {key:value}
else:
    hash_set[key] = value

self.set(hash_key, hash_set)

# 第三种方法

hash_set = self.get(hash_key)
if hash_set is None:
    hash_set = {key:value}
    self.set(hash_key, hash_set)
else:
    hash_set[key] = value
    self.set(hash_key, hash_set)
  • 方法一:直接设置给定的hash_key到一个新的字典,其中只包含单一的键值对{key: value}。如果该hash_key之前已经存在且包含其他键值对,那么这些键值对将被新的字典覆盖。这种方法会导致数据丢失,除非每次只想维持一个键值对。
  • 方法二(最优):首先检查hash_key是否已经存在,如果不存在,创建一个新的字典并设置该键值对。如果存在,就在已有的字典中添加或更新键值对,并重新设置到hash_key。保证了数据的完整性,并能正确地更新或添加键值对。
  • 方法三:与第二种类似,但在每个条件分支中都调用了self.set。效果与第二种方法相同,但稍微增加了代码的冗余,因为在hash_set已经存在的情况下,可以仅更新字典而不是每次都调用self.set。

错误答案分析

hash_set = self.get(hash_key,{key:value})
self.set(hash_key, hash_set)

# 不能正确地处理键值对的更新,还可能导致混淆,看起来像是在尝试更新或设置值,实际上并没有这么做。正确的做法是明确检查hash_key是否存在,如方法二所示,然后根据情况更新或添加键值对,并确保这些更改反映到存储结构中。

 

题目三:Python类的基本使用(3)

基于第1题,还可以通过类的组合,使用组合而非继承实现类的扩展,支持类似 redis 的 hset/hget/hkeys 扩展接口。

相比于本节第2题,下面代码使用组合的方式复合KeyValueSet的功能,从而实现HashKeyValueSet。

# -*- coding: UTF-8 -*-
from key_value_set import KeyValueSet

class HashKeyValueSet:
    def __init__(self, kvset) -> None:
        super().__init__()
        self.kvset = kvset

    def hset(self, hash_key, key, value):
        # TODO(You): 请在此添加代码

    def hget(self, hash_key, key):
        hash_set = self.kvset.get(hash_key)
        if hash_set is None:
            return None
        else:
            return hash_set.get(key)

    def hkeys(self, hash_key):
        hash_set = self.kvset.get(hash_key)
        if hash_set is None:
            return []
        else:
            return hash_set.keys()

类HashKeyValueSet的用例如下:

def test():
    hashset = HashKeyValueSet(KeyValueSet())

    hashset.hset('puzzle', 'hello', 'world!')
    hashset.hset('puzzle', 'monkey', 'king!')
    hashset.hset('puzzle', 'tomorrow', 'is another day')
    hashset.hset('puzzle', 'good', 'bye!')

    keys = hashset.hkeys('puzzle')
    for key in keys:
        ret = input("猜一猜下半句是什么? {} -> :".format(key))
        value = hashset.hget('puzzle', key)
        if ret == value:
            print('你太厉害了,这都能猜得到!')
        else:
            print('哈哈,肯定猜不到得啦:{}->{}'.format(key, value))

if __name__ == '__main__':
    test()

实现

# 第一种方法

hash_set = self.kvset.get(hash_key)
if hash_set is None:
    hash_set = {}
    hash_set[key] = value
    self.kvset.set(hash_key, hash_set)
else:
    hash_set[key] = value
    self.kvset.set(hash_key, hash_set)


# 第二种方法

self.kvset.set(hash_key, {key: value})

# 第三种方法

hash_set = self.kvset.get(hash_key)
if hash_set is None:
    hash_set = {key: value}
else:
    hash_set[key] = value
self.kvset.set(hash_key, hash_set)

在处理数据更新和键值对保存的方式上有所不同:

  • 方法一:首先检查hash_key是否已存在。如果不存在,则创建一个新的字典,并添加键值对,然后保存。如果存在,则在现有的字典中添加或更新键值对,并重新保存。这种方法保证了数据的完整性,并且正确处理了新旧键值对的添加和更新。
  • 方法二:每次调用时都会创建一个只包含单个键值对的新字典,并将其设置为hash_key的值。这会导致hash_key原有的数据被覆盖,如果hash_key下已经存储了其他键值对,那么这些数据将丢失。这种方法适用性有限,只有在确定不需要旧数据时才适用。
  • 方法三(最优):与第一种方法类似,但更简洁。它检查hash_key是否存在,然后相应地创建新字典或更新现有字典,最后保存。这种方法既保留了数据完整性,也有效地管理了新旧数据的更新。。

错误答案分析

self.set(hash_key, {key: value})

# 主要问题在于它不考虑已存在的数据,直接覆盖整个值

 

iqoo11如何获取root权限? 🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!! 阅读详情

相关推荐

大连理工大学中文情感词汇本体库(含情绪分析代码)

中文文本数据的情绪计算昨天如何对微博推文进行情绪分析(细粒度情感分析)介绍了英文的NRC情绪词典。虽然支持中文,但由于制作问题,导致并不完全适应中文场景。今天介绍大连理工大学中文情感...

大邓和他的Python 4万+

Python技能树

面向实战的 Python 教程,覆盖了前端,数据库,django,flask,数据分析,机器学习等内容。

优快云学习 5063

vue 获取el-table多选的选中行

<el-table :data='tableData' ref="multipleTable" v-loading='loading' border max-height='700' style='width: 100%' size="mini"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column label

且听风吟的博客 6649

python技能树

这个是我在刷技能树的时候的一大障碍,就是当我看到了很多的选择题之后,经过对比就很容易得到结果,而且费时费力,且没有成就感。可能因为自己总在力扣上刷题导致的这个问题,我觉得完全可以仿照一下力扣那种,自己扣代码的这种模式,我觉得第一给自己的成就感就很不一样,第二对于自己提升的技能有很大很大的帮助,这个确实有用!...

m0_37623374的博客 1467

Android开发必备:TBS腾讯浏览服务静态集成完整指南(附Demo下载)

本文详细解析了Android开发中TBS腾讯浏览服务的静态集成方案,通过对比动态集成,深入剖析了其核心原理与适用场景。文章提供了从环境准备、资源获取、项目配置到代码初始化的完整指南,并重点介绍了WebView与文件预览等高级特性的实战应用。针对集成过程中的常见问题,提供了详尽的排查清单与性能调优建议,旨在帮助开发者构建极致稳定、不依赖网络的WebView与文件预览功能。文末附有经过验证的Demo项目可供下载参考。

earth的博客 366

ANSYS WORKBENCH——参数化建模以及参数优化(结果导出为Excel)

目录 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 ​ 注:印记面的创建 5、模型属性设置 注:设置优化目标 6、回主界面,选择direct optimization模块 1、打开软件workbench 2、找到static structure,双击打开 3、选择材料 4、参数化建模 至此参数化建模就已经完成啦 注:印记面的创建 印记面一般是一个虚拟的区域,参与实际的网格划分,但是只是由于载.

python_AI_fans的博客 1万+

python入门线路|Python技能树测评

python入门线路|Python技能树测评

诡途的博客 792

CNN+LSTM+Attention+DNN模型实战:pytorch搭建CNN+LSTM+Attention+DNN行车速度预测

CNN+LSTM+Attention+DNN模型实战:pytorch搭建CNN+LSTM+Attention+DNN行车速度预测

6045

【python技能树】测评

首先我选择的是类这个知识点的参考资料,截图付下: 参考资料中目录方面,讲解了类和对象、类间关系,大体上感觉比较全面,排版很细致让读者一看就很清楚整个的结构框架,但是缺点也很明显,python的类其中只讲了继承关系,多态和封装也是很常用的却没有介绍到,可以改进。 下面这个图片很明显的存在bug 继承关系虽然这样作图也可以,让大家理解到是存在子类、父类的关系,图下的文字可以直接放到图片内,更直接更容易理解 这里我找了一个讲解继承关系的图片,希望可以采纳 第一个:如下图,鼠标事件,排版显没有读下去的欲望,如果这个

你在看屏幕的同时,屏幕也在注视着你 760

数据科学技术与应用【中国大学MOOC】:数据可视化_第五次作业_答案

数据科学技术与应用 数据可视化 第五次作业 答案 题目来源:中国大学MOOC-东华大学-宋晖等-数据科学技术与应用 1 ( 30分 ) 2012—2017年我国人均可支配收入为[1.47, 1.62, 1.78, 1.94, 2.38, 2.60](单位:万元)。按照要求绘制以下图形。 1)模仿例4-1和例4-3,绘制人均可支配收入折线图。用小矩形标记数据点,黑色虚线,用注解标注最高点,图标题为“Income chart”,设置坐标轴标题,最后将图形保存为JPG文件。 2)模仿例4-2,使用多个子图分别绘制

Herbert胡不归 6140

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 850

学Python不知从何下手?Python技能树助力一臂之力|Python技能树测评

一、前言 无论上是初学Python的小伙伴,还是学过一段时间有一定经验的小伙伴或多或少都会有迷茫和疑惑: 看着大家都说Python好学,好就业,可到底该怎么学,学到什么程度才能去找工作呢? 我想学Python相关领域的知识点,但网上的教程太杂太乱,看了半天还是不知从而下手,哪里有清晰的学习路线、知识点分类呢? 这也是很多粉丝常问我的问题,由此可见有一个明确的路线,和清晰的技术栈结构,是非常重要的! 二、解决方案 这里推荐一下优快云的【Python技能树】 【Python技能树】的左侧,通过树的形式详细详

曲鸟 1万+

沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动

刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在状态所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,,两方都是一对一的关系。复用功能。

Car12 706

你离Python大神就差这课树了!建议收藏|Python技能树测评

这里是Python大神的进阶之路

振华OPPO的博客世界 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

学Python,站在这棵树上就对了 | Python技能树测评

学习计算机技术,并不是比谁更卖力,关键是在于在最短的时间内用最少的资源产生最大的收益,这是由于技术的更迭速度太快了,只有快速掌握最新技术,才能在领域内有立足之地。优快云 Python 技能树就是我们学习 Python 的巨人的肩膀,它包含了完善的知识体系、相匹配的练习题、活跃的交流学习等等,学Python,站在这棵树上就对了!

盼小辉丶的博客 2999

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何学习Python,优快云帮你规划路线|Python技能树测评

相信很多刚接触到python的朋友肯定是一头雾水,觉得python的知识点怎么那么多,自己到底该怎么学?即使有了思维导图,也只是把知识点串联起来,但是还是没有具体的学习路线以及学习材料! 但是,优快云又出了个新产品了!那就是Python技能树!!! 首先,是这款产品的界面。 我们可以看到Python技能树分了15个板块,知识点从浅到深,由一开始的预备知识、基础语法到最后的数据分析和人工智能。它系统地整理了关于Python领域的知识点,并从海量的 优快云 数据中不断更新高质量内容。 左边是目录

4854

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

400+人支持的技能树又又又更新了,来看看对我们的学习有没有帮助呢?Python技能树评测

本次评测重点关注的是 Python 技能树,将从 UI,交互,功能的方面进行全面评测,由于本系列文章已经积累了多篇文章,大家可以顺着历史轨迹查看一下过去的技能树。本次更新在首页做出的一个比较重要的变化,将练习题与参考资料菜单进行了对调,该设计的出发点应该是希望学习者可以从练习题查看课程核心内容(猜测),但如果基于该设计点,那练习题的题干设计的不好,重复率太高,无法从练习题提炼重点内容。 练习题点击之后,答题正确或者已答 点击参与讨论之后,会跳转到问答模块,这里建议将用户讨论与交互集成到本页面(左右布局),

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

一站式学习工具「Python 技能树」上线【2021.9.17】

Python技能树内测版发布:https://python.youkuaiyun.com/,为获得更好地用户体验,请大家前往PC端打开。使用过程中有任何问题或意见,可以直接向在线客服反馈,也可以直接在本文评论区留言。 Python技能树只是一个开始,Java、云原生……多个领域技能树正在上线的路上,APP、WAP端也正在安排,敬请期待。 在知识付费市场迅猛发展的时代,良莠不齐的学习资料、参差不齐的讲师水平等问题也纷至沓来。淹没在网络知识海洋中的我们,到底该如何系统地学习一门技术?怎么找到每一个知识点的最匹配的文.

优快云 官方博客 1万+

学习python就用python技能树|Python技能树测评

python 是一种很流行的高级动态语言。编程语言的的排行可以参考TIOBE。当然如果从排行榜上看,C、C++,Java 等语言长期占据前三。然而需要明确的是,术业有专攻,不同领域的人对语言有不同的偏好或者说需要。对于那些数据科学家、计量经济学家或者我们量化工作者而言,python 就是很好的工具。 你想学习python吗?你知道Python技能树吗? python技能树是优快云提供的系统化,面向实战的学习环境。 它能帮助用户从初学者成长为合格的Python 工程师。 它系统地整理了关于Python领

zhulin1028的博客 3405

Python学习宝典官方推荐 |Python技能树测评

Python技能树测评背景详细介绍结语 背景 对于一个Python小白来说,能有一个板块分类,覆盖知识面广且讲解清晰的学习网站是一件极其幸运的事情。如今,只要你想到的东西,就会有人做出来,比如Python技能树,这就是一个拥有十五个Python相关板块,并且每个板块内又分为七八个小知识点的学习网站。 详细介绍 对于我们一个初学者来说,这个学习网站最难得的地方就是每个板块甚至板块里的知识点的命名都很直观的表达出每个点所要讲述的东西,这样让我们这些对Python没有什么概念的人在进行学习的时候就会有引导性的按

静Yu的博客 2104

Python技能树丨Python简介

计算机的世界是二进制的,它只能读懂 0 和 1,人类要学习计算机的语言几乎是不可能的。 反过来,让计算机理解人类的语言也太困难。自然语言太过随性,一个意思有多种表达,还有很多语气和双关语(比如女朋友:我没生气)。 如何跨过这样的鸿沟呢,可行的方法是设计一套「高级语言」,让人类和计算机都能看懂。 我们现在学习的编程语言,就是这样的高级语言,它有两个特点: 简单,人类学习一段时间就能使用。 精准,可以自动编译成机器语言来执行。

独木不成林,单弦不成音。 1万+

万木成林,我种了“Vue技能树”

作为Vue技能树的构建者,一直拖延到现在才来写这篇文章,主要还是心里没有底,前面殊不知这颗“树”是否促进了大家学习的热情,也不知它给大家带来了多少收获。说到我们的Vue技能树,我作为尤大大的忠实粉丝自就业后就一直在运用Vue技术做前端开发,其实网上有过很多很多前端框的对比文章,其实,Vue框架的出现大大的提高了前端的性能、开发效率等,而且如今的Vue技术也已经相对非常成熟稳定了;一次偶然的机会跟邹老师去交流的时候,受到邹老师的邀请来做Vue技能树的构建工作;...............

商务合作欢迎私信我 2万+

Python技能树评测

有奖评测征文活动来咯!大家快来领取属于你的纪念品吧!(1)学习目录优评: 语法这里的学习目录条理清晰,标题内容醒目,学习或复习在选择的时候一目了然,使用起来也简洁明了,十分舒服。 图解分析: (2)讨论和笔记优评: 讨论和笔记虽然放置在同一个区域,但是上面标注清楚,而且也简介明了,让人一目了然。 图解分析: (1)练习题进入界面: 这里面的代码建议搞成背景是代码块的形式,这样看起来舒服。而且这里面的字体建议在稍微粗点大点,这样大家在电子设备上学习时候,能够减缓眼睛疲劳。 图解分析: (2)讨论和笔记界面

forever的博客 527

如果你不了解 python 的学习体系?来看看这篇博客吧 ,特邀嘴强擦哥做点评|Python技能树测评

要擦哥夸夸,结果他还真的评测了

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

你我共建python技能树,python技能树测评

python技能树测评

qq_29061315的博客 3215
上一篇: Python技能树学习-函数
下一篇: 【实操GPT-SoVits】声音克隆模型图文版教程
ColorKin
博客等级 码龄10年 134粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值