ChatGPT彻底改变了开发代码的方式。然而,大多数软件开发人员和数据专业人员仍然没有使用ChatGPT来改进和简化他们的工作。
这就是为什么我在这里概述5种不同的功能,以提高日常工作的速度和质量。
您可以在日常工作中使用它们。让我们一起探索ChatGPT能有多么强大的表现。
警告:切勿将关键代码或信息与ChatGPT一起使用。
1. 生成编码框架
ChatGPT是我从头开始构建新项目的秘密武器。只需几个提示,它就可以生成我需要的代码框架,包括我选择的技术、框架和版本。它不仅每次为我节省了至少一个小时左右的工作,而且还有助于保持我的文档(或团队的文档)的有序性和时效性。这就像在团队中多了一双手!
例如,想象我想使用一些外部API。我可以要求ChatGPT为我起草一个初始代码结构。
使用Python生成一个集成了外部API的样板代码。
ChatGPT立即回答:
和ChatGPT聊天的截图:ChatGPT给了我一个代码框架
或者我甚至可以要求一个骨架来使用Selenium抓取LinkedIn,而ChatGPT给我下面的输出。
fromseleniumimportwebdriver
fromselenium.webdriver.common.keysimportKeys
importtime
# Initialize the web driver初始化网页驱动
driver = webdriver.Firefox()
# Navigate to LinkedIn导航到LinkedIn
driver.get("https://www.linkedin.com/")
# Find the email and password input fields查找电子邮件和密码输入域
email = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")
# Enter your credentials输入你的凭据
email.send_keys("YOUR_EMAIL")
password.send_keys("YOUR_PASSWORD")
# Click the login button点击登录按钮
driver.find_element_by_xpath("//button[@type='submit']").click()
# Wait for the page to load等待页面加载
time.sleep(5)
# Navigate to the profile of the desired user导航到所需用户的配置文件
driver.get("https://www.linkedin.com/in/USER_PROFILE_NAME")
# Extract the information you want from the page从页面中提取你想要的信息
name = driver.find_element_by_xpath("//span[@class='inline t-24 t-black t-normal peak-words']").text
location = driver.find_element_by_xpath("//span[@class='t-16 t-black t-normal inline-block']").text
print(name)
print(location)
# close the powser关闭浏览器
driver.quit()
很简单对吧?你可以使用ChatGPT来尝试任何你能想到的项目。
2.研究和比较
决定如何实现某些东西可能很困难,尤其是在有多种选择可供选择的情况下。我的首选方法是为每种方法创建一个基本的概念证明,然后进行比较。但是,在ChatGPT的帮助下,这个过程变得简单多了。
我现在可以直接询问它的专家意见,哪个选项或库对我的代码开发是最好的。这可以节省我在决策过程中的时间和精力,并确保我使用最好的工具来完成这项工作。
假设我想使用地理空间数据,但我不确定我应该使用Geopandas还是Plotly。我可以要求ChatGPT为我进行比较这两个库它立即回答了两个库之间的主要差异。
和ChatGPT聊天的截图:ChatGPT向我解释了geopandas和plot之间的区别
如果现在我想抓取一个网站,我可以问为了做到这一点能选择的最好的库是什么。ChatGPT的答案是Python中最流行的网页抓取库。
和ChatGPT聊天的截图:ChatGPT解释了最流行的抓取网站
你甚至可以问,对于你想抓取的网站来说,什么是最好的选择尽管ChatGPT很可能会警告你,它将违反该网站的内容政策所以一定要小心。
抓取社交网络的最佳选择是什么?
和ChatGPT聊天的截图:ChatGPT解释了抓取社交网络的最佳选择
3.理解代码
我们都经历过,努力理解一个不是我们创建的代码库。浏览一个复杂而组织混乱的代码也被称为意面代码(spaghetti code)可能是一个令人沮丧和耗时的任务。
但是,有了ChatGPT,理解一个新的代码库就变得容易多了。我现在可以简单地让它解释代码的功能,并且很快就能理解它。再也不用浪费宝贵的时间和精力去破译写得很糟糕的代码了。
让我们想象一下,我正在努力获取Linkedin的信息,然后我在互联网上发现了一个随机的代码,这个代码可以滚动到Linkedin的招聘网站。
以下代码有什么作用?[在此处插入代码]
#We find how many jobs are offered.我们找到了多少个工作机会。
jobs_num = driver.find_element(By.CSS_SELECTOR,"h1>span").get_attribute("innerText")
iflen(jobs_num.split(',')) >1:
jobs_num =int(jobs_num.split(',')[0])*1000
else:
jobs_num =int(jobs_num)
jobs_num =int(jobs_num)
#Here I choose manually a number of jobs, so it wont take that long:在这里我手动选择了一些作业,以缩短花费时间
jobs_num =1000;
#We create a while loop to powse all jobs.我们创建一个while循环来浏览所有的作业。
i =2
whilei
)+1:
#We keep scrollind down to the end of the view.我们一直向下滚动到视图的结尾。
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
i = i +1
print("Current at: ", i,"Percentage at: ", ((i+1)/(int(jobs_num/2)+1))*100,"%",end="\r")
try:
#We try to click on the load more results buttons in case it is already displayed.我们尝试点击载入更多的结果按钮,以防它已经显示出来。
infinite_scroller_button = driver.find_element(By.XPATH,".//button[@aria-label='Load more results']")
infinite_scroller_button.click()
time.sleep(0.1)
except:
#If there is no button, there will be an error, so we keep scrolling down.如果没有按钮,就会出错,所以我们继续向下滚动。
time.sleep(0.1)
pass
ChatGPT立即给出了答案,并对上面的代码进行了详细的解释。您甚至可以在给定的代码部分中要求一些更多的细节只要稍微使用一下ChatGPT,您就会发现它所能创造的所有奇迹。
和ChatGPT聊天的截图:ChatGPT解释了我不理解的代码
4.为我们的代码添加注释
ChatGPT还可以帮助我们提高代码的质量和可维护性。通过要求它逐行添加注释,我们可以确保我们的代码在发布之前被正确地记录下来。这消除了对未注释代码的需求,使其他人更容易理解和使用我们的代码。
ChatGPT可以显著提高可读性、可维护性以及与他人的协作。
让我们假设之前的代码根本没有注释。我们可以让ChaGPT直接添加注释。
为以下代码添加注释[在此处插入代码]
# Find the number of jobs offered on the website查找网站上提供的职位数量
jobs_num = driver.find_element(By.CSS_SELECTOR,"h1>span").get_attribute("innerText")
# Check if the number of jobs contains a ',' and if so, convert it to number * 1000检查作业数是否包含一个’,’,如果是,将其转换为* 1000
iflen(jobs_num.split(',')) >1:
jobs_num =int(jobs_num.split(',')[0])*1000
else:
jobs_num =int(jobs_num)
# Convert jobs_num to an integer将jobs _ num转换为一个整数
jobs_num =int(jobs_num)
# Set the number of jobs to scrape to 1000设置需要抓取的工作数量为1000
jobs_num =1000;
# Initialize a counter variable to scroll through the jobs初始化一个计数器变量来滚动作业
i =2
# Start a while loop to scroll through the jobs启动 while 循环以滚动作业
whilei
)+1:
# Scroll to the bottom of the page滚动到页面底部执行
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
# Increment the counter variable增加计数器变量
i = i +1
# Print the current number of jobs scrolled through and the percentage of completion打印当前滚动的工作数量和完成的百分比
print("Current at: ", i,"Percentage at: ", ((i+1)/(int(jobs_num/2)+1))*100,"%",end="\r")
try:
# Try to locate the "Load more results" button and click on it尝试找到“载入更多结果”按钮并点击它
infinite_scroller_button = driver.find_element(By.XPATH,".//button[@aria-label='Load more results']")
infinite_scroller_button.click()
# Sleep for 0.1 seconds睡眠0.1秒
time.sleep(0.1)
except:
# If the button is not present, sleep for 0.1 seconds and continue scrolling#如果没有按钮,睡0.1秒,继续滚动
time.sleep(0.1)
pass
5.使用一些样式重写代码
ChatGPT不仅是理解不熟悉的代码的一个有价值的工具,它还可以帮助我们确保我们自己的代码遵循行业标准和惯例。通过要求它修正我们的代码以符合PEP-8标准,或者甚至为我们的编码风格创建一个自定义约定-我们可以避免在合并来自不同库或团队的代码时进行昂贵且耗时的重构。
这有助于简化协作过程并使其更高效。总体而言,ChatGPT是一个多功能工具,可以提高我们代码库的质量和可维护性。
如果我们要求ChatGPT使用PEP-8标准编写前面的代码,它会直接给我们重构后的代码。
使用PEP-8 标准重写以下代码[在此处插入代码]
和ChatGPT聊天的截图:ChatGPT按照pep8标准给出我们的代码
主要结论
我希望在这篇文章之后,您意识到ChatGPT可以帮助我们提高工作效率并创建更高质量的输出。我知道人们很容易陷入这样的陷阱,认为人工智能最终可能会接管我们的工作,但人工智能被正确使用后可以成为一种强大的能被我们利用的资产。
然而,重要的是要记住,在使用人工智能时,批判性思维仍然是关键,就像与我们的人类同事一起工作一样。
因此,在您使用ChatGPT之前,请务必先花时间审查和评估它们。相信我, 最终是值得的!
让我知道ChatGPT是否通过其他一些好的功能让您感到惊讶。我会在评论中读到你!:D
数据总是有更好的想法-相信它。