5分钟实现网站复刻:AI助力前端开发

thbcm阅读(195)

原标题:只需5分钟,水灵灵地实现网站复刻!

作为前端开发者,我们的日常工作中总是有各种各样的 UI 布局任务。从设计稿到代码实现,往往需要花费大量时间去调整布局、优化细节,这种重复性的工作不仅浪费时间资源,还无形中加重了我们的工作负荷,让人感到疲惫。‍‍‍

前段时间,我在 GitHub 上偶然发现了一个热门的开源项目 Screenshot-to-Code,它能够通过 AI 自动生成前端代码,并且支持生成多种不同技术栈的代码,如 HTML + TailwindReact + Tailwind 等等。

想到可以借助 AI 来帮助我开发复杂的页面,我立刻决定尝试一下。

环境搭建

首先,我们可以将项目 Clone 到本地并用 IDE 打开,准备本地部署启动。然而,面对冗长的项目 Readme 文档,直接阅读可能会带来很重的视觉负担。

这个时候我想到,我刚好有安装豆包MarsCode 编程助手插件,决定尝试下能否让 AI 告诉我该如何进行部署。在向 AI 助手提问之后,它立刻按照步骤指引我,需要先进入后端目录执行哪些命令,再进入前端目录执行哪些命令。

按照它给到的命令执行后,我成功地启动了项目:

但项目只支持 GPT 和 Claude 的 API,这些 API 都要收费,我只想用免费的 Gemini 模型,要怎么修改呢?

使用编程助手增加 Gemini 模型

首先,我找到模型配置的代码 model.ts,当我在注释上写了需要增加 Gemini 模型后,编程助手立刻就帮我生成了代码,我只需要按下 TAB 键采纳即可。

接着在 backend/.envbackend/config.py 增加 Gemini 的 API KEY:

#.env增加
keyGEMINI_API_KEY=xxxxxx


#config.py增加获取key
GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", None)

然后可以在Llm.py 中增加 Gemini 模型以及调用 Gemini 的代码。这时我发现有一个 stream_claude_response_native 方法,看起来是在调用 Claude,我们让豆包MarsCode 编程助手解释一下:

通过豆包MarsCode 编程助手的解释,确认是在调用 Claude。那我们需要增加调用 Gemini 的代码。编写代码过程中,通过编程助手提供的代码补全功能,效率获得了显著的提升。

class Llm(Enum):
    GPT_4_VISION = "gpt-4-vision-preview"
    GPT_4_TURBO_2024_04_09 = "gpt-4-turbo-2024-04-09"
    GPT_4O_2024_05_13 = "gpt-4o-2024-05-13"
    CLAUDE_3_SONNET = "claude-3-sonnet-20240229"
    CLAUDE_3_OPUS = "claude-3-opus-20240229"
    CLAUDE_3_HAIKU = "claude-3-haiku-20240307"
    CLAUDE_3_5_SONNET_2024_06_20 = "claude-3-5-sonnet-20240620"
    //新增gemini
    GEMINI_1_5_PRO_LATEST = "gemini-1.5-pro-latest"

    

    
async def stream_gemini_response(
    messages: List[ChatCompletionMessageParam],
    api_key: str,
    callback: Callable[[str], Awaitable[None]],
) -> str:
  genai.configure(api_key=api_key)

  
  generation_config = genai.GenerationConfig(
    temperature = 0.0
  )
  model = genai.GenerativeModel(
    model_name = "gemini-1.5-pro-latest",
    generation_config = generation_config
  )
  contents = parse_openai_to_gemini_prompt(messages);

  
  response = model.generate_content(
    contents = contents,
    #Support streaming
    stream = True,
   )

   
  for chunk in response:
    content = chunk.text or ""
    await callback(content)


  if not response:
    raise Exception("No HTML response found in AI response")
  else:
    return response.text;


def parse_openai_to_gemini_prompt(prompts):
    messages = []
    for prompt in prompts:
        message = {}
        message['role'] = prompt['role']
        if prompt['role'] == 'system':
            message['role'] = 'user'
        if prompt['role'] == 'assistant':
            message['role'] = 'model'
        message['parts'] = []
        content = prompt['content']
        if isinstance(content, list):
            for content in prompt['content']:
                part = {}
                if content['type'] == 'image_url':
                    base64 = content['image_url']['url']
                    part['inline_data'] = {
                        'data': base64.split(",")[1],
                        'mime_type': base64.split(";")[0].split(":")[1]
                    }
                elif content['type'] == 'text':
                    part['text'] = content['text']
                message['parts'].append(part)
        else:
            message['parts'] = [content]
        messages.append(message)
    return messages

写完代码之后,我们可以使用【注释代码】功能给代码加上注释,让代码更加规范:

之后,我们还需要在 generate_code 增加调用前面写的 Gemini 方法:



if validated_input_mode == "video":
                if not anthropic_api_key:
                    await throw_error(
                        "Video only works with Anthropic models. No Anthropic API key found. Please add the environment variable ANTHROPIC_API_KEY to backend/.env or in the settings dialog"
                    )
                    raise Exception("No Anthropic key")


                completion = await stream_claude_response_native(
                    system_prompt=VIDEO_PROMPT,
                    messages=prompt_messages,  # type: ignore
                    api_key=anthropic_api_key,
                    callback=lambda x: process_chunk(x),
                    model=Llm.CLAUDE_3_OPUS,
                    include_thinking=True,
                )
                exact_llm_version = Llm.CLAUDE_3_OPUS
            elif (
                code_generation_model == Llm.CLAUDE_3_SONNET
                or code_generation_model == Llm.CLAUDE_3_5_SONNET_2024_06_20
            ):
                if not anthropic_api_key:
                    await throw_error(
                        "No Anthropic API key found. Please add the environment variable ANTHROPIC_API_KEY to backend/.env or in the settings dialog"
                    )
                    raise Exception("No Anthropic key")


                completion = await stream_claude_response(
                    prompt_messages,  # type: ignore
                    api_key=anthropic_api_key,
                    callback=lambda x: process_chunk(x),
                    model=code_generation_model,
                )
                exact_llm_version = code_generation_model
            # 增加调用gemini
            elif (           
                code_generation_model == Llm.GEMINI_1_5_PRO_LATEST
            ):
                if not GEMINI_API_KEY:
                    await throw_error(
                        "No GEMINI API key found. Please add the environment variable ANTHROPIC_API_KEY to backend/.env or in the settings dialog"
                    )
                    raise Exception("No GEMINI key")


                completion = await stream_gemini_response(
                    prompt_messages,  # type: ignore
                    api_key=GEMINI_API_KEY,
                    callback=lambda x: process_chunk(x),
                )
                exact_llm_version = code_generation_model

            
            else:
                completion = await stream_openai_response(
                    prompt_messages,  # type: ignore
                    api_key=openai_api_key,
                    base_url=openai_base_url,
                    callback=lambda x: process_chunk(x),
                    model=code_generation_model,
                )
                exact_llm_version = code_generation_model

