第三期书生大模型实战营 第2关 Python 基础知识

news2025/2/27 20:44:39

第三期书生大模型实战营 第2关 Python 基础知识

  • 第三期书生大模型实战营 第2关 Python 基础知识
    • Python 基础
      • 函数定义
      • 常见的内置方法
        • replace(old, new)
        • lower()
        • split()
      • 字典dict
    • 使用Python实现词频统计
    • 使用VSCode进行调试
    • 总结

第三期书生大模型实战营 第2关 Python 基础知识

Hello大家好,这里是第三期书生大模型实战营,闯关地图入门岛的第2关 Python 基础知识。我们将学会简单使用Python进行词频统计,并实现VSCode代码调试等。让我们开始吧~

Python 基础

首先,我们简单了解一下Python的基础知识。

函数定义

函数是预先定义的,可反复多次使用的,用来实现单一或相关联功能的代码段。能提高应用的模块性,和代码的重复利用率。

定义一个函数,需要遵循的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号**(),最后是冒号😗*。
  • 圆括号之间用于定义参数,任何传入参数必须放在圆括号中间。
  • 函数的第一行语句可以使用文档字符串来存放函数说明。
  • 函数内容需要有缩进。

下面是定义一个简单的函数,用于打印传入的参数内容。

def print_content(content):
    print(content)

print_content("这是要打印的内容")

执行代码后,控制台会输出:

这是要打印的内容

常见的内置方法

Python为我们提供了很多内置的方法,我们可以直接调用他们来实现相关的功能。

replace(old, new)

replace()可用于把字符串中的 旧字符串(old)替换成新字符串(new)。

"这个字符串包含旧内容".replace("旧","新")

执行代码后,输出内容如下:

这个字符串包含新内容

lower()

lower()可用于将字符串中的大写字母转换成小写。

"请问:This is InternLM Camp3 包不包含大写字母?".lower()

执行代码后,输出内容如下:

请问:this is internlm camp3 包不包含大写字母?

split()

split()用于将一个长的字符串按指定的字符拆分成多个短字符串列表。

"This is InternLM Camp3".split(" ")

执行代码后,将得到一个字符串列表:

['This', 'is', 'InternLM', 'Camp3']

字典dict

Python中字典是一种复合数据类型,可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割。字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的,值可以不唯一。

比如,我们可以定义一个字典:

word_count = {'hello': 1,'world!': 1,'this': 1,'is': 3,'an': 1,'example': 1,'word': 1, 
'count': 2,'fun': 1,'Is': 1,'it': 2,'to': 1,'words': 1,'Yes': 1,'fun': 2}

word_count

执行代码,输出内容为字典内容:

{'hello': 1, 'world!': 1, 'this': 1, 'is': 3, 'an': 1, 'example': 1, 'word': 1, 'count': 2, 'fun': 2, 'Is': 1, 'it': 2, 'to': 1, 'words': 1, 'Yes': 1}

从输出可以看出,我们定义了{'fun': 1, 'fun': 2},最终的输出结果中只存在{'fun': 2}

使用Python实现词频统计

掌握了Python的基础知识后,我们就可以来实现一个词频统计功能了。

  • 首先,使用replace()将字符串中的标点符合替换掉
  • 其次,使用lower()将字符串全部转换成小写
  • 然后,使用split()将字符串拆分成单词
  • 最后,使用dict数据类型来存储结果,key是单词,value是单词的个数

完整代码如下:

text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""

def wordcount(text):
    word_list = text.replace(',', '').replace('.', '').replace('\n', '').lower().split(' ')
    count_dict = {}
    for str in word_list:
        if str in count_dict.keys():
            count_dict[str] = count_dict[str] + 1
        else:
            count_dict[str] = 1
    return count_dict

print(wordcount(text))

执行代码,输出内容为:

{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, "daughter's": 1, 'birthdaywho': 1, 'loves': 1, 'it': 4, 'and': 2, 'takes': 1, 'everywhere': 1, "it's": 1, 'soft': 1, 'andsuper': 1, 'cute': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 2, 'friendly': 1, 'look': 1, "it'sa": 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though': 1, 'think': 1, 'theremight': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'thesame': 1, 'price': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expectedso': 1, 'to': 1, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'itto': 1, 'her': 1}

使用VSCode进行调试

