任务一:Python实现wordcount
请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
借助Vscode内置的终端工具,创建一个demos
目录。在此目录中,我们将新建一个名为wordcount.py
的文件,并实现以下任务代码编写:
import re
def process_text(text: str):
"""
对文本进行处理,将其转化为小写,移除特殊字符并用空格替换,最后返回单词列表。
Args:
text (str): 待处理的文本字符串。
Returns:
List[str]: 处理后的单词列表。
"""
if text is None or text == "":
return []
return re.sub("[\W]+", " ", text.lower()).split()
def statistics(words: str):
"""
统计字符串中每个单词出现的次数
Args:
words (str): 需要统计的字符串
Returns:
dict: 字典类型,键为单词,值为单词出现的次数
"""
word_counts = {}
for word in words:
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
return word_counts
def wordcount(text: str):
"""
计算给定文本中单词的数量。
Args:
text (str): 待计算单词数量的文本字符串。
Returns:
int: 文本中单词的数量。
"""
new_text = process_text(text)
return statistics(new_text)
if __name__ == "__main__":
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.
"""
print(wordcount(text))
我们使用python_debug调试
任务二:Vscode连接InternStudio debug
首先需要安装Remote-SSH插件
此时会有弹窗提示输入ssh链接命令,回车后还会让我们选择要更新那个ssh配置文件,默认就选择第一个就行(如果你有其他需要的话也可以新建一个ssh配置文件)。
开发机的链接命令可以在开发机控制台对应开发机"SSH连接"找到,复制登录命令到vscode的弹窗中然后回车,vscode就会开始链接InternStudio的服务器,记得此时切回去复制一下ssh的密码,待会会用到。
在新的弹窗中将ssh密码粘贴进去然后回车。随后会弹窗让选择远程终端的类型,这边我们的开发机是linux系统,所以选择linux就好。
一:使用Vscode进行Python debug的流程
def add_numbers(a,b,c):
sum = 0#这里其实覆盖了python自带的sum方法。
sum +=a
sum +=b
sum +=c
print("The sum is ",sum)
if __name__ =='__main__':
x,y,z = 1,2,3
result = add_numbers(x,y,z)#图中代码这里写成1,2,3了
print("The result of sum is ",result)
首先,在代码编辑窗口中,代码的关键行上设置断点,以便于调试。完成断点设置后,在Vscode左侧的工具栏,点击虫子图标。接下来,选择“运行和调试”选项,启动Debug模式
在代码行号旁边点击,可以添加一个红点,这就是断点(如果不能添加红点需要检查一下python extension是否已经正确安装)。当代码运行到这里时,它会停下来,这样你就可以检查变量的值、执行步骤等。
点击VSCode侧边栏的“Run and Debug”(运行和调试),然后点击“Run and Debug”(开始调试)按钮,或者按F5键。
单击后会需要选择debugger和debug配置文件,我们单独debug一个python文件只要选择Python File就行。然后你的代码会在达到第一个断点之前运行,在第一个断点处停下来。
当代码在断点处停下来时,你可以查看和修改变量的值。在“Run and Debug”侧边栏的“Variables”(变量)部分,你可以看到当前作用域内的所有变量及其值。
二:在vscode使用命令行进行debug
很多时候我们要debug的不止是一个简单的python文件,而是很多参数,参数中不止会有简单的值还可能有错综复杂的文件关系,甚至debug一整个项目。这种情况下,直接使用命令行来发起debug会是一个更好的选择。
vscode支持通过remote的方法连接我们在命令行中发起的debug server。首先我们要配置一下debug的config。
还是点击VSCode侧边栏的“Run and Debug”(运行和调试),单击"create a lauch.json file"
选择debugger时选择python debuger。选择debug config时选择remote attach就行,随后会让我们选择debug server的地址,因为我们是在本地debug,所以全都保持默认直接回车就可以了,也就是我们的server地址为localhost:5678。
配置完以后会打开配置的json文件,但这不是重点,可以关掉。这时我们会看到run and debug界面有变化,出现了debug选项。
现在vscode已经准备就绪,让我们来看看如何在命令行中发起debug。如果没有安装debugpy的话可以先通过pip install debugpy安装一下。
python -m debugpy --listen 5678 --wait-for-client ./myscript.py