最后安装 Gemini SDK:

cd backend
poetry add google-generativeai

效果呈现

改完所有代码再启动项目后,就可以看到已经有 Gemini 模型啦,让我们来试试效果:‍

我们上传豆包MarsCode 官网截图,点击生成后,右侧即为 AI 生成的效果,可以看到还原度还不错。

由于自动生成的字体没有渐变色的效果,我们可以通过给 AI 提要求,增加渐变色效果,可以明显看到,在渐变色字体的设计下页面的视觉效果更加高级了!‍

豆包MarsCode 编程助手的帮助下,我们在项目上增加了免费了 Gemini 模型。有了它,项目开发更加高效便捷了,官网复刻,轻松拿下!

大家赶快来尝试一下吧!

编程狮推荐:高效解决时间戳转换难题的在线工具

thbcm阅读(165)

时间戳的转换是在编程开发中一项常见且重要的任务。无论是处理日志记录、数据分析还是与时间相关的业务逻辑,准确地进行时间戳转换都至关重要。今天,编程狮小编要给大家种草一款超实用的时间戳转换工具,让你的编程开发更加顺畅高效。

一、什么是时间戳?

时间戳(Unix timestamp),又称 Unix 时间或 POSIX 时间,是一种表示时间的方式。它定义为从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒起至现在的总秒数。这种时间表示方式不仅在 Unix 系统、类 Unix 系统中广泛应用,也被许多其他操作系统所采用。

二、时间戳转换工具的必要性

在实际编程开发中,我们经常需要在不同的时间格式之间进行转换。例如,将时间戳转换为可读的日期时间格式,以便于记录和展示给用户;或者将用户输入的日期时间转换为时间戳,方便在程序中进行计算和存储。手动进行这些转换不仅繁琐,而且容易出错,尤其是在处理复杂的时间计算和跨时区问题时。而一款优秀的时间戳转换工具可以帮助我们快速、准确地完成这些任务,节省大量的时间和精力。

三、在线时间戳转换工具的优势

  • 实时转换与操作简便 工具界面简洁直观,操作非常简单。它提供了两种转换方向:Unix 时间戳转换为北京时间,以及北京时间转换为 Unix 时间戳。你只需在相应的输入框中输入时间戳或日期时间,点击转换按钮,即可立即得到转换结果。例如,当你输入一个 Unix 时间戳,如 1734678682,工具会迅速将其转换为北京时间 “2024/12/20 15:11:22”,让你一目了然。

  • 多语言代码示例助力编程 对于程序员来说,在不同编程语言中实现时间戳转换是日常工作中经常遇到的问题。这款工具贴心地为我们提供了多种常见编程语言(如 JavaJavaScriptPythonPHP 等)的代码示例,告诉我们如何获取当前时间戳、如何在时间戳和普通时间之间进行转换。这对于新手程序员来说是非常宝贵的学习资源,同时也为有经验的开发者提供了快速参考,帮助他们在不同项目中高效地处理时间戳相关操作。比如,在 Java 中获取当前时间戳可以使用 currentTimeMillis() 方法,将时间戳转换为普通时间可以使用 SimpleDateFormat 类进行格式化。这些代码示例清晰明了,让你无需在各种文档中查找,即可轻松将时间戳转换功能集成到自己的程序中。

四、如何使用时间戳工具?

  1. 访问工具页面:

首先,打开浏览器,访问W3CschoolUnix时间戳转换工具页面。

  1. 转换Unix时间戳为北京时间: 输入Unix时间戳:在页面的输入框中输入你想要转换的Unix时间戳。例如,输入1734679858查看结果:输入后,页面会自动将Unix时间戳转换为对应的北京时间,并显示出来。
  1. 转换北京时间为Unix时间戳: 输入北京时间:在页面的相应输入框中输入你想要转换的北京时间。通常需要按照特定的格式输入,如2025年01月29日00时00分00秒查看结果:输入后,页面会自动将北京时间转换为对应的Unix时间戳,并显示出来。
  1. 复制结果: 转换完成后,你可以直接复制显示的结果,用于你的编程项目或其他需要时间戳的场景。
  1. 刷新页面获取当前时间戳: 如果你需要获取当前的Unix时间戳,只需刷新页面,页面会自动显示当前的Unix时间戳。 这个工具的界面简洁直观,操作步骤简单,即使是初学者也能快速上手。无论是进行时间戳的转换,还是学习不同编程语言中如何获取和转换Unix时间戳,这个工具都能提供极大的帮助。

五、总结

这款 Unix 时间戳转换工具功能强大、使用便捷,无论是对于编程初学者还是经验丰富的开发者,都是一个不可或缺的得力助手。它能够帮助我们轻松应对各种时间戳转换需求,提高编程效率,减少错误。如果你在编程过程中经常需要处理时间相关的操作,不妨试试这款工具,相信它一定会给你带来意想不到的便利。快来体验吧,让时间戳转换不再成为你的困扰!戳>>>Unix时间戳(timestamp)转换工具

立即访问编程狮在线工具库,获取更多开发人员在线工具。

一文教会你!用豆包MarsCode开发「评论情感分析机器人」

thbcm阅读(176)

“您好,想问问你们卖的这商品是什么啊?”
“您好亲亲,我们卖的是最新款手机壳!”
“不是,我是想问你们卖的这都是什么啊???这么难看。”

本文!重磅!教大家不花一分钱学会用豆包MarsCode 搭建「商品评论情感分析机器人」!快速了解消费者对商品的真实看法和情感倾向。

Node.js 推出,JavaScript 跃升为一门全栈开发语言。开发者可以用同一种语言构建完整的 Web 应用,从后端服务到用户界面,甚至最新的 AI 应用,JavaScript 都能胜任。今天就让我们一起学习基于 JavaScript 开发的「商品评论情感分析机器人」!