Python调试设置断点可以让程序运行到该行程序时停住,借此观察程序到断点位置时,其变量、寄存器、I/O等相关的变量内容,有助于深入了解程序运作的机制,发现、排除程序错误的原因。

VSCode 的主要功能之一是其强大的调试支持,内置调试器有助于加速编辑、编译和调试循环。

首先打开VSCode,编写wordcount.py脚本,设置断点,并启动调试。

在第一个断点处,我们可以看到所有拆分出来的单词。

然后,我们可以选择单步执行或者继续运行,直到运行到下一个断点处。

在第二个断点处,我们可以观察词频结果。

运行结束,在控制台可以看到输出内容。

至此,VSCode调试远程代码结束。

总结

至此,我们熟悉了Python的基础知识,包括函数、内置方法、数据类型等,并且使用Python实现了词频统计,最后在VSCode中进行了调试,了解的程序的运行过程。

接下来,就让我们在大模型实战开发中畅游吧!

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

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

相关文章

Python基础教学之三:函数与模块篇——实现代码重用和模块化

Python基础教学之三:函数与模块篇——实现代码重用和模块化 一、函数的定义与使用 1. 理解函数 函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码块。它可以提高代码的重用性和程序的清晰度。 你可以定义一个由自己想要功能的函数,以下是…

星环科技知识平台TKH:引领企业构建高效AI基础设施,加速数智化转型新纪元

5月30-31日,2024向星力未来数据技术峰会期间,星环科技正式发布其最新人工智能基础设施产品——Transwarp Knowledge Hub星环知识平台(以下简称TKH)。该平台旨在为企业打通从人工智能基础设施建设到大数据、人工智能等研发应用的完…

Kafka-02 @KafkaListener学习

一. 引入依赖 SpringBoot 和 Kafka 搭配使用的场景&#xff0c;引入 spring-kafka 即可&#xff1b; <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.8.11</version>…

数据交换系列-DWG数据交换方案选型

1.背景介绍 1.1 什么是块 块相当于一个“标准件”&#xff0c;当你要用的时候可以随意插入&#xff0c;插入的时候可以旋转角度&#xff0c;还可以定义比例。块 &#xff0c;在CAD中&#xff0c;就是一个、或一组图形实体的总称&#xff0c;可以包含任意对象&#xff0c;简单…

Linux(一)线程——何为线程???Linux线程控制

文章目录 什么是线程&#xff1f;&#xff1f;&#xff1f;线程和进程的区别和联系Linux线程控制POSIX线程库创建线程线程等待线程终止线程分离 什么是线程&#xff1f;&#xff1f;&#xff1f; 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的…

Airtest成功案例分享:KLab连续2年携Airtest私有云产品参加CEDEC大会!

一、KLab株式会社介绍 KLab株式会社是一家位于日本的移动游戏开发公司&#xff0c;成立于2000年。公司以开发和运营基于动漫和漫画IP的手机游戏而闻名&#xff0c;尤其是在音乐节奏游戏领域。KLab的一些知名作品包括《LoveLive!学园偶像祭》、《排球少年&#xff1a;新的征程》…

【Redis】Redis十大类型

文章目录 前言一、string字符串类型二、List列表类型三、 Hash表四、 Set集合五、 ZSet有序集合六、 GEO地理空间七、 HyperLogLog基数统计八、Bitmap位图九、bitfield位域十、 Stream流10.1 队列指令10.2 消费组指令10.3 ACK机制 前言 redis是k-v键值对进行存储&#xff0c;k…

c#中的设计模式

1、设计模式 MVVM、MVC、GOF23种设计模式 2、GOF23种设计模式分类 创建型&#xff1a;对类的现实化进行了抽象&#xff0c;能够使软件模块做到与对象的创建和组织无关。 包括&#xff1a;单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式 结构型&#xff1a;描述类…

PHP充电桩小程序系统源码

绿色出行新伴侣&#xff01;充电桩小程序&#xff0c;让充电不再烦恼✨ &#x1f50b; 开篇&#xff1a;告别电量焦虑&#xff0c;充电桩小程序来救场&#xff01; 在这个电动车日益普及的时代&#xff0c;电量不足成了不少车主的“心头大患”。但别担心&#xff0c;充电桩小…

基于IDEA的Lombok插件安装及简单使用

