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

第三期书生大模型实战营 第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中进行了调试,了解的程序的运行过程。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wux_labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值