工欲善其事 必先利其器

拥有一个熟悉的开发环境至关重要。于我个人而言,平日里最为青睐的当属 VSCode 这款轻量级代码编辑器,它页面简洁,安装过程便捷,能够同时兼容 Windows 和 Mac 系统。并且在 VSCode 中存有众多实用插件可供安装,比如豆包MarsCode(官方下载地址:https://www.marscode.cn/?utm_source=advertising&utm_medium=w3cschool.cn_ug_cpa&utm_term=hw_marscode_bcs&utm_content=home )。 豆包MarsCode安装教程:https://www.w3cschool.cn/marscode/marscode-quickstart.html

豆包MarsCode 具备智能代码生成功能,能猜测到我想要写的代码并主动提示,还能根据我的需求生成代码,帮我剖析 bug 产生的原因,让工作效率翻倍。

对于不想配置环境的小伙伴们,还可以使用免费的豆包MarsCode IDE,开箱即用的 Node.js 环境很适合新手小白。

申请免费的豆包 API

基于大模型的应用必然需要访问大模型的 API 服务,虽然当前 OpenAI 的 API 越来越难以获取,但令人惊喜的是,国内各大厂的模型能力已逐步提升至相对成熟的水平,而且还均拥有免费的使用额度!比如豆包大模型,每个规格的模型都有 50 万免费 tokens 的额度,接口使用方式也与 OpenAI 完全相同! 在火山方舟中注册账号,创建 API Key 并将想用的模型部署为在线服务,平台就可以直接为我们提供模型的调用代码。

免费调用额度

添加API Key

配置本地环境

火山方舟平台为我们提供了模型调用代码,但想跑起来这段代码还需要先在本地配置好 Node.js 环境。

我们可以在豆包MarsCode 中直接询问 AI 助手:“ Mac 电脑如何安装 Node.js 环境”,按照 AI 助手给我们的指示选择一种方式安装,在终端中执行 node -vnpm -v,如果能够正常输出版本号,则说明我们成功安装了 Node.js。

根据火山方舟上的指引,我们还需要手动安装 OpenAI 软件包,在终端中执行 npm install openai 之后就完成了本地环境的配置。

在本地跑通模型调用代码

选择一个适合的本地路径执行 npm init 即可交互式地进行项目初始化,命令行会提示我们输入一些关于项目的元数据信息,如项目名称版本描述等。我们可以根据需要填写这些信息,或直接按「回车键」接受默认值。

询问豆包MarsCode AI 助手可以了解更多初始化项目的详细步骤。

将火山方舟平台提供的代码复制到本地开发环境内,我们可以在豆包MarsCode 中针对不理解的代码向 AI 助手进行提问,例如示例代码中的 apiKey 需要从环境变量中获取,我们可以询问跟 JS 语法相关的知识,也可以询问在不同操作系统中配置环境变量的方法。

按照指引,在环境变量中配置 ARK_API_KEY 之后,我们就可以尝试执行测试代码。

竟然遇到报错了!命令行中给了我们一些提示,在 package.json 中添加”type“: “module” 。

我们可以向豆包MarsCode AI 助手询问错误原因,它会给我们更具体的解决方案,我们也能根据 AI 助手的回复了解 JS 的执行原理。

修改代码之后再次执行就能成功获取豆包模型返回的结果了。

开发情感分析相关代码

要与豆包 API 对话,则需要在消息数组中提供一个或多个消息,示例代码中涉及到了 systemuser 两种角色,这时我们可以向 AI 助手询问:“system 和 user 有什么区别”。

若想开发情感分析的应用,通过提示词工程的方式即可实现,在 system prompt 中填写如“你是一个用户评论情感分析专家”的身份描述,在用户提示中可以填写少量的示例,这些示例能够向人工智能展示您期望交互以何种方式展开,从而指导人工智能对类似的提示做出响应。

如果想把用户输入动态注入到 prompt 中则需要用到模板字符串,相关的语法知识也可以从跟 AI 的对话中获得。

具体的代码如下所示:

let few_shot_prompt = `
      以下为几个评论判断实例,请依据示例对新输入内容的情感态度进行判断
      评论:我非常喜欢这个产品,它非常实用。
      情感:正面。
      评论:这个产品非常糟糕,我无法使用它。
      情感:负面。
    `;
let message = [
  {
    role: "system",
    content:
      "你是一个用户评论情感分析专家,请根据用户的评论判断评论的情感是正面还是负面并直接输出,不输出其他内容。",
  },
  {
    role: "user",
    content: `${few_shot_prompt}\n 评论:${comment}\n 情感:\n`,
  },
];

使用上述代码替换掉示例代码中的 messages 就能够进行用户评论的情感判断了,只要在代码中把用户评论赋值给 comment 就能对其情感状态进行判断。

需求当然不止这么简单。我们希望能从命令行中获得用户的评论数据并传给豆包。有了豆包MarsCode AI 之后,仅需 10 秒钟就能完成代码改造!如下图所示,只要我能把需求准确的描述给 AI 助手,他就能很快地把代码提供给我,直接执行也没有问题。

更进一步,倘若我们期望程序可以反复处理用户输入,而非仅调用一次便退出程序,同样能将此需求告知 AI 助手,它会给出满足需求的新代码,从而最终打造出能够多次处理产品评论情感态度的小应用。

完整代码呈现

在豆包MarsCode 的帮助下,即便是从未涉足过 JavaScript 应用开发领域的新手,也可以开发出实用的 AI 工具。豆包MarsCode 的 AI 问答、错误修复以及代码补全等功能,在开发过程中都能提供非常实用的帮助。完整的代码如下:



import OpenAI from "openai";
import readline from "readline";


const openai = new OpenAI({
  apiKey: process.env.ARK_API_KEY,
  baseURL: "https://ark.cn-beijing.volces.com/api/v3",
});


async function main() {


  let few_shot_prompt = `
    以下为几个评论判断实例,请依据示例对新输入内容的情感态度进行判断
    评论:我非常喜欢这个产品,它非常实用。
    情感:正面。
    评论:这个产品非常糟糕,我无法使用它。
    情感:负面。
  `;


  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
  });


  function askQuestion() {
    rl.question("请输入你的评论(或输入 '退出' 结束程序):", async (answer) => {
      if (answer.toLowerCase() === '退出') {
        rl.close();
        return;
      }


      let message = [
        {
          role: "system",
          content:
            "你是一个用户评论情感分析专家,请根据用户的评论判断评论的情感是正面还是负面并直接输出,不输出其他内容。",
        },
        {
          role: "user",
          content: `${few_shot_prompt}\n 评论:${answer}\n 情感:\n`,
        },
      ];


      try {
        const completion = await openai.chat.completions.create({
          messages: message,
          model: "ep-20240809163655-bp86r",
        });


        console.log(completion.choices[0]?.message?.content);
      } catch (error) {
        console.error("发生错误:", error);
      }


      // 继续询问
      askQuestion();
    });
  }


  askQuestion();
}