lombok介绍 Lombok能以注解形式来简化java代码&#xff0c;提高开发效率。开发中经常需要写的javabean&#xff0c;都需要花时间去添加相应的getter/setter&#xff0c;也许还要去写构造器、equals等方法&#xff0c;而且需要维护。而Lombok能通过注解的方式&#xff0c;在编译…

Redis 主从复制,、哨兵与集群

目录 一.redis主从复制 1.redis 主从复制架构 2.主从复制特点 3.主从复制的基本原理 4.命令行配置 5.实现主从复制 6.删除主从复制 7.主从复制故障恢复 8.主从复制完整过程 9.主从同步优化配置 二.哨兵模式&#xff08;Sentinel&#xff09; 1.主要组件和概念 2.哨…

利用Python的sympy包求解一元多次方程

一元1次方程 import sympy as sp # 导入sympy包 x sp.Symbol(x) # 定义符号变量 f 2*x -8 # 定义要求解的一元1次方程 x sp.solve(f) # 调用solve函数求解方程 x[4]一元2次方程 import sympy as sp # 导入sympy包 x sp.Symbol(x) # 定义符号变量 f …

无人直播赚钱的底层逻辑是什么?一文揭晓!

当前&#xff0c;网络直播已经成为各类商家提高曝光和引流获客的主要渠道之一&#xff0c;这在为商家带来新机遇的同时&#xff0c;也让他们因人手不足或资金匮乏等原因而陷入无人问津窘境之中。在此背景下&#xff0c;无人直播软件一经出现&#xff0c;便引起了众多商家的关注…

【解密】记一次辽宁省某综合实践教学管理平台加解密算法分析

最近接到需求&#xff0c;于是准备弄一下&#xff0c;发现对方整个流程是&#xff1a;先加密在请求&#xff0c;请求得到的数据再进行拼接加密&#xff0c;不过花了2个小时还是完成了解密 哈哈 找到请求发现请求数据加密 在启动器里面发现登录方法 打印出各个关键变量数据 …

docs | 使用 sphinx 转化rst文件为html文档

1. 效果图 book 风格。 优点&#xff1a; 极简风格右边有标题导航左侧是文件导航&#xff0c;可隐藏 2. 使用方式 reST 格式&#xff0c;比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx&#xff0c;是一个python包。 $ pip3 list | grep -i Sphinx …

嵌入式ARM控制器在AGV里的应用

随着ARM技术以及芯片加工工艺的迅猛发展&#xff0c; ARM工业计算机得到了越来越广泛的应用&#xff0c;尤其在工业智慧城市、智能设备以及工业自动化控制等领域。本文将为大家详细介绍ARM控制器在AGV控制系统中的应用&#xff0c;来供大家学习和参考&#xff0c;欢迎大家一起来…

开源公司网站源码系统,降低成本,提升效率 附带完整的安装代码包以及搭建教程

系统概述 开源公司网站源码系统是一个基于开源技术的网站建设解决方案。它提供了完整的网站框架和功能模块&#xff0c;允许企业快速搭建起一个功能齐全、设计美观的企业网站。该系统不仅降低了网站开发的成本&#xff0c;还大大提高了建设效率&#xff0c;使企业能够更快地将…

便携式气象参数检测仪:智能气象监测

随着科技的飞速发展&#xff0c;气象监测已不再是传统意义上的固定站点观测&#xff0c;而是逐渐向智能化、便携化、高精度化方向演进。在这一背景下&#xff0c;便携式气象参数检测仪应运而生&#xff0c;以其轻便、高效、多功能的特性&#xff0c;成为气象监测领域的得力助手…

css实现图片渐变切换效果

一、效果 使用csskeyframes&#xff0c;实现5个图片渐变切换的效果。如下图&#xff1a; 二、代码 1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"w…

【启明智显分享】乐鑫HMI方案4.3寸触摸串口屏:水质检测仪应用解决方案

水是万物的源泉&#xff0c;了解水的酸碱度对于保障我们的健康、生产和生活环境至关重要。水质检测仪应运而生&#xff0c;它让我们能够洞察水的酸碱奥秘。 水是万物的源泉&#xff0c;了解水的酸碱度对于保障我们的健康、生产和生活环境至关重要。水质检测仪应运而生&#xff…