import{$ as e,B as t,P as n,_ as r,f as i,g as a,h as o,l as s}from"./runtime-core.esm-bundler-CZvn3YaB.js";import{t as c}from"./plugin-vue_export-helper-CxTVcLa7.js";var l=JSON.parse(`{"path":"/guide/repl/python/","title":"Python | 指南","lang":"zh-CN","frontmatter":{"title":"Python","icon":"devicon-plain:python","createTime":"2025/05/03 21:53:58","permalink":"/guide/repl/python/","description":"概述 主题提供了 Python 代码演示,支持在线运行 Python 代码。 安装 python 在线执行由 pyodide 提供,使用前请确保有 pyodide 可用 配置 该功能默认不启用,你可以通过配置来启用它。 .vuepress/config.ts 使用 使用 ::: python-repl 容器语法 将 python 代码块包裹起来。主题会...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Python\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2025-10-07T15:13:09.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://theme-plume.vuejs.press/guide/repl/python/"}],["meta",{"property":"og:site_name","content":"Plume 主题"}],["meta",{"property":"og:title","content":"Python"}],["meta",{"property":"og:description","content":"概述 主题提供了 Python 代码演示,支持在线运行 Python 代码。 安装 python 在线执行由 pyodide 提供,使用前请确保有 pyodide 可用 配置 该功能默认不启用,你可以通过配置来启用它。 .vuepress/config.ts 使用 使用 ::: python-repl 容器语法 将 python 代码块包裹起来。主题会..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2025-10-07T15:13:09.000Z"}],["meta",{"property":"article:modified_time","content":"2025-10-07T15:13:09.000Z"}],["link",{"rel":"alternate","hreflang":"en-us","href":"https://theme-plume.vuejs.press/en/guide/repl/python/"}]]},"readingTime":{"minutes":1.34,"words":403},"git":{"createdTime":1749215699000,"updatedTime":1759849989000,"contributors":[{"name":"shuoliuchn","username":"shuoliuchn","email":"32744176+shuoliuchn@users.noreply.github.com","commits":1,"avatar":"https://avatars.githubusercontent.com/shuoliuchn?v=4","url":"https://github.com/shuoliuchn"},{"name":"Shuo Liu","username":"","email":"sliu84@outlook.com","commits":1,"avatar":"https://gravatar.com/avatar/5be5d8664b9891d2622dda19edd022c4c250bd13d813fa7d3df2f732a188c431?d=retro"},{"name":"pengzhanbo","username":"pengzhanbo","email":"volodymyr@foxmail.com","commits":2,"avatar":"https://avatars.githubusercontent.com/pengzhanbo?v=4","url":"https://github.com/pengzhanbo"}],"changelog":[{"hash":"4d2361a7046214fe0f4e4af01831107fd00e38ad","time":1759849989000,"email":"volodymyr@foxmail.com","author":"pengzhanbo","message":"feat(theme)!: add collections support (#704)"},{"hash":"1f89d7f5152f36cf5bd779868279d564306b6c1f","time":1749215699000,"email":"32744176+shuoliuchn@users.noreply.github.com","author":"Shuo Liu","message":"feat(plugin-md-power): enable python code repl(#585) (#613)","coAuthors":[{"name":"Shuo Liu","email":"sliu84@outlook.com"},{"name":"pengzhanbo","email":"volodymyr@foxmail.com"}]}]},"autoDesc":true,"filePathRelative":"guide/repl/python.md","headers":[],"bulletin":false}`),u={name:`python.md`},d={class:`code-block-title`,"data-title":`.vuepress/config.ts`},f={class:`code-block-title-bar`},p={class:`title`};function m(c,l,u,m,h,g){let _=t(`VPIcon`),v=t(`CodeTabs`),y=t(`CodeRepl`);return n(),i(`div`,null,[l[11]||=o(`

概述

主题提供了 Python 代码演示,支持在线运行 Python 代码。

安装

python 在线执行由 pyodide 提供,使用前请确保有 pyodide 可用

`,4),r(v,{id:`0`,data:[{id:`pnpm`},{id:`yarn`},{id:`npm`}],"tab-id":`npm-to-pnpm-yarn-npm`},{title0:e(({value:e,isActive:t})=>[r(_,{provider:`iconify`,name:`vscode-icons:file-type-light-pnpm`}),l[0]||=s(`span`,null,`pnpm`,-1)]),title1:e(({value:e,isActive:t})=>[r(_,{provider:`iconify`,name:`vscode-icons:file-type-yarn`}),l[1]||=s(`span`,null,`yarn`,-1)]),title2:e(({value:e,isActive:t})=>[r(_,{provider:`iconify`,name:`logos:npm-icon`}),l[2]||=s(`span`,null,`npm`,-1)]),tab0:e(({value:e,isActive:t})=>[...l[3]||=[s(`div`,{class:`language-sh`,"data-highlighter":`shiki`,"data-ext":`sh`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-sh`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#59873A`,"--shiki-dark":`#80A665`}},`pnpm`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` add`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` pyodide`)])])])],-1)]]),tab1:e(({value:e,isActive:t})=>[...l[4]||=[s(`div`,{class:`language-sh`,"data-highlighter":`shiki`,"data-ext":`sh`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-sh`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#59873A`,"--shiki-dark":`#80A665`}},`yarn`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` add`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` pyodide`)])])])],-1)]]),tab2:e(({value:e,isActive:t})=>[...l[5]||=[s(`div`,{class:`language-sh`,"data-highlighter":`shiki`,"data-ext":`sh`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-sh`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#59873A`,"--shiki-dark":`#80A665`}},`npm`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` install`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},` pyodide`)])])])],-1)]]),_:1}),l[12]||=s(`h2`,{id:`配置`,tabindex:`-1`},[s(`a`,{class:`header-anchor`,href:`#配置`},[s(`span`,null,`配置`)])],-1),l[13]||=s(`p`,null,`该功能默认不启用,你可以通过配置来启用它。`,-1),s(`div`,d,[s(`div`,f,[s(`span`,p,[r(_,{provider:`iconify`,name:`vscode-icons:file-type-typescript`}),l[6]||=a(`.vuepress/config.ts`,-1)])]),l[7]||=o(`
export default defineUserConfig({
  theme: plumeTheme({
    markdown: {
      repl: {
        python: true,
      },
    },
  })
})
`,1)]),l[14]||=o('

使用

使用 ::: python-repl 容器语法 将 python 代码块包裹起来。主题会检查代码块并添加执行按钮。

python-repl 的支持是有限的,目前只支持:

只读代码演示

Python 代码演示默认是只读的,不可编辑。

::: python-repl title="自定义标题"\n```python\n// your python code\n```\n:::

可编辑代码演示

如果需要在线编辑并执行,需要将代码块包裹在 ::: python-repl editable 容器语法中。

::: python-repl editable title="自定义标题"\n```python\n// your python code\n```\n:::

示例

打印内容

输入:

::: python-repl\n```python\ndef hello_world():\n    return 'Hello World!'\n\nhello_world()\n```\n:::

输出:

',14),r(y,{title:`python playground`},{default:e(()=>[...l[8]||=[s(`div`,{class:`language-python`,"data-highlighter":`shiki`,"data-ext":`python`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},`def`),s(`span`,{style:{"--shiki-light":`#59873A`,"--shiki-dark":`#80A665`}},` hello_world`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`():`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` print`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#B5695977`,"--shiki-dark":`#C98A7D77`}},`'`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},`Hello World!`),s(`span`,{style:{"--shiki-light":`#B5695977`,"--shiki-dark":`#C98A7D77`}},`'`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`)`)]),a(` `),s(`span`,{class:`line`}),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`hello_world`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`()`)])])])],-1)]]),_:1}),l[15]||=s(`h3`,{id:`运算`,tabindex:`-1`},[s(`a`,{class:`header-anchor`,href:`#运算`},[s(`span`,null,`运算`)])],-1),r(y,{title:`python playground`},{default:e(()=>[...l[9]||=[s(`div`,{class:`language-python`,"data-highlighter":`shiki`,"data-ext":`python`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},`def`),s(`span`,{style:{"--shiki-light":`#59873A`,"--shiki-dark":`#80A665`}},` mul`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`a`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` int`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`,`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` b`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` int`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`)`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},` ->`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` int`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#1E754F`,"--shiki-dark":`#4D9375`}},` return`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` a `),s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},`*`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` b`)]),a(` `),s(`span`,{class:`line`}),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},`print`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`mul`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},`-`),s(`span`,{style:{"--shiki-light":`#2F798A`,"--shiki-dark":`#4C9A91`}},`2`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`,`),s(`span`,{style:{"--shiki-light":`#2F798A`,"--shiki-dark":`#4C9A91`}},` 4`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`))`)])])])],-1)]]),_:1}),l[16]||=o(`

可编辑代码演示

输入:

::: python-repl editable
\`\`\`python
class Contact:
    def __init__(self, id: int, email: str):
        self.id = id
        self.email = email

contact = Contact(1, 'mary@gmail.com')
print(contact.id)
\`\`\`
:::

输出:

`,4),r(y,{editable:``,title:`python playground`},{default:e(()=>[...l[10]||=[s(`div`,{class:`language-python`,"data-highlighter":`shiki`,"data-ext":`python`,style:{"--shiki-light":`#393a34`,"--shiki-dark":`#dbd7caee`,"--shiki-light-bg":`#ffffff`,"--shiki-dark-bg":`#121212`}},[s(`pre`,{class:`shiki shiki-themes vitesse-light vitesse-dark vp-code`},[s(`code`,{class:`language-python`},[s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},`class`),s(`span`,{style:{"--shiki-light":`#2E8F82`,"--shiki-dark":`#5DA994`}},` Contact`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#AB5959`,"--shiki-dark":`#CB7676`}},` def`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` __init__`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`self`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`,`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` id`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` int`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`,`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` email`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`:`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` str`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`):`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#A65E2B`,"--shiki-dark":`#C99076`}},` self`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`.`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`id `),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`=`),s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},` id`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#A65E2B`,"--shiki-dark":`#C99076`}},` self`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`.`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`email `),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`=`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` email`)]),a(` `),s(`span`,{class:`line`}),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`contact `),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`=`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},` Contact`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#2F798A`,"--shiki-dark":`#4C9A91`}},`1`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`,`),s(`span`,{style:{"--shiki-light":`#B5695977`,"--shiki-dark":`#C98A7D77`}},` '`),s(`span`,{style:{"--shiki-light":`#B56959`,"--shiki-dark":`#C98A7D`}},`mary@gmail.com`),s(`span`,{style:{"--shiki-light":`#B5695977`,"--shiki-dark":`#C98A7D77`}},`'`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`)`)]),a(` `),s(`span`,{class:`line`},[s(`span`,{style:{"--shiki-light":`#998418`,"--shiki-dark":`#B8A965`}},`print`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`(`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`contact`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`.`),s(`span`,{style:{"--shiki-light":`#393A34`,"--shiki-dark":`#DBD7CAEE`}},`id`),s(`span`,{style:{"--shiki-light":`#999999`,"--shiki-dark":`#666666`}},`)`)])])])],-1)]]),_:1})])}var h=c(u,[[`render`,m]]);export{l as _pageData,h as default};