main();

无需一分钱开发评论情感分析机器人,感兴趣的大家点击「豆包MarsCode」即可跳转豆包MarsCode 尝试开发哦!

【学习路线】Python Web开发 详细知识点学习路径(附学习资源)

thbcm阅读(187)

学习本路线内容之前,请先学习Python的基础知识

其他路线:

Python基础 >>

Python进阶 >>

Python爬虫 >>

Python数据分析(数据科学) >>

Python 算法(人工智能) >>

Python Web开发 >>

Python自动化运维 >>

符号表解释:

可根据知识点前的符号按需选学,并获取知识点描述和学习资源。

 必学:核⼼知识点,经常⽤到。

建议学:重要知识点,专业⼈⼠的基⽯。

⾯试重点:经常出现的⾯试知识点。

可有可⽆:边缘区域,不是必须探索的地⽅。

知识描绘:知识点描述,快速理解。

学习资源:关联的学习资源。

学习⽬标:阶段性⽬标。

学习路线:Web开发

1. 目标:开发在线商城

  • 目标:开发一个简单的在线商城,包括商品展示、购物车、订单管理等功能,使用Django的ORM进行数据库操作。

2.  Django框架

2.1 描述

  • Django:是一个用于构建Web应用程序的高级Python Web框架。

2.2 资源

2.3 安装Django

3. MVT 分层架构

3.1 描述

  • MVT:在Django中代表模型(Model),视图(View)和模板(Template),类似于MVC(模型-视图-控制器)模式。

3.2 组件

  • 模型(Model):定义数据模型,与数据库交互,处理数据的存储和检索。
  • 视图(View):处理用户请求,从模型中获取数据,并将数据传递给模板进行渲染。视图负责业务逻辑的处理。
  • 模板(Template):定义用户界面的呈现方式,接收来自视图的数据,并生成最终的HTML响应。

4. 模型与ORM

4.1  模型基础

  • 描述:Django提供了一个抽象的模型层,用于结构化和操作网页应用程序的数据。
  • 资源:模型基础

4.2  ORM

  • 描述:ORM代表“对象关系映射”,是一种编程技术,用于在关系型数据库和面向对象编程语言之间建立映射关系。

5. 视图与模板

5.1  视图

  • 功能:处理用户请求,从模型中获取数据,并将数据传递给模板进行渲染。

5.2  模板

  • 功能:定义用户界面的呈现方式,接收来自视图的数据,并生成最终的HTML响应。
  • 模板语法:学习Django模板的语法和功能。
  • 静态资源:管理静态文件,如CSS和JavaScript文件。

6. 路由与Django Admin

6.1 路由

  • 功能:定义URL与视图函数之间的映射关系,将请求路由到特定的视图函数。

6.2 Django Admin 管理工具

  • 功能:提供强大的管理后台工具,自动生成用于管理数据库模型的界面。

7. 中间件与测试

7.1 中间件

  • 功能:在请求和响应处理过程中执行自定义操作,如CSRF保护、安全性、缓存、日志记录等。

7.2 测试

  • 功能:编写单元测试和集成测试,确保应用程序的稳定性和正确性。

8. 会话与鉴权

8.1 会话

  • 功能:跟踪和存储用户状态信息,如登录状态、购物车内容等。

8.2 鉴权

  • 功能:实现用户身份验证、权限管理和访问控制。

9. 文件上传与高级特性

9.1 文件上传

  • 功能:允许用户上传文件,并使用Django的文件字段存储和管理这些文件。

9.2 高级特性

  • 分页:将大量数据分成多个页面以提高性能和用户体验。
  • 缓存:减轻数据库负载并提高响应速度。
  • 序列化:将复杂的Python对象转换为可传输的数据格式,如JSON或XML。
  • 信号:事件处理机制,允许应用的不同部分之间进行解耦和通信。
  • Celery任务调度:异步执行长时间运行的任务,提高应用程序的性能和可扩展性。

10. Restful API 开发

  • Django REST framework:构建API,创建可读性强、易于维护的网络接口。

11. 部署

  • 部署:将开发好的网站放到服务器上,使人们能够访问。涉及配置服务器、数据库和确保网站在线可用。

12. 项目实战

  • 实战:将所学应用到实际项目中,包括设计、开发、测试和部署网站。

13.  前端基础

13.1 HTML

13.2 CSS

  • 描述:层叠样式表,用于设置网页的布局和样式。
  • 资源:CSS入门课程>>>

13.3 JavaScript

14. Flask框架

14.1 描述

  • Flask:一个轻量级的Python Web应用框架,用于快速构建Web应用程序。Flask适合用来写一些简单的项目和API接口。

14.2 资源

豆包MarsCode:Python新手快速掌握Matplotlib绘图

thbcm阅读(168)

原标题:豆包MarsCode,我的 Python 搭子

Python 是一门简单易学、功能强大的编程语言,无论你是学生、职场新人还是想要转行的朋友,都可以轻松上手。

今天给各位 Python 小白分享一个实用的编程学习技巧,教你如何使用豆包MarsCode的 AI 辅助来快速掌握 Python 中的 Matplotlib 框架,利用碎片时间学习,轻松画出如下的数据图表哦!

为什么是 Matplotlib

Matplotlib 是 Python 中最常用的绘图库之一,功能强大且易于使用。无论你是数据分析师、科研人员还是学生,掌握 Matplotlib 都能让你的数据可视化工作事半功倍!

安装豆包MarsCode 编程助手

在启动编码工作前,我们需要先下载安装豆包MarsCode 插件,本教程以在 Visual Studio Code 中为例。

Visual Studio Code 是一款轻量级且功能强大的代码编辑器,插件丰富,界面友好,搭配免费的豆包MarsCode 编程助手,让智能 AI 辅助你学习编码,效率加倍!

