ChatGPT 完全改变了开发代码的方式。然而,大多数软件开发人员和数据专业人员仍然没有使用 ChatGPT 来改进和简化他们的工作。这就是为什么我在这里列出5个不同的特点,以提高速度和质量在您的日常工作。你可以在你的日常工作中使用它们。让我们一起来发现如何使用它们。
警告: 不应在 ChatGPT 中使用关键代码或信息。
1. 生成代码框架
在从零开始构建新项目时,ChatGPT 是我的秘密武器。只需几个提示,它就可以生成我需要的代码框架,包括我选择的技术、框架和版本。它不仅每次为我节省了至少一个小时左右的工作量,而且还有助于保持我的文档(或团队的文档)井井有条,并且是最新的。就好像队里多了一双手!
例如,假设我想使用一些外部 API。我可以让 ChatGPT 为我起草一个初始代码结构。
ChatGPT 马上回答道:
或者我甚至可以要求提供一个框架来使用 Selenium 刮 LinkedIn,ChatGPT 给我以下输出。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time# Initialize the web driver
driver = webdriver.Firefox()# Navigate to 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 break-words']").text
location = driver.find_element_by_xpath("//span[@class='t-16 t-black t-normal inline-block']").textprint(name)
print(location)# close the browser
driver.quit()
很简单,对吧? 试着用你能想到的任何项目挑战 ChatGPT。
2.研究和比较
就如何实施一些任务的具体路径时,尤其是当有多种选择可供选择时。我的首选方法是为每种方法创建一个基本的概念证明,然后将它们进行比较。但是,在 ChatGPT 的帮助下,这个过程变得简单多了。
我现在可以直接询问它的专家意见,了解哪个选项或库最适合我的代码开发。这节省了我在决策过程中的时间和精力,并确保我使用最好的工具来完成工作。
假设我想处理地理空间数据,但不确定是否应该使用 Geopandas 或 Plotly。我可以让 ChatGPT 为我进行比较——包含一个类型 ——它会立即回答两个库之间的主要区别。
如果现在我想抓取一个网站,我可以问问最好的库是什么。 ChatGPT 使用 Python 中最流行的网络抓取库来回答。
你甚至可以询问你想要抓取的网站的最佳选择是什么——尽管 ChatGPT 很可能会警告你这将违反该网站的内容政策——所以要小心。
所以,用来最好抓取一个社交网站的选择是什么呢??
3.理解代码
我们总是要花很多时间在理解不是我们自己所写的代码文件。在复杂的代码任务或者说没有被好好整理过的代码比如一些“屎山代码”或者“祖传代码”中定位到重要的位置是一个让人很不爽并且十分浪费时间的事情。
不过,有了ChartGpt理解这些不是自己写的代码或者轮子就变得容易了很多。我可以现在很简单的要求模型来解释某一段的代码的功能并且瞬间理解这个任务。不要再花费你宝贵的时间和努力来做这些“破译”一些蹩脚代码啦,把他交给模型。
想象一下你现在有这个这样的爬取任务:你正在尝试爬取一个求职网站的链接。然后你在网上发现了一个可以完成你的任务的代码。这个代码可以帮助你下滑目标链接网页并且得知他的所能提供的工作数量。
这个在网上找到的代码是怎么样的呢?
#寻找网页的职位数量。
jobs_num = driver.find_element(By.CSS_SELECTOR,"h1>span").get_attribute("innerText")
if len(jobs_num.split(',')) > 1:jobs_num = int(jobs_num.split(',')[0])*1000
else:jobs_num = int(jobs_num)jobs_num = int(jobs_num)#这里我自己设置一下为3000,这样这个代码就不会跑太长的时间了。
jobs_num = 1000;#我们创建一个循环来浏览所有的工作。
i = 2
while i <= int(jobs_num/2)+1:#我们一直保持向下滑动来到界面的最下端。driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")i = i + 1print("Current at: ", i, "Percentage at: ", ((i+1)/(int(jobs_num/2)+1))*100, "%",end="\r")try:#我们尝试点击已经在屏幕下方存在的获得更多的按钮。infinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")infinite_scroller_button.click()time.sleep(0.1)except:#如果说这里没有代码,这就是出现了一个错误,所以继续下滑。time.sleep(0.1)pass
ChatGPT则能给出上述代码正确且十分细节的解释。你甚至可以再来追问这个代码的某处细节的意义所在-——只是在人群中多看了ChatGPT一眼,就无法忘却他如从强大的能力。
4.在你的代码中加入注释
ChatGPT可以帮助你来提高你书写代码的质量和可维护行(maintainability)。你可以一行行的来让ChatGPT给你添加注释。这样可以使你确信你的代码在发布之后不会出现不恰当表述的问题。这消除了对未注释代码的需要并且大家会更加的容易来理解你的代码。
ChatGPT 可以很明显的提高代码阅读能力,维护性和与他人合作性!
给下面的代码添加一些评论
# 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
if len(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 = int(jobs_num)# Set the number of jobs to scrape to 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 i <= int(jobs_num/2)+1:# Scroll to the bottom of the pagedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")# Increment the counter variablei = i + 1# Print the current number of jobs scrolled through and the percentage of completionprint("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 itinfinite_scroller_button = driver.find_element(By.XPATH, ".//button[@aria-label='Load more results']")infinite_scroller_button.click()# Sleep for 0.1 secondstime.sleep(0.1)except:# If the button is not present, sleep for 0.1 seconds and continue scrollingtime.sleep(0.1)pass
很令人印象深刻对吧,没有注释的代码的时代结束了!
5.用一些风格重写我们的代码
ChatGPT不仅是在帮助你理解不熟悉的代码上更为有价值,它还可以帮助你确保你自己的代码保持工业标准和惯例(conventions)。
你可以要求它来纠错你的代码并且遵守(conform)Pep-8规定,你也可以自己定制化生成一种代码风格。当你需要从不同的报告或者团队拼接代码的时候这个方法十分有用,我们可以避免花费时间和昂贵的费用(costly)来重构(refactoring )你的代码。
这将会使得你们的生产流程(streamline) 和合作过程变得十分的高效。
当我们要求ChatGPT 用Pep-8标准来重写之前的代码的时候,他会直接给我们重构过的(refactorized)代码。
你能用 Pep8 标准重写下面的代码吗
总结
我希望你在看完这篇文章之后能够更深刻的理解ChatGpt。我更希望这能让你能够更有创造力并且有更为高质量的产出。我知道你肯定会陷入一些困惑之中——如果将来AI最终取代了我们的工作那将怎么办,但是我还是想告诉你AI只会成为你工作中更为有利的帮手。
然而,一个很重要的事情你需要记得:和AI一起工作就像你以前和人类同事一起共事一样,没什么不一样!
所以呢,在你冲向AI生成器的应用的回答的时候,请你提前去审视并且评估(assess )一下。请相信我,这个过程是值得的!
请让我知道ChatGpt有没有其他令人惊奇的特点,非常希望你能在评论区留言告诉我!
数据总是比我们做的更好——信任它。