Python基础
文章平均质量分 52
本栏主要是Python的基础及进阶知识点。
Dr.sky_
本硕博均为计算机专业,华为云计算专家,现在主要研究Python数据分析、机器学习、NLP相关领域内容。
展开
-
我的创作纪念日
在过去的1095天里,我创作了150余篇博文,这些博文不仅涵盖了我对技术的理解和实践经验,也包含了我对生活的感悟和思考。同时,我的代码被分享了2.4万余次,这让我感到非常欣慰,因为我知道我的作品正在帮助和影响更多的人。三年前的今天,我踏上了成为创作者的旅程。我的初心很简单,希望通过分享实战项目中的经验,记录日常学习过程中的点滴,以及进行技术交流,让更多的人受益。原创 2024-06-24 11:11:56 · 271 阅读 · 0 评论 -
python实现进度条的方法和实现代码
在Python中,有多种方式可以实现进度条。这里,我将介绍七种常见的方法:使用tqdm(这是一个外部库,非常流行且易于使用)、rich、click、progressbar2等库以及纯Python的print函数与time库来模拟进度条。原创 2024-06-19 23:05:20 · 1073 阅读 · 0 评论 -
Pandas处理时间差的4种表达方式
在Pandas中处理时间差(timedelta)时,有多种方式可以表达时间差。原创 2024-06-06 15:32:24 · 569 阅读 · 0 评论 -
Python绘制热力图
最近投SCI论文的时候,有些实验结果需要热力图展示,所以专门试了一下如何用python绘制热力图,发现简单好用,下面分享给大家具体方法。原创 2024-02-04 09:54:34 · 3257 阅读 · 0 评论 -
统计数据集句子长度信息
在文本分类任务做科研写论文的时候,我们有时候需要对对数据集的大小进行分析,如果你想统计CSV文件中某一列英语句子的单词个数(不包含标题),可以使用Python的split()函数将句子拆分为单词,并计算单词的个数,具体实现代码和结果分析如下。原创 2024-01-09 09:32:21 · 556 阅读 · 0 评论 -
如何在Github上快速下载代码
这些方法中的任何一个都能让你快速下载 GitHub 上的项目代码。选择其中一个方法根据你的喜好和需求,我一般网速比较好的时候是选择第一种,如果第一种下载存在困难,则第二种是最佳选择。上述路径选择,cd 后面是你想要保存下载文件的具体路径,当然,还有一种方法是直接在你要存储的文件夹右键然后选择Open Git bash here。4. 在 GitHub 项目页面中,点击 “Code” 按钮,并复制项目的 URL。我们发现执行该命令后,Git 将会将代码库中的内容下载到你刚才指定的文件夹中。原创 2024-01-08 14:03:39 · 15212 阅读 · 1 评论 -
通过cpolar在公网访问本地网站
通过cpolar可以轻松将本地网址映射到公网进行访问,下面简要介绍一下实现步骤。原创 2024-01-05 11:14:46 · 1412 阅读 · 0 评论 -
再见2023,你好2024(附新年烟花python实现)
坦白说,有时候我觉得自己好像是在时间的漩涡中被席卷着,努力地追逐着每一个梦想,却又无法把握住每一刻的风景。我意识到,我需要给自己留出一些时间来回首过去,反思成长,并重新调整自己的目标与方向。你们的鼓励和反馈是我前进的动力,是我坚持不断学习和成长的源泉。2023年的最后时刻,我希望你们也能找到属于自己的答案,找到自己激情的源泉。无论是过去的成就还是未来的挑战,都是值得被铭记的一部分,让我们珍惜每一次成长的机会。原创 2023-12-29 15:29:40 · 7572 阅读 · 16 评论 -
ChatGPT 的实现原理和核心代码
GPT 模型是一种基于 Transformer 的语言模型,可以生成符合上下文语境的文本。在预训练阶段,GPT 模型使用大量的文本数据进行训练,学习到了丰富的语言知识。在微调阶段,我们可以使用对话数据对 GPT 模型进行微调,以使其生成符合对话场景的文本。ChatGPT 是一种基于 GPT 模型的对话生成模型,其原理是在预训练的 GPT 模型基础上,使用对话数据进行微调,以生成符合对话场景的文本。,并将其移动到 GPU 上。接着使用模型计算损失并反向传播,以微调模型。这个函数使用模型和分词器生成对话文本。原创 2023-06-07 14:46:22 · 5567 阅读 · 1 评论 -
【Anaconda】更换清华源实现pip提速
Anaconda用pip安装package时,经常会遇到安装过慢或安装失败的情况,使用以下方法,可以实现package的快速安装。原创 2023-04-26 10:56:37 · 965 阅读 · 1 评论 -
python实现关系抽取的远程监督算法
这个方法会先通过nltk库提供的命名实体识别(NER)工具抽取人名实体,然后将其转换为名词形式。最后,如果该人名在实体关系字典中出现,则将其和关联的地点实体作为一个实体对返回。然后,我们需要先将知识库中的实体关系提取出来,并将其存储为一个字典。该方法的输入是抽取的实体对和待标注的文本数据集。输出是将文本数据转换为的特征向量和相应的标签。该方法的输入是待预测的文本数据、训练好的分类器和特征向量转换器。输出是预测出的实体对及其关系。最后,我们可以使用训练好的分类器对新的数据进行预测。原创 2023-04-14 23:39:44 · 1071 阅读 · 2 评论 -
安装spacy+zh_core_web_sm避坑指南
spacy是Python自然语言处理(NLP)软件包,可以对自然语言文本做词性分析、命名实体识别、依赖关系刻画,以及词嵌入向量的计算和可视化等。原创 2023-04-11 21:29:11 · 9555 阅读 · 1 评论 -
Jupyter Notebook 无法切换Change kernel
Anaconda中安装了虚拟环境,但是再Jupyter Notebook页面无法切换Change kernel,通过下面步骤得以解决问题。原创 2023-04-11 15:30:22 · 700 阅读 · 1 评论 -
Python实现照片更换背景色
我们直接上代码噢,代码里面已经给大家注释import cv2import numpy as np# 读取照片img=cv2.imread('girl.jpg')# 图像缩放img = cv2.resize(img,None,fx=0.5,fy=0.5)rows,cols,channels = img.shapeprint(rows,cols,channels)cv2.imshow('img',img)# 图片转换为灰度图hsv = cv2.cvtColor(img,cv2.C.原创 2021-07-16 23:30:13 · 2634 阅读 · 3 评论 -
Python 获取当前目录下所有需要文件
Python想获取当前目录下所有目录的所需文件复制或移动到另一个文件夹下面 ,需要使用到 os.work() 方法遍历所有文件。原创 2023-04-03 00:36:46 · 1797 阅读 · 1 评论 -
Python方法:@staticmethod和@classmethod
在常用的Python方法中,我们调用类的方法,每次都需要进行实例化,然后用实例化.方法进行调用。Python方法@staticmethod和@classmethod,可以被类直接调用,也可以被所有实例化对象共享。只要在某个方法前面加上@staticmethod或@classmethod就可以了,该方法通过调用staticmethod并且这样子还,把某些应该属于某个类的函数给放到那个类里去,同时。原创 2023-03-29 10:19:58 · 4611 阅读 · 3 评论 -
Python两行代码实现pdf转word
由上可见,效果还不错。原创 2023-03-27 00:00:20 · 262 阅读 · 1 评论 -
Python对excel单元格着色
今天看了几篇关于Python对excel表格进行着色的文档,但是感觉都讲的不够清晰,顾写此篇供大家参考。原创 2023-03-22 11:00:47 · 9238 阅读 · 4 评论 -
Python之__init__函数及__init__.py
另外,__init__.py 会在 import 的时候被执行,虽然空的 __init__.py 在 Python 新版本中已经不需要你额外去定义了,因为就算你不定义 init, Python 也知道你导入的包路径,但是如果你想要做一些初始化操作当然,例如我们想预先导入相关的模块,那么定义 __init__.py 还是很有必要的。(2)有了__init__方法,在创建实例的时候,就不能传入空的参数了(会报错),必须传入与__init__方法匹配的参数,但。self,并且调用时,不用传递该参数。原创 2023-03-21 11:09:59 · 3407 阅读 · 0 评论 -
Pycharm设置py文件默认备注信息
Pycharm给python文件设置作者,时间等备注信息可以一定程度上维护作者的权利,并记录代码所在项目名称、创作时间等,给作者带来一定便利。原创 2023-03-19 16:01:44 · 1751 阅读 · 1 评论 -
python中全组合函数(combinations)与全排列函数(permutations)
最近写代码时遇到排列组合问题,发现python中的itertools库用起来比较方便。itertools库中的permutations函数可以输出可迭代对象的全排列情况,而combinations函数可以输出可迭代对象的全组合情况。原创 2023-03-06 10:53:21 · 1278 阅读 · 0 评论 -
Python获取当前时间
打印结果:今天是12月3日18点1分4秒打印结果: 2022-12-03 18:01:04 打印结果:2022-12-03 18:01:04原创 2022-12-03 18:08:28 · 28131 阅读 · 0 评论 -
用OpenPyXL将Excel文件转换为CSV文件
话不多说,直接上代码#导入需要的库import csvimport openpyxlimport pandas as pdfrom openpyxl import load_workbook#定义方法def excel_to_csv(excel_file, csv_file): workbook = load_workbook(filename = excel_file) sheet = workbook.active csv_data = [] .原创 2022-03-15 12:01:45 · 1935 阅读 · 2 评论 -
Python画星星和星空
目录一、画一个N边形二、画五角星三、一闪一闪亮晶晶Python 中的画图工具——turtle(海龟绘图),turtle 是 Python 中自带的绘图模块,最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。使用 turtle 控制画笔在画板上画画。而这个画笔是有形状的,默认是一个小箭头,我们可以使用turtle.shape('turtle')将其设成一个小海龟。除了变成小海龟外,..原创 2022-03-02 23:54:26 · 7018 阅读 · 2 评论 -
面向对象和面向过程的方法对比
面向过程的方法from random import randinttimes = 6lottery = []for i in range(0, times): number = randint(0, 99) lottery.append(number)print('本期彩票中奖号码为:%s' % lottery)原创 2022-02-27 11:03:52 · 202 阅读 · 0 评论 -
Python计算骰子出现的概率
大家肯定都摇过 🎲,我们知道一个骰子有六个面,分别对应 1-6 六个数字,这六个数字出现的概率是一样的,都是六分之一(0.166666...)。接下来我们使用random.choice()函数模拟摇骰子的过程,统计每个数字出现的次数,并按照数字 x 出现的频率为 xxx的格式,打印出每个数字出现的频率。# 导入 random 模块import randomcounts = {'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0}# 取出 co...原创 2022-02-23 00:53:51 · 3920 阅读 · 0 评论 -
文本词频统计
根据字典键必需是唯一的这个特性,我们可以进行简单的文本统计,即一段话中每个字出现的次数。比如空空如也,空字出现了 2 次,如和也字各出现了 1 次。我们接下来统计绕口令黑化肥发灰会挥发,灰化肥挥发会发黑中每个字出现的次数(包括标点),思路如下:创建一个空字典{}用来存放数据; 用for 循环遍历字符串; 将遍历的每个元素作为字典的键进行判断:如果该键存在于字典中,说明之前统计过该字,则将该键对应的值加 1。如果不存在,说明是第一次出现该字,则将该键...原创 2022-02-22 12:09:38 · 527 阅读 · 0 评论 -
Python实现日程表
小明最近忙到起飞。从 当前时间 开始算,2 小时 后,闻闻要去参加公开课;6 小时 后,她要开始整理学员信息;2 天 后,她要去深圳参加行业交流会。要求打印一个日程后,隔 0.5 秒 再打印下一个日程。请你用 time 模块 和 datetime 模块 编写代码,打印出小明的日程表。# 导入必要的模块import timefrom datetime import datetime,timedeltaprint('参加公开课的时间是:')print(datetime.now() + time原创 2022-02-22 00:42:32 · 1177 阅读 · 0 评论 -
Python实现鸡兔同笼问题
鸡兔同笼问题是《孙子算经》中的经典题目,也是小学奥数题里的常客。原书中是这么描述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”翻译成现代汉语就是:“鸡和兔放在一个笼子里,笼子里共有 35 个头,94 个爪,那鸡和兔各有多少只?”请你根据下面的要求,用 Python 来完成这道数学题,和它一起“奥数”:在solution.py中建立函数calculate(),该函数能算出鸡和兔分别的数量; 在主程序main.py中导入函数calculate(),根据题干中的“...原创 2022-02-21 15:39:23 · 4916 阅读 · 0 评论 -
Python处理字符串和元组不可变性
可以通过索引来改变列表中元素的内容,比如:names = ['鲁班七号', '蔡文姬', '甄姬', '亚瑟', '兰陵王']2names[0] = '后裔'3print(names)4# 输出:['后裔', '蔡文姬', '甄姬', '亚瑟', '兰陵王']但字符串一旦创建后是不可改变的,这个属性和元组类似,通过索引来改变字符串中元素就会报错:name = '鹿班七号'2name[0] = '鲁'3print(name)4# 报错:TypeError: 'str' does n原创 2022-02-21 12:10:53 · 853 阅读 · 0 评论 -
Python实现文字内容替换
小明正在做语文作业,但她一个不注意,把“关羽”错写成“项羽”了。我们结合 for 循环和字符串方法,将 homework 中的 项羽 全部改正为 关羽 。homework = '''提起刘备、项羽和张飞,人们总是会联想到桃园三结义的故事。东汉末年,朝廷腐败,民不聊生。刘备、项羽和张飞想共同干一番事业,拯救陷入水深火热之中的百姓。三人在桃园结为异姓兄弟,风雨同舟,肝胆相照,开创了蜀汉基业。'''for i in range(len(homework)): if homework[i:i+2]原创 2022-02-20 17:01:34 · 1367 阅读 · 0 评论 -
利用python实现空格消除
利用分片操作,实现一个 trim() 函数,该函数的功能是去除 字符串首尾 的所有空格,字符串中间的空格保留。如:' Hello World ' 处理成 'Hello World'。def trim(s): # 消除字符串前面所有空格 while s[:1] == ' ': s = s[1:] # 消除字符串尾部所有空格 while s[-1:] == ' ': s = s[:-1] return sprint(trim(' Hello World'))原创 2022-02-20 15:02:29 · 1545 阅读 · 0 评论 -
基于Python的趣味密码破解(i miss u)
你刚刚收到一封来署名黑客的信件,但是这封信看起来像天书:而恰巧几天前你收到同一个地址寄来另一封信,这封信看起来是解密的提示:列表letters尾部追加'!'; 取出列表letters中第 7 到 9 个元素(包含 7 和 9),存放在一个地方,比如answer变量里; 列表answer尾部追加letters列表里字符'x'的次数(需要转换成字符串类型); 列表answer尾部追加letters列表中最后一个元素; 将列表letters中最后的三个元素...原创 2022-02-08 23:54:39 · 853 阅读 · 0 评论 -
简易登录系统的Python实现
你每次输入账户密码登录各类软件的时候,知道它背后的原理吗?今天,我们就来用 Python 实现一个简易的登录系统。假设我们的系统中有 3 个用户,分别是小贝、闻闻和黄帮主。这 3 个账号被存到了usernames列表中,对应的密码被存到了passwords中。我们可以使用input()函数来获取用户输入的账号和密码,这部分的代码我也帮你写好了,只剩下登录的核心逻辑login()函数等着你来完善,要求如下:login()函数有 2 个参数,分别是账号和密码; 首先进行账号判断,...原创 2022-02-08 23:48:14 · 4529 阅读 · 0 评论