下载并安装 Visual Studio Code

安装豆包MarsCode

打开 Visual Studio Code 扩展窗口,在搜索框搜索MarsCode,找到豆包MarsCode 后单击 「install」,完成安装。

登录豆包MarsCode

登录后即可使用豆包MarsCode 编程助手,开始我们今天的条形图绘制学习。

配置 Python 环境

配置 Python 环境是学习 Python 的第一步,它确保你拥有正确的工具和依赖,以便顺利编写、运行和调试代码。让 AI 来告诉你该如何做吧!

打开豆包MarsCode 插件面板,根据你的设备机型向 AI 助手进行提问“Mac 或 Windows 如何安装 Pyhton 环境?”,本篇后文将以 Mac 举例。

根据 AI 助手给出的回答,我们可以清晰了解配置 Python 环境的每个步骤,顺利完成配置。

在 AI 助手提供的命令行代码块上方点击插入到终端,点击回车即可执行。

使用 Matplotlib 绘制条形图

今天我们尝试使用 Matplotlib 来绘制中国四个直辖市的 GDP 条形图,更清楚地呈现四个直辖市经济发展水平。

要使用 Matplotlib 首先需要安装对应库,我们可以向 AI 助手提问:如何安装 Matplotlib?

中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其 2017年上半年的GDP数据分别为12406.8亿、13908.57亿、9386.87亿、9143.64亿。对于这样一组数据,我们该如何使用条形图来展示各自的GDP水平呢?

我们可以先向 AI 助手进行提问:“中国的四个直辖市分别为北京市、上海市、天津市和重庆市,其2017年上半年的GDP分别为12406.8亿、13908.57亿、9386.87亿、9143.64亿,请帮我绘制一张条形图,其中轴标签为 GDP,标题为‘四个直辖市 GDP 大比拼’,刻度标签为‘北京市、上海市、天津市、重庆市’,Y 轴的标签范围为 5000 到 15000,同时需要对每个条形图添加数值标签,请生成对应代码。”

在 AI 提供的命令行代码块上方点击添加至新文件,回车即可自动创建新文件。

保存后我们点击右上角的执行按钮,即可产出一张条形图。

此时我们会发现所产出的条形图无法正常显示中文,这应该怎么办呢?别着急,AI 助手可以帮助我们解决这个问题。

我们可以向 AI 助手提问:“中文无法正常显示该怎么办?”

如果仍然未能正常显示,我们可以继续向 AI 助手追问解决方法,它会继续辅助我们找到合适的问题解决方案。

如果还想更改其他字体,也可以继续向 AI 助手提问,它会提供给我们更改字体的具体步骤,帮助我们顺利完成条形图项目。

步骤进行到这里,我们可以看到一张名为“四个直辖市 GDP 大比拼”的条形图就顺利生成了。

知识点总结

成功运行代码后还能够在 AI 助手的辅助下回顾相关知识点。我们可以先选中这段代码,然后向 AI 助手提问:“请总结这段代码中关于 Matplotlib 的知识点,帮助我学习这个库。”

可以看到 AI 助手很好地介绍了这段代码中涉及到的知识点,帮助我们进一步熟悉了 Matplotlib 框架。

今天的 Python 新手课堂就是这样啦,感兴趣的小伙伴速速点击豆包 MarsCode,借助豆包MarsCode 开启自己的编程之旅吧!

年轻人如何用豆包MarsCode完成暑期AI作业

thbcm阅读(178)

原标题:注意看,这届年轻人用豆包MarsCode 做暑期作业。

当我还吃着西瓜、吹着空调、刷着抖音的时候,突然想到:秋天来了,开学还会远吗?

更让我崩溃的是,突然想起老师布置的暑期作业还没开始写!我赶紧从床上跳起来看看作业是啥:“人人都来写一个 AI Agent”

虽然一暑假都在玩,但刷手机也让我发现一个新上线的 AI 编程助手:豆包MarsCode,听说可以用来学习代码。既然要做 AI 的作业,那我也要善用 AI 工具,今天我就来试试豆包MarsCode!‍

快速玩转仓库

首先我通过多年网上冲浪的经验,找到了一个非常满意的开源项目:https://github.com/andrewyng/translation-agent

没错,是吴恩达开源的 AI 翻译项目,不仅可以让我们调用 AI 来做翻译,还可以借助反思优化机制来调优翻译结果。

下载代码后,我直接打开 README 文件,满眼的英文让我头痛,于是我向 AI 助手提问:如何运行这个项目”,AI 助手迅速给我提供了运行这个项目的具体步骤,根据 AI 助手的指示,我一步一步操作,包括安装 Poetry,激活虚拟环境、配置 AI-Key 等。

功夫不负有心人,我成功 run 起来啦!英文成功翻译成了西班牙语。虽然我看不懂西语,但是成功运行起来的感觉十分不错。

高效阅读和修改代码

完成运行后,我也想深入理解下这段代码。于是我向 AI 助手提问:“当前使用的模型是什么”,可以看到,AI 助手顺利地帮我定位到了gpt-4o 模型。我又追问到:“我如何把这个模型更换成gpt-4-turbo”,AI 助手也可以帮我定位到模型引用部分,并给出详细的更换建议。

不过我觉得这个 case 还是有点太简单了,接下来让我给它上点难度。

目前翻译后的语言是西班牙语,但是我只能看懂汉语和德语,所以我想要把这段英文内容翻译成汉语和德语。我向 AI 助手求助:“如何让目标语言更换为德语、汉语两种语言”

输出内容教我改 example_script.py 文件。我按照输出内容更新,惊喜的是,我发现修改上文后,豆包MarsCode 可以结合我更新的内容给出下文的修改意见。

最终结合豆包MarsCode 的推荐意见,我完成了代码更新,并成功将原文翻译成了汉语和德语。

README 中说到,该项目主要可以实现反思和优化翻译的效果,从结果来看,这个翻译是已经优化过的。但怎么能明确地展示出原来翻译的结果和优化后的结果呢,让我来看看这个需要怎么修改。

首先我们先来阅读下源码,utils.py 这个文件中有多个函数,每个看起来都跟 LLM prompt 有关,于是我让 AI 助手帮我解释这些代码分别是做什么的:

我可以利用这些函数对 example_script.py 文件进行修改:我首先对 26 行内容进行了修改,把变量名和引用的函数进行了调整,然后在 32 行回车后,豆包MarsCode 给出了代码提示,看起来非常符合我的需要,一个 Tab 直接搞定!

我尝试着运行一下,看起来翻译优化的部分并不多,我猜有可能是原文太过简单了。

我又找了一篇论文摘要来翻译,从中文效果来看,的确更加地道了!

知识点总结

最后,让我来帮大家总结下豆包MarsCode 可以如何助力大家学习开源仓库:

  • 首先,运行仓库变得简单。只需要打开对话框,输入问题,AI 就可以帮你总结 README。
  • 其次,如果想询问项目中某段代码的含义或者如何修改某段代码,可以直接在问答中输入 /explain 来让 AI 助手解释。
  • 最后,在我想修改代码时,豆包MarsCode 不仅能够协助我续写代码,还可以对已有的代码进行修改。

听劝!用豆包MarsCode 做暑假作业真的太高效了,感兴趣的同学们点击豆包MarsCode 编程助手即可速速尝试哦!

【学习路线】Python爬虫 详细知识点学习路径(附学习资源)

thbcm阅读(238)

学习本路线内容之前,请先学习Python的基础知识

其他路线:

Python基础 >>

Python进阶 >>

Python爬虫 >>

Python数据分析(数据科学) >>

Python 算法(人工智能) >>

Python Web开发 >>

Python自动化运维 >>

符号表解释:

可根据知识点前的符号按需选学,并获取知识点描述和学习资源。

 必学:核⼼知识点,经常⽤到。

建议学:重要知识点,专业⼈⼠的基⽯。

⾯试重点:经常出现的⾯试知识点。

可有可⽆:边缘区域,不是必须探索的地⽅。

知识描绘:知识点描述,快速理解。

学习资源:关联的学习资源。

学习⽬标:阶段性⽬标。

学习路线:爬虫

一、爬虫基础

1. 爬虫概述:

描述: 自动化程序,用于从网页提取信息和数据。

目标: 新闻聚合器 (利用 Scrapy 爬取不同新闻网站的新闻,整合到一个平台)。

学习资源:

Python 静态爬虫入门课程 >>>

Python Scrapy 文档 >>>

Python Scrapy 入门课程 >>>

Python Scrapy 爬虫入门到实战 >>>

Python 爬虫示例(实战) >>>

Python 爬虫(实战) >>>

Python 模拟登录(实战) >>>

爬虫教程 >>>

2. 爬虫合法性: (必须学习,避免法律风险)

  • 知识产权:避免侵犯网站知识产权(数据、文字、图片、音视频等)。
  • 网络安全法:遵守中国网络安全法律法规,禁止网络攻击、破解、窃取、篡改等违法活动。
  • 隐私保护:不擅自收集、存储、传播他人个人隐私信息(身份证号、手机号等)。
  • 网站规则:遵守各网站的爬虫规则,尊重 robots.txt 文件。
  • 合同和协议:遵守网站提供的 API 或其他爬取协议。
  • 公序良俗:不传播违法、淫秽、暴力等有害信息。

二、数据抓取

1. 常用网络协议 (HTTP/HTTPS):

  • HTTP: 用于 Web 数据传输的协议,定义客户端和服务器通信规则。
  • HTTPS: HTTP 的安全版本,使用 SSL/TLS 加密数据传输。

2. HTTP 请求:

  • 学习资源>>> 
  • 请求头: 包含请求元数据 (请求方法、目标 URL、用户代理、请求时间等)。
  • 请求参数: 传递给服务器的数据 (GET 请求在 URL 中,POST 请求在请求体中)。
  • 请求类型: GET、POST、PUT、DELETE 等。

3. HTTP 响应:

  • 响应头: 包含响应元数据 (响应状态码、响应时间、服务器信息等)。
  • 响应参数: 服务器返回的数据 (网页内容、JSON 数据、图片等)。

4. Requests 模块: (流行的第三方库,易于使用)

  • 描述: 提供易于使用的 API 发送 HTTP 请求和处理响应 (GET、POST 等)。

学习资源:

Requests 中文文档 >>>

Python Requests 权威指南 >>>

5. urllib 模块: (Python 标准库,功能相对简单)

  • 描述: 提供基本的 HTTP 请求功能,无需额外安装。
  • 学习资源 >>>

三、模拟登录

  • 使用 Requests 库: 发送登录请求,提交用户名和密码,处理 Cookie 保持登录状态。
  • 使用 Selenium 库: 自动化浏览器操作,模拟用户交互完成登录 (适用于 JavaScript 生成的表单)。

四、网站抓取

1. 静态网站抓取:

  • 使用 Requests 库: 发送 GET 请求,获取 HTML 响应,使用解析库 (如 BeautifulSoup) 提取数据。
  • 使用 Scrapy 框架: 适用于爬取多个页面或网站,提供高级功能 (自动化页面遍历、数据存储、异步请求)。

2. 动态网站抓取:

  • 使用 Selenium 库: 自动化浏览器,等待页面加载完成,提取数据。
  • 使用无头浏览器: (如 Puppeteer, Playwright) 渲染 JavaScript 并提取内容。

五、无头浏览器

1. Selenium: 自动化测试工具,模拟用户在 Web 应用中的操作,支持多种编程语言和浏览器。

2. Puppeteer: Node.js 库,控制 Chrome 或 Chromium 浏览器进行自动化操作 (Web 抓取、测试、生成 PDF 等)。

六、数据解析

1. 常用标签 (HTML/XML): 基本的数据解析方法,通过标签名称、属性、层级结构定位和提取数据。

2. BeautifulSoup: Python 库,解析 HTML 和 XML,提供易于使用的 API 遍历文档树和提取数据。

3. 正则表达式: 强大的文本模式匹配工具,适用于简单的数据提取任务。

4. XPath: 在 XML 文档中定位和提取数据的语言,Python 中可使用 lxml 库处理。

七、数据导出

1. 文件:

  • Excel: 使用 openpyxl 或 pandas 库导出到 Excel 文件。
  • CSV: 使用 Python 内置库 csv 保存为 CSV 格式。

2. 数据库:

  • MongoDB: NoSQL 数据库,使用 pymongo 库存储数据。
  • MySQL: 关系型数据库,使用 mysql-connector 或其他 MySQL 连接库。

八、中间件

  • Redis: 内存数据库,用于缓存和快速存储临时数据,使用 redis-py 库。

九、Scrapy 框架

1. 核心概念:

  • 命令行工具: 创建、运行、调试和管理爬虫项目 (scrapy startproject, scrapy crawl, scrapy shell 等)。
  • Spiders (爬虫): 定义如何抓取网站的结构和行为 (继承 scrapy.Spider 类)。
  • Selectors (选择器): 从 HTML 或 XML 文档中提取数据 (XPath 和 CSS 选择器)。
  • Items (数据项): 结构化和存储从网页提取的数据 (用户自定义的 Python 字典或类)。
  • Item Loaders (数据加载器): 填充 Items,处理数据清洗、转换和预处理。
  • Pipelines (管道): 处理爬取的数据 (存储、清洗、验证、导出等)。
  • Scrapy Shell: 交互式工具,测试和调试 Scrapy 爬虫。
  • Link Extractors (链接提取器): 从页面中提取链接 (例如 LinkExtractor)。

2. 调度器: 管理爬虫的任务队列,控制爬取流程和顺序。

3. 分布式爬虫: 将爬虫任务分散到多个节点或机器上,提高效率、速度和容错性。

4. 部署: 将爬虫系统部署到生产环境中运行。

十、并发异步爬虫

  • aiohttp: 基于 asyncio 的异步 HTTP 请求库,构建高性能、可伸缩的 Web 服务和应用。
  • asyncio: Python 标准库,提供对异步编程的支持 (异步 I/O、协程和任务)。

十一、高级爬虫技术

  • IP 代理: 隐藏真实 IP 地址,绕过访问限制,提高爬取速度和匿名性。
  • 验证码识别: 使用图像处理、机器学习或深度学习技术 (如 CNN) 自动识别和破解验证码。
  • APP 抓取: 模拟移动应用的请求和交互获取数据 (使用 Charles、Fiddler 等抓包工具)。
  • 增量式爬虫: 只爬取自上次爬取以来有更新的数据,提高效率。

十二、反爬虫技术

  • 请求头限制: 限制或检查 HTTP 请求的头部信息 (User-Agent, Referer 等)。
  • 验证码: 识别用户是否为人类的机制。
  • 黑白名单: 控制访问,阻止或允许特定用户或 IP 地址访问网站。
  • 封禁 IP: 根据恶意行为封禁特定 IP 地址。
  • 数据加密: 将数据转换为不可读的形式。
  • 数据混淆: 改变数据的格式或结构,使其难以理解或解析。
  • 行为分析: 监控和分析用户或爬虫的行为,检测异常活动。

C++入门课程:开启你的编程之旅

thbcm阅读(178)

在这个技术日新月异的时代,掌握一门编程语言就像是拥有了打开未来世界大门的钥匙。而C++,作为一门功能强大、应用广泛的编程语言,无疑是众多程序员的首选。今天,我要向大家推荐一个由编程狮精心打造的C++入门课程,它不仅能够帮助你快速入门C++,还能让你在编程的道路上越走越远。

课程亮点

  1. 全面覆盖C++基础知识:我们的课程涵盖了8个单元的知识点,通过8次小节训练和2次综合训练,让你系统地掌握C++的基础知识和核心概念。
  2. 适合人群广泛:无论你是编程新手还是有一定基础的程序员,只要你对编程语言设计有所了解,这门课程都能让你有所收获。
  3. 实战训练:通过实际编程练习,你将能够将理论知识转化为实战技能,提升你的编程能力。
  4. 随时随地学习:下载编程狮App,让你可以在手机端随时随地继续学习,充分利用碎片时间。

用户评价

我们的课程受到了广大学员的一致好评:

最后

如果你已经对C++有所了解,或者想要提升自己的编程技能,那么这门课程绝对是你的不二之选。点击下方链接,加入我们的C++入门课程,开启你的编程之旅吧!

立即加入C++入门课程

快速集成AI到Java项目:豆包MarsCode与Coze API教程

thbcm阅读(378)

原标题:简单几步,快速让你的 Java 项目拥有 AI 能力

Java 是一种面向对象的编程语言,广泛应用于企业级应用开发、Web 开发、移动应用开发(Android 应用主要使用 Java 或 Kotlin 编写)、大数据处理等众多领域。它是一门成熟、稳定且不断发展的编程语言,拥有庞大的开发者社区和丰富的学习资源。

在当前的 AI 时代下,如何能让自己的项目快速拥有 AI 能力呢?今天要跟大家分享的是:使用豆包MarsCode AI 快速生成调用 Coze API 的能力,分分钟让自己的服务拥有更加强大的 AI 能力!

为什么是 Coze

Coze 提供多种大模型的接入和一定的免费额度,其成熟的 API,非常便于用户的调用。

我们需要在 Coze 中发布一个 Bot 作为 API 的载体,同时申请一个访问令牌,用于调用 API。

生产 Coze 的调用凭证

发布一个 Bot

Bot 发布为 API 服务之后,才能通过调用 API 的方式使用这个 Bot,例如查看 Bot 的基本设置、发起一个 Bot 对话等。

操作步骤如下:

  • 进入目标空间,创建一个 Bot 或选择一个已创建的 Bot;
  • 在编排页面,单击发布;
  • 在发布页面,选择 Agent as API 选项,然后单击发布。

获得 Bot Id

从浏览区复制出 bot_id,这是调用 API 的参数之一。

获取访问令牌

调用 Coze API 时,你需要在 Header 中通过 Authorization 参数指定访问令牌(Access token),Coze 服务端会根据访问令牌验证调用方的操作权限。调用 API 之前,你需要先获得访问令牌。

个人访问令牌:通过控制台生成的访问令牌,有效期为一天以上,使用简单便捷,适用于测试场景。你可以随时调整令牌权限和有效期,到期后需要重新生成。

  1. 登录 Coze 平台。
  2. 在左侧菜单栏下方,点击个人头像,并在弹出菜单中单击 Coze API。
  3. 在 Coze API 页面,进入授权 > 个人访问令牌页签。
  4. 单击添加新令牌。
  5. 在弹出的页面完成以下配置,然后单击确定。
  6. 复制并妥善保存个人访问令牌。
    • 生成的令牌仅在此时展示一次,请即刻复制并保存;
    • 不要与他人共享你的个人访问令牌,也不要在浏览器或其他客户端代码中暴露个人访问令牌信息。

安装豆包MarsCode AI 编程助手‍‍

在启动编码工作前,我们需要先下载安装 VSCode 并安装豆包MarsCode 编程助手,VSCode 是一款轻量级但功能强大的代码编辑器,插件丰富,界面友好,搭配免费的豆包MarsCode 编程助手,让智能 AI 辅助你学习编码,效率加倍!

配置 Java 环境

配置 Java 环境是学习 Java 的第一步,它确保你拥有正确的工具和依赖,以便顺利编写、运行和调试代码。让 AI 来告诉你该如何做吧!

打开豆包MarsCode 插件面板,根据你的设备机型提问 AI :“Mac 或 Windows 如何安装 Java 环境?,后文将以 Mac 举例。

根据 AI 给出的回答,我们可以清晰地了解配置 Java 环境的每个步骤,在 AI 提供的命令行代码块上方点击插入到终端,回车即可执行。

生成调用 Coze API 的代码

我们可以看到 Coze 官方的 API 样例(https://sourl.cn/Xnaank)并不是 Java 格式,无法直接用在我们的 Java 项目中。

我们可以让豆包MarsCode AI 来帮我们用 Java 写出调用 Coze API 的代码。

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class CurlToJava {
    public static void main(String[] args) {
        String url = "https://api.coze.cn/v3/chat";
        String token = "pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****";
        String data = "{" + "\"bot_id\": \"73428668*****\"," + "\"user_id\": \"123123***\"," + "\"stream\": false," + "\"auto_save_history\":true," + "\"additional_messages\":[{" + "\"role\":\"user\"," + "\"content\":\"早上好\"," + "\"content_type\":\"text\"" + "}]" + "}";
        sendPostRequest(url, token, data);
    }
    public static String sendPostRequest(String url, String token, String data) {
        try {
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestMethod("POST");
            con.setRequestProperty("Authorization", "Bearer " + token);
            con.setRequestProperty("Content-Type", "application/json");
            con.setDoOutput(true);
            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
            wr.writeBytes(data);
            wr.flush();
            wr.close();
            int responseCode = con.getResponseCode();
            System.out.println("Response Code: " + responseCode);
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            String responseContent = response.toString();
            System.out.println("Response Content: " + responseContent);
            return responseContent;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }
}

在运行代码前,请将示例中的以下参数值替换成真实数据:

  • Authorization:生成的个人访问令牌,上述步骤中已经获取。
  • bot_id:Bot ID。

进入 Bot 开发页面,开发页面 URL 中 Bot 参数后的数字 Bot ID。例如https://www.coze.cn/space/341****/bot/73428668*****,bot ID 为73428668*****

替换后运行代码,可以看到,已经成功获取了数据返回。

Response Code: 200 Response Content: {
    "data": {
        "id": "7403713*****",
        "conversation_id": "7403713254******",
        "bot_id": "740333648******",
        "created_at": 1723811327,
        "last_error": {
            "code": 0,
            "msg": ""
        },
        "status": "in_progress"
    },
    "code": 0,
    "msg": ""
}

至此,我们已经成功联通了 Coze 的 AI Bot,可以直接在 Java 项目里使用 AI 能力!

感兴趣的朋友们赶快使用豆包MarsCode 体验下吧!点击豆包MarsCode即可体验~

5分钟掌握Python数据分析:豆包MarsCode新学期特训

thbcm阅读(200)

原标题: 新学期必看!豆包MarsCode 教你 5 分钟拿捏 Python 数据分析!

开学啦!!

听说,

有同学想在新学期多掌握几门技能?

有同学写毕设搞科研不会爬虫?

有文科生正心怀毕业转码梦?

作为一门实用且能够有效提升个人竞争力的技能,Python 的重要性不言而喻。新学期到了,各位壮志满怀想狠狠努力一把的同学们,快来跟着豆包MarsCode 零基础轻松上手 Python 啦!

在上一期「Python 新手课堂」中,我们已经学习了如何在豆包MarsCode 的帮助下完成中国四个直辖市北京市、上海市、天津市和重庆市的 GDP 数据条形图。

点击即学

但在日常应用中,我们往往需要进行多个数据之间的对比,今天就让我们一起学习如何使用豆包MarsCode 绘制分组条形图吧!

保姆级教学!各位 Python 新手小白速速码住学起来啦!

绘制分组条形图

如果我们想知道各个城市 GDP 和人口之间是否存在一些联系,期望把人口数和 GDP 值在图中进行对比,该如何操作呢?

我们可以直接向 AI 助手提问:

我期望绘制一个分组条形图,新增一列人口数与 GDP 情况做对比,北京市、上海市、天津市和重庆市人口总数分别为17801、19826、12778、25337,更改图表标题为「四个直辖市 GDP 与人口情况」,这段代码应该如何修改?

此时 AI 将返回对应的代码片段,从这个片段中我们可以看到,AI 在新增了一个分组展示人口数据,将代码插入文件中并运行,就完成了一个展示两组数据对比关系的分组条形图。

生成代码注释

仅需自然语言描述需求,AI 助手就帮助我们快速生成了绘图代码,可对于新上手的同学来讲还是很难看懂代码,很难理解到底是怎么实现分组效果的。别担心,让 AI 帮我们添加注释吧!

发送指令的方式如下:

  • 选中代码后点击右键会弹出菜单栏,鼠标悬停在「MarsCode」上方后选择“注释生成”。
  • 在侧边对话视图的输入框中输入「/doc」指令或自然语言描述,例如:为所选代码片段生成注释

注释生成后可以选择添加至光标处。

这样就顺利完成了右侧代码的整体替换。

完成操作后,我们就获得了一个包含非常详细注释内容的代码啦!

代码补全 —— 注释生成代码

豆包MarsCode 除了具备代码问答能力,还支持轻量注释生成代码的能力,想要实现什么功能直接写注释后「回车」就可以!

如下图,假设我们期望修改双列条形图的颜色,我们可以在代码对应位置添加自然语言注释后回车,AI 将根据需求自动补全代码片段,按「Tab」键即可采纳!采纳后运行就可以得到对应的结果啦。

今天的 Python 新手课堂就是这样,是不是非常简单好上手呢,看到这里的同学们可以点击豆包MarsCode立刻尝试哦!更多 Python 新手教程敬请期待~

这个新学期!

让我们一起支棱起来!

跟着豆包MarsCode 学Python

简直是:

联系我们