680 lines
540 KiB
HTML
680 lines
540 KiB
HTML
<!DOCTYPE html>
|
||
<html><head><title>面向对象</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="面向对象"/><meta property="og:description" content="面向对象."/><meta property="og:image" content="https://wiki.7wate.com/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../../../static/icon.png"/><meta name="description" content="面向对象."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><script async src="https://umami.7wate.com/script.js" data-website-id="c061efdc-95dd-4d21-9d04-a1ffda0a85b9"></script><script>
|
||
var _hmt = _hmt || [];
|
||
(function() {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?94d8ccb156eb7c65abf317e6e01cdba9";
|
||
var s = document.getElementsByTagName("script")[0];
|
||
s.parentNode.insertBefore(hm, s);
|
||
})();
|
||
</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-MHMEL0F832"></script><script>
|
||
(function() {
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag() {
|
||
window.dataLayer.push(arguments);
|
||
}
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-MHMEL0F832');
|
||
})();
|
||
</script><link href="../../../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&family=Schibsted Grotesk:wght@400;700&family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="Tech/programming-language/Python/进阶/面向对象进阶"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../../../..">📚 X·Eden</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg></label><label id="toggle-label-dark" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background='new 0 0 100 100'" xmlSpace="preserve"><title>Dark mode</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,35.368s22.008,14.65,35.368,14.65c13.361,0,25.921-5.203,35.369-14.65 c3.872-3.871,7.064-8.328,9.491-13.246C97.826,68.608,97.611,67.309,96.76,66.458z"></path></svg></label></div><div class="explorer desktop-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{"path":"Basics","collapsed":true},{"path":"Basics/english","collapsed":true},{"path":"Blog","collapsed":true},{"path":"Book","collapsed":true},{"path":"Book/个人成长","collapsed":true},{"path":"Book/医学健康","collapsed":true},{"path":"Book/历史","collapsed":true},{"path":"Book/哲学宗教","collapsed":true},{"path":"Book/心理","collapsed":true},{"path":"Book/政治军事","collapsed":true},{"path":"Book/教育学习","collapsed":true},{"path":"Book/文学","collapsed":true},{"path":"Book/生活百科","collapsed":true},{"path":"Book/社会文化","collapsed":true},{"path":"Book/科学技术","collapsed":true},{"path":"Book/经济理财","collapsed":true},{"path":"Book/艺术","collapsed":true},{"path":"Book/计算机","collapsed":true},{"path":"Company","collapsed":true},{"path":"Company/信息化","collapsed":true},{"path":"Company/信息化/规范","collapsed":true},{"path":"Culture","collapsed":true},{"path":"Government","collapsed":true},{"path":"Government/中国","collapsed":true},{"path":"Government/中国/标准","collapsed":true},{"path":"Government/中国/法律","collapsed":true},{"path":"Journal","collapsed":true},{"path":"Journal/2022","collapsed":true},{"path":"Journal/2022/W34","collapsed":true},{"path":"Journal/2022/W35","collapsed":true},{"path":"Journal/2022/W36","collapsed":true},{"path":"Journal/2022/W37","collapsed":true},{"path":"Journal/2022/W38","collapsed":true},{"path":"Journal/2022/W39","collapsed":true},{"path":"Journal/2022/W41","collapsed":true},{"path":"Journal/2022/W42","collapsed":true},{"path":"Journal/2022/W43","collapsed":true},{"path":"Journal/2022/W44","collapsed":true},{"path":"Journal/2022/W45","collapsed":true},{"path":"Journal/2022/W46","collapsed":true},{"path":"Journal/2022/W47","collapsed":true},{"path":"Journal/2022/W48","collapsed":true},{"path":"Journal/2022/W49","collapsed":true},{"path":"Journal/2022/W50","collapsed":true},{"path":"Journal/2023","collapsed":true},{"path":"Journal/2023/W2","collapsed":true},{"path":"Journal/2023/W3","collapsed":true},{"path":"Journal/2023/W5","collapsed":true},{"path":"Journal/2023/W6","collapsed":true},{"path":"Journal/2023/W7","collapsed":true},{"path":"Journal/2023/W8","collapsed":true},{"path":"Journal/2023/W10","collapsed":true},{"path":"Journal/2023/W12","collapsed":true},{"path":"Journal/2023/W14","collapsed":true},{"path":"Journal/2023/W16","collapsed":true},{"path":"Journal/2023/W22","collapsed":true},{"path":"Journal/2023/W23","collapsed":true},{"path":"Journal/2023/W24","collapsed":true},{"path":"Journal/2023/W25","collapsed":true},{"path":"Journal/2023/W26","collapsed":true},{"path":"Journal/2023/W31","collapsed":true},{"path":"Journal/2023/W32","collapsed":true},{"path":"Journal/2023/W33","collapsed":true},{"path":"Journal/2023/W35","collapsed":true},{"path":"Journal/2023/W36","collapsed":true},{"path":"Journal/2023/W37","collapsed":true},{"path":"Journal/2023/W40","collapsed":true},{"path":"Journal/2023/W45","collapsed":true},{"path":"Journal/2023/W46","collapsed":true},{"path":"Journal/2023/W48","collapsed":true},{"path":"Journal/2023/W49","collapsed":true},{"path":"Journal/2023/W50","collapsed":true},{"path":"Journal/2024","collapsed":true},{"path":"Journal/2024/W8","collapsed":true},{"path":"Journal/2024/W10","collapsed":true},{"path":"Journal/2024/W11","collapsed":true},{"path":"Journal/2024/W12","collapsed":true},{"path":"Journal/2024/W14","collapsed":true},{"path":"Journal/2024/W16","collapsed":true},{"path":"Journal/2024/W17","collapsed":true},{"path":"Journal/2024/W22","collapsed":true},{"path":"Journal/2024/W23","collapsed":true},{"path":"Journal/2024/W24","collapsed":true},{"path":"Life","collapsed":true},{"path":"Scholar","collapsed":true},{"path":"Tech","collapsed":true},{"path":"Tech/cloud-service","collapsed":true},{"path":"Tech/cloud-service/基础","collapsed":true},{"path":"Tech/computer-network","collapsed":true},{"path":"Tech/computer-network/Nginx","collapsed":true},{"path":"Tech/computer-network/应用服务","collapsed":true},{"path":"Tech/computer-network/网络协议","collapsed":true},{"path":"Tech/computer-network/网络基础","collapsed":true},{"path":"Tech/computer-security","collapsed":true},{"path":"Tech/computer-security/信息安全","collapsed":true},{"path":"Tech/computer-security/信息安全/OpenPGP","collapsed":true},{"path":"Tech/computer-security/密码学","collapsed":true},{"path":"Tech/computer-security/用户安全","collapsed":true},{"path":"Tech/computer-security/用户安全/权限设计","collapsed":true},{"path":"Tech/computer-security/用户安全/用户鉴权","collapsed":true},{"path":"Tech/computer-security/系统安全","collapsed":true},{"path":"Tech/computer-security/系统安全/防火墙","collapsed":true},{"path":"Tech/computer-security/网络安全","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSH","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSL","collapsed":true},{"path":"Tech/database-system","collapsed":true},{"path":"Tech/database-system/PostgreSQL","collapsed":true},{"path":"Tech/database-system/SQL 语言","collapsed":true},{"path":"Tech/database-system/基础","collapsed":true},{"path":"Tech/getting-started","collapsed":true},{"path":"Tech/getting-started/命令行工具","collapsed":true},{"path":"Tech/getting-started/命令行工具/PowerShell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Shell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Vim","collapsed":true},{"path":"Tech/getting-started/开源指南","collapsed":true},{"path":"Tech/getting-started/文本处理","collapsed":true},{"path":"Tech/getting-started/版本控制","collapsed":true},{"path":"Tech/getting-started/版本控制/Git","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/入门","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/进阶","collapsed":true},{"path":"Tech/operating-system","collapsed":true},{"path":"Tech/operating-system/Automation","collapsed":true},{"path":"Tech/operating-system/Docker","collapsed":true},{"path":"Tech/operating-system/Docker/基础","collapsed":true},{"path":"Tech/operating-system/Docker/进阶","collapsed":true},{"path":"Tech/operating-system/Docker/高级","collapsed":true},{"path":"Tech/operating-system/Linux","collapsed":true},{"path":"Tech/operating-system/Linux/0.文化","collapsed":true},{"path":"Tech/operating-system/Linux/1.安装","collapsed":true},{"path":"Tech/operating-system/Linux/2.基础操作","collapsed":true},{"path":"Tech/operating-system/Linux/3.系统管理","collapsed":true},{"path":"Tech/operating-system/Linux/4.安全配置","collapsed":true},{"path":"Tech/operating-system/Linux/5.网络管理","collapsed":true},{"path":"Tech/operating-system/Linux/7.存储管理","collapsed":true},{"path":"Tech/operating-system/Linux/8.虚拟化","collapsed":true},{"path":"Tech/operating-system/Virtualization","collapsed":true},{"path":"Tech/operating-system/Virtualization/1.虚拟化概述","collapsed":true},{"path":"Tech/operating-system/Virtualization/2.KVM虚拟化","collapsed":true},{"path":"Tech/operating-system/Windows","collapsed":true},{"path":"Tech/operating-system/Windows/文化","collapsed":true},{"path":"Tech/programming-language","collapsed":true},{"path":"Tech/programming-language/Python","collapsed":true},{"path":"Tech/programming-language/Python/入门","collapsed":true},{"path":"Tech/programming-language/Python/文化","collapsed":true},{"path":"Tech/programming-language/Python/模块","collapsed":true},{"path":"Tech/programming-language/Python/模块/WEB开发","collapsed":true},{"path":"Tech/programming-language/Python/模块/数据处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/文本处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/系统交互","collapsed":true},{"path":"Tech/programming-language/Python/模块/网络处理","collapsed":true},{"path":"Tech/programming-language/Python/进阶","collapsed":true},{"path":"Tech/programming-language/Python/项目","collapsed":true},{"path":"Tech/programming-language/Python/项目/虚拟环境","collapsed":true},{"path":"Tech/programming-language/Python/项目/风格指南","collapsed":true},{"path":"Tech/software-engineering","collapsed":true},{"path":"Tech/software-engineering/协作规范","collapsed":true},{"path":"Tech/software-engineering/技术文档","collapsed":true},{"path":"Tech/structures-algorithms","collapsed":true},{"path":"Work","collapsed":true},{"path":"Work/data-engineer","collapsed":true},{"path":"Work/full-stack","collapsed":true},{"path":"Work/full-stack/基础","collapsed":true},{"path":"Work/full-stack/工具","collapsed":true},{"path":"Work/full-stack/文化","collapsed":true},{"path":"Work/roadmap","collapsed":true},{"path":"Work/roadmap/权益保障","collapsed":true},{"path":"Work/roadmap/求职经验","collapsed":true},{"path":"Work/roadmap/简历攻略","collapsed":true},{"path":"Work/roadmap/职业规划","collapsed":true},{"path":"Work/roadmap/职场心得","collapsed":true},{"path":"Work/roadmap/薪酬攻略","collapsed":true},{"path":"Work/roadmap/面试法则","collapsed":true},{"path":"Work/sre-engineer","collapsed":true}]"><h1>Explorer</h1><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics"><button class="folder-button"><p class="folder-title">Basics</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics/english"><button class="folder-button"><p class="folder-title">english</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics/english"><li><li><a href="../../../../Basics/english/字母音标" data-for="Basics/english/字母音标">字母音标</a></li></li><li><li><a href="../../../../Basics/english/语法基础" data-for="Basics/english/语法基础">语法基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Blog"><button class="folder-button"><p class="folder-title">Blog</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Blog"><li><li><a href="../../../../Blog/「引用」博客的本质是电线杆子" data-for="Blog/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li></li><li><li><a href="../../../../Blog/「救赎之路」更名「向阳而生」" data-for="Blog/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li></li><li><li><a href="../../../../Blog/11月28日晚-星期三-霾" data-for="Blog/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li></li><li><li><a href="../../../../Blog/2021" data-for="Blog/2021">2021</a></li></li><li><li><a href="../../../../Blog/2022" data-for="Blog/2022">2022</a></li></li><li><li><a href="../../../../Blog/2023-年度微信读书报告" data-for="Blog/2023-年度微信读书报告">2023 年度微信读书报告</a></li></li><li><li><a href="../../../../Blog/回顾-2023" data-for="Blog/回顾-2023">2023 年终总结</a></li></li><li><li><a href="../../../../Blog/2023-年终问答" data-for="Blog/2023-年终问答">2023 年终问答</a></li></li><li><li><a href="../../../../Blog/BombSquad-炸弹人小分队" data-for="Blog/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li></li><li><li><a href="../../../../Blog/CityWalk——公车挑战" data-for="Blog/CityWalk——公车挑战">CityWalk——公车挑战:探索未知的城市</a></li></li><li><li><a href="../../../../Blog/Docusaurus-搭建" data-for="Blog/Docusaurus-搭建">Docusaurus 搭建</a></li></li><li><li><a href="../../../../Blog/Don`t-Starve-饥荒" data-for="Blog/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li></li><li><li><a href="../../../../Blog/Halo-主题-Redemption-首发版" data-for="Blog/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li></li><li><li><a href="../../../../Blog/Hello-Halo" data-for="Blog/Hello-Halo">Hello Halo</a></li></li><li><li><a href="../../../../Blog/Obsidian-使用-Templater-插件的个性化脚本" data-for="Blog/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li></li><li><li><a href="../../../../Blog/Python-项目终极部署解决方案" data-for="Blog/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li></li><li><li><a href="../../../../Blog/Redemption" data-for="Blog/Redemption">Redemption</a></li></li><li><li><a href="../../../../Blog/Redemption-主题-0.2.1-版本" data-for="Blog/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li></li><li><li><a href="../../../../Blog/VIVO-IQOO-Neo3-开箱测评" data-for="Blog/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li></li><li><li><a href="../../../../Blog/YubiKey-漂流记" data-for="Blog/YubiKey-漂流记">YubiKey 历险记</a></li></li><li><li><a href="../../../../Blog/一命二运三风水" data-for="Blog/一命二运三风水">一命二运三风水</a></li></li><li><li><a href="../../../../Blog/一线城市拥有一亩三分地是什么体验" data-for="Blog/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li></li><li><li><a href="../../../../Blog/三步为你博客文章分析情感关键字" data-for="Blog/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li></li><li><li><a href="../../../../Blog/上有天堂、下有苏杭" data-for="Blog/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li></li><li><li><a href="../../../../Blog/不要在饿的时候吃螺蛳粉!" data-for="Blog/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li></li><li><li><a href="../../../../Blog/不要把幸福建立在别人的痛苦之上" data-for="Blog/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li></li><li><li><a href="../../../../Blog/中国传统历法" data-for="Blog/中国传统历法">中国传统历法</a></li></li><li><li><a href="../../../../Blog/为什么不推开那扇门?" data-for="Blog/为什么不推开那扇门?">为什么不推开那扇门?</a></li></li><li><li><a href="../../../../Blog/乌兰哈达火山银河之旅" data-for="Blog/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li></li><li><li><a href="../../../../Blog/习惯养成第一步" data-for="Blog/习惯养成第一步">习惯养成第一步</a></li></li><li><li><a href="../../../../Blog/人在囧途——青海湖" data-for="Blog/人在囧途——青海湖">人在囧途——青海湖</a></li></li><li><li><a href="../../../../Blog/人格类型测试" data-for="Blog/人格类型测试">人格类型测试</a></li></li><li><li><a href="../../../../Blog/你愿意嫁给自己么?" data-for="Blog/你愿意嫁给自己么?">你愿意嫁给自己么</a></li></li><li><li><a href="../../../../Blog/你还记得曾经的梦想么?" data-for="Blog/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li></li><li><li><a href="../../../../Blog/使用-Docusaurus-搭建优秀个人wiki" data-for="Blog/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li></li><li><li><a href="../../../../Blog/关于感情的事情" data-for="Blog/关于感情的事情">关于感情的事情</a></li></li><li><li><a href="../../../../Blog/关于花" data-for="Blog/关于花">关于花</a></li></li><li><li><a href="../../../../Blog/关于郑州的互联网记忆" data-for="Blog/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li></li><li><li><a href="../../../../Blog/再游嵩山" data-for="Blog/再游嵩山">再游嵩山</a></li></li><li><li><a href="../../../../Blog/最近半年的生活" data-for="Blog/最近半年的生活">最近半年的生活</a></li></li><li><li><a href="../../../../Blog/最近在折腾什么……" data-for="Blog/最近在折腾什么……">最近在折腾什么……</a></li></li><li><li><a href="../../../../Blog/最近的生活" data-for="Blog/最近的生活">最近的生活</a></li></li><li><li><a href="../../../../Blog/写十万字的博客是一种什么感觉" data-for="Blog/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势" data-for="Blog/写博客的正确姿势">写博客的正确姿势</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势---先行版" data-for="Blog/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势---测试版" data-for="Blog/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li></li><li><li><a href="../../../../Blog/冰箱,让你我错过了多少新鲜的生活?" data-for="Blog/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li></li><li><li><a href="../../../../Blog/初号机,起飞!" data-for="Blog/初号机,起飞!">初号机,起飞!</a></li></li><li><li><a href="../../../../Blog/原点" data-for="Blog/原点">原点</a></li></li><li><li><a href="../../../../Blog/吉普赛满天星" data-for="Blog/吉普赛满天星">吉普赛满天星</a></li></li><li><li><a href="../../../../Blog/唯有热爱可抵岁月漫长" data-for="Blog/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li></li><li><li><a href="../../../../Blog/回首-2022-展望-2023" data-for="Blog/回首-2022-展望-2023">回首 2022 展望 2023</a></li></li><li><li><a href="../../../../Blog/夏日花记" data-for="Blog/夏日花记">夏日花记</a></li></li><li><li><a href="../../../../Blog/夜泊西湖听雨声" data-for="Blog/夜泊西湖听雨声">夜泊西湖听雨声</a></li></li><li><li><a href="../../../../Blog/大学回忆录" data-for="Blog/大学回忆录">大学回忆录</a></li></li><li><li><a href="../../../../Blog/如何不写错别字!" data-for="Blog/如何不写错别字!">如何不写错别字!</a></li></li><li><li><a href="../../../../Blog/如何免费创建一个属于自己的网站" data-for="Blog/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li></li><li><li><a href="../../../../Blog/如何免费获得-Jetbrains-正版授权" data-for="Blog/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li></li><li><li><a href="../../../../Blog/如何开好一场会?" data-for="Blog/如何开好一场会?">如何开好一场会?</a></li></li><li><li><a href="../../../../Blog/如何打破信息茧房?" data-for="Blog/如何打破信息茧房?">如何打破信息茧房?</a></li></li><li><li><a href="../../../../Blog/如何拍好一张照片" data-for="Blog/如何拍好一张照片">如何拍好一张照片</a></li></li><li><li><a href="../../../../Blog/家里的三块地" data-for="Blog/家里的三块地">家里的三块地</a></li></li><li><li><a href="../../../../Blog/富人的红灯与穷人的绿灯" data-for="Blog/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li></li><li><li><a href="../../../../Blog/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Blog/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li></li><li><li><a href="../../../../Blog/师从-ChatGPT" data-for="Blog/师从-ChatGPT">师从 ChatGPT</a></li></li><li><li><a href="../../../../Blog/幸福的事情都是需要等待的" data-for="Blog/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li></li><li><li><a href="../../../../Blog/开源软件之道" data-for="Blog/开源软件之道">开源软件之道</a></li></li><li><li><a href="../../../../Blog/我又从-Ubunut-换成了-Fedora" data-for="Blog/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li></li><li><li><a href="../../../../Blog/我开发的第一款软件" data-for="Blog/我开发的第一款软件">我开发的第一款软件</a></li></li><li><li><a href="../../../../Blog/我是关系户" data-for="Blog/我是关系户">我是关系户</a></li></li><li><li><a href="../../../../Blog/我的一天" data-for="Blog/我的一天">我的一天</a></li></li><li><li><a href="../../../../Blog/我的小羊肖恩" data-for="Blog/我的小羊肖恩">我的小羊肖恩</a></li></li><li><li><a href="../../../../Blog/我站立的地方是中国" data-for="Blog/我站立的地方是中国">我站立的地方是中国</a></li></li><li><li><a href="../../../../Blog/我要拔智齿!!!" data-for="Blog/我要拔智齿!!!">我要拔智齿!!!</a></li></li><li><li><a href="../../../../Blog/我还在……" data-for="Blog/我还在……">我还在……</a></li></li><li><li><a href="../../../../Blog/打工三年记" data-for="Blog/打工三年记">打工三年记</a></li></li><li><li><a href="../../../../Blog/拾月游记" data-for="Blog/拾月游记">拾月游记</a></li></li><li><li><a href="../../../../Blog/揭晓你的博客一年之最,尽在-EndOfYear!" data-for="Blog/揭晓你的博客一年之最,尽在-EndOfYear!">揭晓你的博客一年之最,尽在 EndOfYear!</a></li></li><li><li><a href="../../../../Blog/数字文化遗产" data-for="Blog/数字文化遗产">数字文化遗产</a></li></li><li><li><a href="../../../../Blog/数据恢复杂谈" data-for="Blog/数据恢复杂谈">数据恢复杂谈</a></li></li><li><li><a href="../../../../Blog/新冠笔记" data-for="Blog/新冠笔记">新冠笔记</a></li></li><li><li><a href="../../../../Blog/新奇的-HR-经历" data-for="Blog/新奇的-HR-经历">新奇的 HR 经历</a></li></li><li><li><a href="../../../../Blog/新手村村长" data-for="Blog/新手村村长">新手村村长</a></li></li><li><li><a href="../../../../Blog/早起、阅读、写作、运动、冥想" data-for="Blog/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li></li><li><li><a href="../../../../Blog/星光不问赶路人" data-for="Blog/星光不问赶路人">星光不问赶路人</a></li></li><li><li><a href="../../../../Blog/是微风、是晚霞、是来日方长" data-for="Blog/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li></li><li><li><a href="../../../../Blog/月季到了" data-for="Blog/月季到了">月季到了</a></li></li><li><li><a href="../../../../Blog/注定不平凡的一年" data-for="Blog/注定不平凡的一年">注定不平凡的一年</a></li></li><li><li><a href="../../../../Blog/浅尝-Gitea-的-Actions" data-for="Blog/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li></li><li><li><a href="../../../../Blog/浅谈一下自己折腾的网站" data-for="Blog/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li></li><li><li><a href="../../../../Blog/浅谈个人服务器架构" data-for="Blog/浅谈个人服务器架构">浅谈个人服务器架构</a></li></li><li><li><a href="../../../../Blog/济南呀济南的泰山之旅" data-for="Blog/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li></li><li><li><a href="../../../../Blog/涝疫结合" data-for="Blog/涝疫结合">涝疫结合</a></li></li><li><li><a href="../../../../Blog/独立生活能力清单" data-for="Blog/独立生活能力清单">独立生活能力清单</a></li></li><li><li><a href="../../../../Blog/球鞋日记" data-for="Blog/球鞋日记">球鞋日记</a></li></li><li><li><a href="../../../../Blog/申请-Jetbrains-开源项目授权" data-for="Blog/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li></li><li><li><a href="../../../../Blog/电脑坏了,我换了-Ubuntu" data-for="Blog/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li></li><li><li><a href="../../../../Blog/番茄开花啦-~" data-for="Blog/番茄开花啦-~">番茄开花啦 ~</a></li></li><li><li><a href="../../../../Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li></li><li><li><a href="../../../../Blog/真·长安游记" data-for="Blog/真·长安游记">真·长安游记</a></li></li><li><li><a href="../../../../Blog/破万卷书,行万里路!" data-for="Blog/破万卷书,行万里路!">破万卷书,行万里路!</a></li></li><li><li><a href="../../../../Blog/种下了一些瓜果蔬菜" data-for="Blog/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li></li><li><li><a href="../../../../Blog/穷则独善其身,达则兼济天下" data-for="Blog/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li></li><li><li><a href="../../../../Blog/继续开荒我那一亩三分地" data-for="Blog/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li></li><li><li><a href="../../../../Blog/罪恶应该被遗传么" data-for="Blog/罪恶应该被遗传么">罪恶应该被遗传么?</a></li></li><li><li><a href="../../../../Blog/自律的痛苦······" data-for="Blog/自律的痛苦······">自律的痛苦······</a></li></li><li><li><a href="../../../../Blog/英雄联盟-S8-全球总决赛" data-for="Blog/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li></li><li><li><a href="../../../../Blog/螺蛳粉" data-for="Blog/螺蛳粉">螺蛳粉</a></li></li><li><li><a href="../../../../Blog/記伍月" data-for="Blog/記伍月">記伍月</a></li></li><li><li><a href="../../../../Blog/記拾月" data-for="Blog/記拾月">記拾月</a></li></li><li><li><a href="../../../../Blog/记拾月" data-for="Blog/记拾月">记拾月</a></li></li><li><li><a href="../../../../Blog/论成年人的睡眠" data-for="Blog/论成年人的睡眠">论成年人的睡眠</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」" data-for="Blog/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---NextCloud" data-for="Blog/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---Obsidian" data-for="Blog/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---个人工作流" data-for="Blog/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---心得体会" data-for="Blog/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---数字基建" data-for="Blog/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---番外篇" data-for="Blog/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---运行平台" data-for="Blog/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li></li><li><li><a href="../../../../Blog/贰号机、落幕" data-for="Blog/贰号机、落幕">贰号机、落幕</a></li></li><li><li><a href="../../../../Blog/这个周末" data-for="Blog/这个周末">这个周末</a></li></li><li><li><a href="../../../../Blog/通货膨胀的猪" data-for="Blog/通货膨胀的猪">通货膨胀的猪</a></li></li><li><li><a href="../../../../Blog/长安三万里" data-for="Blog/长安三万里">长安三万里</a></li></li><li><li><a href="../../../../Blog/长安游记" data-for="Blog/长安游记">长安游记</a></li></li><li><li><a href="../../../../Blog/闭门锁网" data-for="Blog/闭门锁网">闭门锁网</a></li></li><li><li><a href="../../../../Blog/非黑即白" data-for="Blog/非黑即白">非黑即白</a></li></li><li><li><a href="../../../../Blog/首页加载速度优化方案" data-for="Blog/首页加载速度优化方案">首页加载速度优化方案</a></li></li><li><li><a href="../../../../Blog/骑行在路上" data-for="Blog/骑行在路上">骑行在路上</a></li></li><li><li><a href="../../../../Blog/黄山归来不看岳" data-for="Blog/黄山归来不看岳">黄山归来不看岳</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book"><button class="folder-button"><p class="folder-title">Book</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/个人成长"><button class="folder-button"><p class="folder-title">个人成长</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/个人成长"><li><li><a href="../../../../Book/个人成长/习惯的力量(新版)" data-for="Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li></li><li><li><a href="../../../../Book/个人成长/以极简的方式去生活" data-for="Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li></li><li><li><a href="../../../../Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li></li><li><li><a href="../../../../Book/个人成长/刻意练习:如何从新手到大师" data-for="Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li></li><li><li><a href="../../../../Book/个人成长/十分钟冥想" data-for="Book/个人成长/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/个人成长/即兴表达" data-for="Book/个人成长/即兴表达">即兴表达</a></li></li><li><li><a href="../../../../Book/个人成长/学习之道" data-for="Book/个人成长/学习之道">学习之道</a></li></li><li><li><a href="../../../../Book/个人成长/学会写作:自我进阶的高效方法" data-for="Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li></li><li><li><a href="../../../../Book/个人成长/当下的力量(白金版)" data-for="Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li></li><li><li><a href="../../../../Book/个人成长/我的第一本人生规划手册" data-for="Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li></li><li><li><a href="../../../../Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/医学健康"><button class="folder-button"><p class="folder-title">医学健康</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/医学健康"><li><li><a href="../../../../Book/医学健康/你是你吃出来的(套装共2册)" data-for="Book/医学健康/你是你吃出来的(套装共2册)">你是你吃出来的(套装共2册)</a></li></li><li><li><a href="../../../../Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/历史"><button class="folder-button"><p class="folder-title">历史</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/历史"><li><li><a href="../../../../Book/历史/信息简史" data-for="Book/历史/信息简史">信息简史</a></li></li><li><li><a href="../../../../Book/历史/这里是中国2" data-for="Book/历史/这里是中国2">这里是中国2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/哲学宗教"><button class="folder-button"><p class="folder-title">哲学宗教</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/哲学宗教"><li><li><a href="../../../../Book/哲学宗教/半小时漫画中国哲学史(套装全2册)" data-for="Book/哲学宗教/半小时漫画中国哲学史(套装全2册)">半小时漫画中国哲学史(套装全2册)</a></li></li><li><li><a href="../../../../Book/哲学宗教/第一性原理" data-for="Book/哲学宗教/第一性原理">第一性原理</a></li></li><li><li><a href="../../../../Book/哲学宗教/结构化思维" data-for="Book/哲学宗教/结构化思维">结构化思维</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/心理"><button class="folder-button"><p class="folder-title">心理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/心理"><li><li><a href="../../../../Book/心理/十分钟冥想" data-for="Book/心理/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/心理/认知觉醒:开启自我改变的原动力" data-for="Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li></li><li><li><a href="../../../../Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li></li><li><li><a href="../../../../Book/心理/谈性说爱:写给女性的性心理24讲" data-for="Book/心理/谈性说爱:写给女性的性心理24讲">谈性说爱:写给女性的性心理24讲</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/政治军事"><button class="folder-button"><p class="folder-title">政治军事</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/政治军事"><li><li><a href="../../../../Book/政治军事/实践论" data-for="Book/政治军事/实践论">实践论</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/教育学习"><button class="folder-button"><p class="folder-title">教育学习</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/教育学习"><li><li><a href="../../../../Book/教育学习/如何阅读一本书" data-for="Book/教育学习/如何阅读一本书">如何阅读一本书</a></li></li><li><li><a href="../../../../Book/教育学习/赖世雄的英语学习法" data-for="Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/文学"><button class="folder-button"><p class="folder-title">文学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/文学"><li><li><a href="../../../../Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)" data-for="Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)">凤凰项目:一个IT运维的传奇故事(修订版)</a></li></li><li><li><a href="../../../../Book/文学/老舍谈写作" data-for="Book/文学/老舍谈写作">老舍谈写作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/生活百科"><button class="folder-button"><p class="folder-title">生活百科</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/生活百科"><li><li><a href="../../../../Book/生活百科/聂卫平围棋教程(从15级到10级)" data-for="Book/生活百科/聂卫平围棋教程(从15级到10级)">聂卫平围棋教程(从15级到10级)</a></li></li><li><li><a href="../../../../Book/生活百科/聂卫平围棋教程(从入门到15级)" data-for="Book/生活百科/聂卫平围棋教程(从入门到15级)">聂卫平围棋教程(从入门到15级)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/社会文化"><button class="folder-button"><p class="folder-title">社会文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/社会文化"><li><li><a href="../../../../Book/社会文化/人体简史" data-for="Book/社会文化/人体简史">人体简史</a></li></li><li><li><a href="../../../../Book/社会文化/你不可不知的法律常识" data-for="Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li></li><li><li><a href="../../../../Book/社会文化/半小时漫画《论语》" data-for="Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li></li><li><li><a href="../../../../Book/社会文化/民法典与百姓生活100问" data-for="Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li></li><li><li><a href="../../../../Book/社会文化/这里是中国" data-for="Book/社会文化/这里是中国">这里是中国</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/科学技术"><button class="folder-button"><p class="folder-title">科学技术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/科学技术"><li><li><a href="../../../../Book/科学技术/贝尔实验室与美国革新大时代" data-for="Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li></li><li><li><a href="../../../../Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例" data-for="Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/经济理财"><button class="folder-button"><p class="folder-title">经济理财</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/经济理财"><li><li><a href="../../../../Book/经济理财/人力资源管理从入门到精通" data-for="Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li></li><li><li><a href="../../../../Book/经济理财/十分钟冥想" data-for="Book/经济理财/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/经济理财/半小时漫画股票实战法" data-for="Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li></li><li><li><a href="../../../../Book/经济理财/小米创业思考" data-for="Book/经济理财/小米创业思考">小米创业思考</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/艺术"><button class="folder-button"><p class="folder-title">艺术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/艺术"><li><li><a href="../../../../Book/艺术/江湖丛谈(注音注释插图本)" data-for="Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/计算机"><button class="folder-button"><p class="folder-title">计算机</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/计算机"><li><li><a href="../../../../Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)" data-for="Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)">Flask Web开发:基于Python的Web应用开发实战(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/IT基础架构:系统运维实践" data-for="Book/计算机/IT基础架构:系统运维实践">IT基础架构:系统运维实践</a></li></li><li><li><a href="../../../../Book/计算机/Linux命令行与shell脚本编程大全(第4版)" data-for="Book/计算机/Linux命令行与shell脚本编程大全(第4版)">Linux命令行与shell脚本编程大全(第4版)</a></li></li><li><li><a href="../../../../Book/计算机/Linux是怎样工作的" data-for="Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li></li><li><li><a href="../../../../Book/计算机/Python工匠:案例、技巧与工程实践" data-for="Book/计算机/Python工匠:案例、技巧与工程实践">Python工匠:案例、技巧与工程实践</a></li></li><li><li><a href="../../../../Book/计算机/Python编程:从入门到实践(第2版)" data-for="Book/计算机/Python编程:从入门到实践(第2版)">Python编程:从入门到实践(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/Python编程轻松进阶" data-for="Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li></li><li><li><a href="../../../../Book/计算机/SQL必知必会(第5版)" data-for="Book/计算机/SQL必知必会(第5版)">SQL必知必会(第5版)</a></li></li><li><li><a href="../../../../Book/计算机/SRE:Google运维解密" data-for="Book/计算机/SRE:Google运维解密">SRE:Google运维解密</a></li></li><li><li><a href="../../../../Book/计算机/UNIX传奇:历史与回忆" data-for="Book/计算机/UNIX传奇:历史与回忆">UNIX传奇:历史与回忆</a></li></li><li><li><a href="../../../../Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)" data-for="Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)">VMware vSphere 7.0云平台运维与管理(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)" data-for="Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)">人人都懂设计模式:从生活中领悟设计模式(Python实现)</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:HTML+CSS快速上手" data-for="Book/计算机/从0到1:HTML+CSS快速上手">从0到1:HTML+CSS快速上手</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:HTML5+CSS3修炼之道" data-for="Book/计算机/从0到1:HTML5+CSS3修炼之道">从0到1:HTML5+CSS3修炼之道</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:JavaScript-快速上手" data-for="Book/计算机/从0到1:JavaScript-快速上手">从0到1:JavaScript 快速上手</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:jQuery快速上手" data-for="Book/计算机/从0到1:jQuery快速上手">从0到1:jQuery快速上手</a></li></li><li><li><a href="../../../../Book/计算机/明解Python" data-for="Book/计算机/明解Python">明解Python</a></li></li><li><li><a href="../../../../Book/计算机/每天5分钟玩转Docker容器技术" data-for="Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li></li><li><li><a href="../../../../Book/计算机/流畅的Python" data-for="Book/计算机/流畅的Python">流畅的Python</a></li></li><li><li><a href="../../../../Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)" data-for="Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)">硅谷之火:个人计算机的诞生与衰落(第3版)</a></li></li><li><li><a href="../../../../Book/计算机/秒懂设计模式" data-for="Book/计算机/秒懂设计模式">秒懂设计模式</a></li></li><li><li><a href="../../../../Book/计算机/程序员的README" data-for="Book/计算机/程序员的README">程序员的README</a></li></li><li><li><a href="../../../../Book/计算机/精通Python设计模式(第2版)" data-for="Book/计算机/精通Python设计模式(第2版)">精通Python设计模式(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li></li><li><li><a href="../../../../Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li></li><li><li><a href="../../../../Book/计算机/网络是怎样连接的" data-for="Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li></li><li><li><a href="../../../../Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li></li><li><li><a href="../../../../Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li></li><li><li><a href="../../../../Book/计算机/计算机:一部历史" data-for="Book/计算机/计算机:一部历史">计算机:一部历史</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company"><button class="folder-button"><p class="folder-title">Company</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化"><button class="folder-button"><p class="folder-title">信息化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化/规范"><button class="folder-button"><p class="folder-title">规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化/规范"><li><li><a href="../../../../Company/信息化/规范/计算机命名规范" data-for="Company/信息化/规范/计算机命名规范">计算机命名规范</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Culture"><button class="folder-button"><p class="folder-title">Culture</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Culture"><li><li><a href="../../../../Culture/Home" data-for="Culture/Home">传统文化</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government"><button class="folder-button"><p class="folder-title">Government</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国"><button class="folder-button"><p class="folder-title">中国</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/标准"><button class="folder-button"><p class="folder-title">标准</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/标准"><li><li><a href="../../../../Government/中国/标准/标准组织" data-for="Government/中国/标准/标准组织">标准组织</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/法律"><button class="folder-button"><p class="folder-title">法律</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/法律"><li><li><a href="../../../../Government/中国/法律/法律文书" data-for="Government/中国/法律/法律文书">法律文书</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal"><button class="folder-button"><p class="folder-title">Journal</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022"><button class="folder-button"><p class="folder-title">2022</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W34"><button class="folder-button"><p class="folder-title">W34</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W34"><li><li><a href="../../../../Journal/2022/W34/2022-08-24" data-for="Journal/2022/W34/2022-08-24">2022-08-24</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-25" data-for="Journal/2022/W34/2022-08-25">2022-08-25</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-26" data-for="Journal/2022/W34/2022-08-26">2022-08-26</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-27" data-for="Journal/2022/W34/2022-08-27">2022-08-27</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-28" data-for="Journal/2022/W34/2022-08-28">2022-08-28</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-W34" data-for="Journal/2022/W34/2022-W34">2022-W34</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W35"><li><li><a href="../../../../Journal/2022/W35/2022-08-29" data-for="Journal/2022/W35/2022-08-29">2022-08-29</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-08-30" data-for="Journal/2022/W35/2022-08-30">2022-08-30</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-08-31" data-for="Journal/2022/W35/2022-08-31">2022-08-31</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-09-01" data-for="Journal/2022/W35/2022-09-01">2022-09-01</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-W35" data-for="Journal/2022/W35/2022-W35">2022-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W36"><li><li><a href="../../../../Journal/2022/W36/2022-09-05" data-for="Journal/2022/W36/2022-09-05">2022-09-05</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-06" data-for="Journal/2022/W36/2022-09-06">2022-09-06</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-07" data-for="Journal/2022/W36/2022-09-07">2022-09-07</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-08" data-for="Journal/2022/W36/2022-09-08">2022-09-08</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-W36" data-for="Journal/2022/W36/2022-W36">2022-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W37"><li><li><a href="../../../../Journal/2022/W37/2022-09-12" data-for="Journal/2022/W37/2022-09-12">2022-09-12</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-13" data-for="Journal/2022/W37/2022-09-13">2022-09-13</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-14" data-for="Journal/2022/W37/2022-09-14">2022-09-14</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-15" data-for="Journal/2022/W37/2022-09-15">2022-09-15</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-16" data-for="Journal/2022/W37/2022-09-16">2022-09-16</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-17" data-for="Journal/2022/W37/2022-09-17">2022-09-17</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-18" data-for="Journal/2022/W37/2022-09-18">2022-09-18</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-W37" data-for="Journal/2022/W37/2022-W37">2022-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W38"><button class="folder-button"><p class="folder-title">W38</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W38"><li><li><a href="../../../../Journal/2022/W38/2022-09-19" data-for="Journal/2022/W38/2022-09-19">2022-09-19</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-20" data-for="Journal/2022/W38/2022-09-20">2022-09-20</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-21" data-for="Journal/2022/W38/2022-09-21">2022-09-21</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-22" data-for="Journal/2022/W38/2022-09-22">2022-09-22</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-W38" data-for="Journal/2022/W38/2022-W38">2022-W38</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W39"><button class="folder-button"><p class="folder-title">W39</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W39"><li><li><a href="../../../../Journal/2022/W39/2022-09-28" data-for="Journal/2022/W39/2022-09-28">2022-09-28</a></li></li><li><li><a href="../../../../Journal/2022/W39/2022-09-29" data-for="Journal/2022/W39/2022-09-29">2022-09-29</a></li></li><li><li><a href="../../../../Journal/2022/W39/2022-W39" data-for="Journal/2022/W39/2022-W39">2022-W39</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W41"><button class="folder-button"><p class="folder-title">W41</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W41"><li><li><a href="../../../../Journal/2022/W41/2022-10-10" data-for="Journal/2022/W41/2022-10-10">2022-10-10</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-11" data-for="Journal/2022/W41/2022-10-11">2022-10-11</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-12" data-for="Journal/2022/W41/2022-10-12">2022-10-12</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-13" data-for="Journal/2022/W41/2022-10-13">2022-10-13</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-14" data-for="Journal/2022/W41/2022-10-14">2022-10-14</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-16" data-for="Journal/2022/W41/2022-10-16">2022-10-16</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-W41" data-for="Journal/2022/W41/2022-W41">2022-W41</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W42"><button class="folder-button"><p class="folder-title">W42</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W42"><li><li><a href="../../../../Journal/2022/W42/2022-10-17" data-for="Journal/2022/W42/2022-10-17">2022-10-17</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-18" data-for="Journal/2022/W42/2022-10-18">2022-10-18</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-19" data-for="Journal/2022/W42/2022-10-19">2022-10-19</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-21" data-for="Journal/2022/W42/2022-10-21">2022-10-21</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-W42" data-for="Journal/2022/W42/2022-W42">2022-W42</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W43"><button class="folder-button"><p class="folder-title">W43</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W43"><li><li><a href="../../../../Journal/2022/W43/2022-10-24" data-for="Journal/2022/W43/2022-10-24">2022-10-24</a></li></li><li><li><a href="../../../../Journal/2022/W43/2022-10-26" data-for="Journal/2022/W43/2022-10-26">2022-10-26</a></li></li><li><li><a href="../../../../Journal/2022/W43/2022-W43" data-for="Journal/2022/W43/2022-W43">2022-W43</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W44"><button class="folder-button"><p class="folder-title">W44</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W44"><li><li><a href="../../../../Journal/2022/W44/2022-11-02" data-for="Journal/2022/W44/2022-11-02">2022-11-02</a></li></li><li><li><a href="../../../../Journal/2022/W44/2022-W44" data-for="Journal/2022/W44/2022-W44">2022-W44</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W45"><li><li><a href="../../../../Journal/2022/W45/2022-11-10" data-for="Journal/2022/W45/2022-11-10">2022-11-10</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-11" data-for="Journal/2022/W45/2022-11-11">2022-11-11</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-12" data-for="Journal/2022/W45/2022-11-12">2022-11-12</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-13" data-for="Journal/2022/W45/2022-11-13">2022-11-13</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W46"><li><li><a href="../../../../Journal/2022/W46/2022-11-18" data-for="Journal/2022/W46/2022-11-18">2022-11-18</a></li></li><li><li><a href="../../../../Journal/2022/W46/2022-11-20" data-for="Journal/2022/W46/2022-11-20">2022-11-20</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W47"><button class="folder-button"><p class="folder-title">W47</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W47"><li><li><a href="../../../../Journal/2022/W47/2022-11-21" data-for="Journal/2022/W47/2022-11-21">2022-11-21</a></li></li><li><li><a href="../../../../Journal/2022/W47/2022-11-22" data-for="Journal/2022/W47/2022-11-22">2022-11-22</a></li></li><li><li><a href="../../../../Journal/2022/W47/2022-W47" data-for="Journal/2022/W47/2022-W47">2022-W47</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W48"><li><li><a href="../../../../Journal/2022/W48/2022-11-28" data-for="Journal/2022/W48/2022-11-28">2022-11-28</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-11-29" data-for="Journal/2022/W48/2022-11-29">2022-11-29</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-12-01" data-for="Journal/2022/W48/2022-12-01">2022-12-01</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-12-04" data-for="Journal/2022/W48/2022-12-04">2022-12-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W49"><li><li><a href="../../../../Journal/2022/W49/2022-12-06" data-for="Journal/2022/W49/2022-12-06">2022-12-06</a></li></li><li><li><a href="../../../../Journal/2022/W49/2022-W49" data-for="Journal/2022/W49/2022-W49">2022-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W50"><li><li><a href="../../../../Journal/2022/W50/2022-12-12" data-for="Journal/2022/W50/2022-12-12">2022-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023"><button class="folder-button"><p class="folder-title">2023</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W2"><button class="folder-button"><p class="folder-title">W2</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W2"><li><li><a href="../../../../Journal/2023/W2/2023-W2" data-for="Journal/2023/W2/2023-W2">2023-W2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W3"><button class="folder-button"><p class="folder-title">W3</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W3"><li><li><a href="../../../../Journal/2023/W3/2023-01-16" data-for="Journal/2023/W3/2023-01-16">2023-01-16</a></li></li><li><li><a href="../../../../Journal/2023/W3/2023-01-18" data-for="Journal/2023/W3/2023-01-18">2023-01-18</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W5"><button class="folder-button"><p class="folder-title">W5</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W5"><li><li><a href="../../../../Journal/2023/W5/2023-W5" data-for="Journal/2023/W5/2023-W5">2023-W5</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W6"><button class="folder-button"><p class="folder-title">W6</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W6"><li><li><a href="../../../../Journal/2023/W6/2023-W6" data-for="Journal/2023/W6/2023-W6">2023-W6</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W7"><button class="folder-button"><p class="folder-title">W7</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W7"><li><li><a href="../../../../Journal/2023/W7/2023-02-14" data-for="Journal/2023/W7/2023-02-14">2023-02-14</a></li></li><li><li><a href="../../../../Journal/2023/W7/2023-02-15" data-for="Journal/2023/W7/2023-02-15">2023-02-15</a></li></li><li><li><a href="../../../../Journal/2023/W7/2023-02-16" data-for="Journal/2023/W7/2023-02-16">2023-02-16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W8"><li><li><a href="../../../../Journal/2023/W8/2023-02-20" data-for="Journal/2023/W8/2023-02-20">2023-02-20</a></li></li><li><li><a href="../../../../Journal/2023/W8/2023-02-22" data-for="Journal/2023/W8/2023-02-22">2023-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W10"><li><li><a href="../../../../Journal/2023/W10/2023-W10" data-for="Journal/2023/W10/2023-W10">2023-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W12"><li><li><a href="../../../../Journal/2023/W12/2023-03-20" data-for="Journal/2023/W12/2023-03-20">2023-03-20</a></li></li><li><li><a href="../../../../Journal/2023/W12/2023-03-21" data-for="Journal/2023/W12/2023-03-21">2023-03-21</a></li></li><li><li><a href="../../../../Journal/2023/W12/2023-W12" data-for="Journal/2023/W12/2023-W12">2023-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W14"><li><li><a href="../../../../Journal/2023/W14/2023-04-08" data-for="Journal/2023/W14/2023-04-08">2023-04-08</a></li></li><li><li><a href="../../../../Journal/2023/W14/2023-W14" data-for="Journal/2023/W14/2023-W14">2023-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W16"><li><li><a href="../../../../Journal/2023/W16/2023-04-21" data-for="Journal/2023/W16/2023-04-21">2023-04-21</a></li></li><li><li><a href="../../../../Journal/2023/W16/2023-04-23" data-for="Journal/2023/W16/2023-04-23">2023-04-23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W22"><li><li><a href="../../../../Journal/2023/W22/2023-05-31" data-for="Journal/2023/W22/2023-05-31">2023-05-31</a></li></li><li><li><a href="../../../../Journal/2023/W22/2023-06-01" data-for="Journal/2023/W22/2023-06-01">2023-06-01</a></li></li><li><li><a href="../../../../Journal/2023/W22/2023-W22" data-for="Journal/2023/W22/2023-W22">2023-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W23"><li><li><a href="../../../../Journal/2023/W23/2023-06-05" data-for="Journal/2023/W23/2023-06-05">2023-06-05</a></li></li><li><li><a href="../../../../Journal/2023/W23/2023-06-08" data-for="Journal/2023/W23/2023-06-08">2023-06-08</a></li></li><li><li><a href="../../../../Journal/2023/W23/2023-W23" data-for="Journal/2023/W23/2023-W23">2023-W23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W24"><li><li><a href="../../../../Journal/2023/W24/2023-06-12" data-for="Journal/2023/W24/2023-06-12">2023-06-12</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-06-13" data-for="Journal/2023/W24/2023-06-13">2023-06-13</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-06-15" data-for="Journal/2023/W24/2023-06-15">2023-06-15</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-W24" data-for="Journal/2023/W24/2023-W24">2023-W24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W25"><button class="folder-button"><p class="folder-title">W25</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W25"><li><li><a href="../../../../Journal/2023/W25/2023-W25" data-for="Journal/2023/W25/2023-W25">2023-W25</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W26"><button class="folder-button"><p class="folder-title">W26</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W26"><li><li><a href="../../../../Journal/2023/W26/2023-06-26" data-for="Journal/2023/W26/2023-06-26">2023-06-26</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W31"><button class="folder-button"><p class="folder-title">W31</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W31"><li><li><a href="../../../../Journal/2023/W31/2023-W31" data-for="Journal/2023/W31/2023-W31">2023-W31</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W32"><button class="folder-button"><p class="folder-title">W32</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W32"><li><li><a href="../../../../Journal/2023/W32/2023-08-07" data-for="Journal/2023/W32/2023-08-07">2023-08-07</a></li></li><li><li><a href="../../../../Journal/2023/W32/2023-08-08" data-for="Journal/2023/W32/2023-08-08">2023-08-08</a></li></li><li><li><a href="../../../../Journal/2023/W32/2023-W32" data-for="Journal/2023/W32/2023-W32">2023-W32</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W33"><button class="folder-button"><p class="folder-title">W33</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W33"><li><li><a href="../../../../Journal/2023/W33/2023-W33" data-for="Journal/2023/W33/2023-W33">2023-W33</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W35"><li><li><a href="../../../../Journal/2023/W35/2023-W35" data-for="Journal/2023/W35/2023-W35">2023-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W36"><li><li><a href="../../../../Journal/2023/W36/2023-W36" data-for="Journal/2023/W36/2023-W36">2023-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W37"><li><li><a href="../../../../Journal/2023/W37/2023-W37" data-for="Journal/2023/W37/2023-W37">2023-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W40"><button class="folder-button"><p class="folder-title">W40</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W40"><li><li><a href="../../../../Journal/2023/W40/2023-W40" data-for="Journal/2023/W40/2023-W40">2023-W40</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W45"><li><li><a href="../../../../Journal/2023/W45/2023-11-12" data-for="Journal/2023/W45/2023-11-12">2023-11-12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W46"><li><li><a href="../../../../Journal/2023/W46/2023-11-15" data-for="Journal/2023/W46/2023-11-15">2023-11-15</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W48"><li><li><a href="../../../../Journal/2023/W48/2023-W48" data-for="Journal/2023/W48/2023-W48">2023-W48</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W49"><li><li><a href="../../../../Journal/2023/W49/2023-12-07" data-for="Journal/2023/W49/2023-12-07">2023-12-07</a></li></li><li><li><a href="../../../../Journal/2023/W49/2023-W49" data-for="Journal/2023/W49/2023-W49">2023-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W50"><li><li><a href="../../../../Journal/2023/W50/2023-12-12" data-for="Journal/2023/W50/2023-12-12">2023-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024"><button class="folder-button"><p class="folder-title">2024</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W8"><li><li><a href="../../../../Journal/2024/W8/2024-02-22" data-for="Journal/2024/W8/2024-02-22">2024-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W10"><li><li><a href="../../../../Journal/2024/W10/2024-03-05" data-for="Journal/2024/W10/2024-03-05">2024-03-05</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-03-06" data-for="Journal/2024/W10/2024-03-06">2024-03-06</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-03-07" data-for="Journal/2024/W10/2024-03-07">2024-03-07</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-W10" data-for="Journal/2024/W10/2024-W10">2024-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W11"><button class="folder-button"><p class="folder-title">W11</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W11"><li><li><a href="../../../../Journal/2024/W11/2024-03-11" data-for="Journal/2024/W11/2024-03-11">2024-03-11</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-03-12" data-for="Journal/2024/W11/2024-03-12">2024-03-12</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-03-13" data-for="Journal/2024/W11/2024-03-13">2024-03-13</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-W11" data-for="Journal/2024/W11/2024-W11">2024-W11</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W12"><li><li><a href="../../../../Journal/2024/W12/2024-03-20" data-for="Journal/2024/W12/2024-03-20">2024-03-20</a></li></li><li><li><a href="../../../../Journal/2024/W12/2024-W12" data-for="Journal/2024/W12/2024-W12">2024-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W14"><li><li><a href="../../../../Journal/2024/W14/2024-W14" data-for="Journal/2024/W14/2024-W14">2024-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W16"><li><li><a href="../../../../Journal/2024/W16/2024-W16" data-for="Journal/2024/W16/2024-W16">2024-W16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W17"><button class="folder-button"><p class="folder-title">W17</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W17"><li><li><a href="../../../../Journal/2024/W17/2024-04-24" data-for="Journal/2024/W17/2024-04-24">2024-04-24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W22"><li><li><a href="../../../../Journal/2024/W22/2024-06-02" data-for="Journal/2024/W22/2024-06-02">2024-06-02</a></li></li><li><li><a href="../../../../Journal/2024/W22/2024-W22" data-for="Journal/2024/W22/2024-W22">2024-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W23"><li><li><a href="../../../../Journal/2024/W23/2024-06-03" data-for="Journal/2024/W23/2024-06-03">2024-06-03</a></li></li><li><li><a href="../../../../Journal/2024/W23/2024-06-04" data-for="Journal/2024/W23/2024-06-04">2024-06-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W24"><li><li><a href="../../../../Journal/2024/W24/2024-06-12" data-for="Journal/2024/W24/2024-06-12">2024-06-12</a></li></li><li><li><a href="../../../../Journal/2024/W24/2024-W24" data-for="Journal/2024/W24/2024-W24">2024-W24</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Life"><button class="folder-button"><p class="folder-title">Life</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Life"><li><li><a href="../../../../Life/Home" data-for="Life/Home">生活相关</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Scholar"><button class="folder-button"><p class="folder-title">Scholar</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Scholar"><li><li><a href="../../../../Scholar/Home" data-for="Scholar/Home">学术</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech"><button class="folder-button"><p class="folder-title">Tech</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service"><button class="folder-button"><p class="folder-title">cloud-service</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service/基础"><li><li><a href="../../../../Tech/cloud-service/基础/IT-基础架构" data-for="Tech/cloud-service/基础/IT-基础架构">IT 基础架构</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/云计算" data-for="Tech/cloud-service/基础/云计算">云计算概述</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/功能即服务(FaaS)" data-for="Tech/cloud-service/基础/功能即服务(FaaS)">功能即服务(FaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/基础架构即服务(IaaS)" data-for="Tech/cloud-service/基础/基础架构即服务(IaaS)">基础架构即服务(IaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/平台即服务(PaaS)" data-for="Tech/cloud-service/基础/平台即服务(PaaS)">平台即服务(PaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/软件即服务(SaaS)" data-for="Tech/cloud-service/基础/软件即服务(SaaS)">软件即服务(SaaS)</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network"><button class="folder-button"><p class="folder-title">computer-network</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/Nginx"><button class="folder-button"><p class="folder-title">Nginx</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/Nginx"><li><li><a href="../../../../Tech/computer-network/Nginx/概述" data-for="Tech/computer-network/Nginx/概述">Nginx 概述</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/内容缓存" data-for="Tech/computer-network/Nginx/内容缓存">内容缓存</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/基础配置" data-for="Tech/computer-network/Nginx/基础配置">基础配置</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/负载均衡" data-for="Tech/computer-network/Nginx/负载均衡">负载均衡</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/应用服务"><button class="folder-button"><p class="folder-title">应用服务</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/应用服务"><li><li><a href="../../../../Tech/computer-network/应用服务/CDN-内容分发网络" data-for="Tech/computer-network/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络协议"><button class="folder-button"><p class="folder-title">网络协议</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络协议"><li><li><a href="../../../../Tech/computer-network/网络协议/DHCP-动态主机配置协议" data-for="Tech/computer-network/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/DNS-域名系统" data-for="Tech/computer-network/网络协议/DNS-域名系统">DNS 域名系统</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/IP-网际协议" data-for="Tech/computer-network/网络协议/IP-网际协议">IP 网际协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/TCP-传输控制协议" data-for="Tech/computer-network/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/UDP-用户数据报协议" data-for="Tech/computer-network/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络基础"><button class="folder-button"><p class="folder-title">网络基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络基础"><li><li><a href="../../../../Tech/computer-network/网络基础/网络基础" data-for="Tech/computer-network/网络基础/网络基础">网络基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security"><button class="folder-button"><p class="folder-title">computer-security</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全"><button class="folder-button"><p class="folder-title">信息安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全/OpenPGP"><button class="folder-button"><p class="folder-title">OpenPGP</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全/OpenPGP"><li><li><a href="../../../../Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南" data-for="Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/密码学"><button class="folder-button"><p class="folder-title">密码学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/密码学"><li><li><a href="../../../../Tech/computer-security/密码学/简明指南" data-for="Tech/computer-security/密码学/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全"><button class="folder-button"><p class="folder-title">用户安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/权限设计"><button class="folder-button"><p class="folder-title">权限设计</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/权限设计"><li><li><a href="../../../../Tech/computer-security/用户安全/权限设计/主流权限系统的设计" data-for="Tech/computer-security/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/用户鉴权"><button class="folder-button"><p class="folder-title">用户鉴权</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/用户鉴权"><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权">JWT 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)" data-for="Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)">SSO 单点登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/Token-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)" data-for="Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)">一键登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/唯一登录" data-for="Tech/computer-security/用户安全/用户鉴权/唯一登录">唯一登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/扫码登录" data-for="Tech/computer-security/用户安全/用户鉴权/扫码登录">扫码登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录" data-for="Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></li></ul></div></div></li><li><li><a href="../../../../Tech/computer-security/用户安全/简明指南" data-for="Tech/computer-security/用户安全/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全"><button class="folder-button"><p class="folder-title">系统安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全/防火墙"><button class="folder-button"><p class="folder-title">防火墙</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全/防火墙"><li><li><a href="../../../../Tech/computer-security/系统安全/防火墙/网络端口大全" data-for="Tech/computer-security/系统安全/防火墙/网络端口大全">网络端口大全</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全"><button class="folder-button"><p class="folder-title">网络安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSH"><button class="folder-button"><p class="folder-title">OpenSSH</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSH"><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li></li><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSL"><button class="folder-button"><p class="folder-title">OpenSSL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSL"><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSL/简明指南" data-for="Tech/computer-security/网络安全/OpenSSL/简明指南">简明指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system"><button class="folder-button"><p class="folder-title">database-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/PostgreSQL"><button class="folder-button"><p class="folder-title">PostgreSQL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/PostgreSQL"><li><li><a href="../../../../Tech/database-system/PostgreSQL/基本概念" data-for="Tech/database-system/PostgreSQL/基本概念">基本概念</a></li></li><li><li><a href="../../../../Tech/database-system/PostgreSQL/安装配置" data-for="Tech/database-system/PostgreSQL/安装配置">安装配置</a></li></li><li><li><a href="../../../../Tech/database-system/PostgreSQL/简介" data-for="Tech/database-system/PostgreSQL/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/SQL 语言"><button class="folder-button"><p class="folder-title">SQL 语言</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/SQL 语言"><li><li><a href="../../../../Tech/database-system/SQL-语言/基础语法" data-for="Tech/database-system/SQL-语言/基础语法">基础语法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/基础"><li><li><a href="../../../../Tech/database-system/基础/关系型数据库" data-for="Tech/database-system/基础/关系型数据库">关系型数据库</a></li></li><li><li><a href="../../../../Tech/database-system/基础/数据库概述" data-for="Tech/database-system/基础/数据库概述">数据库概述</a></li></li><li><li><a href="../../../../Tech/database-system/基础/非关系型数据库" data-for="Tech/database-system/基础/非关系型数据库">非关系型数据库</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started"><button class="folder-button"><p class="folder-title">getting-started</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具"><button class="folder-button"><p class="folder-title">命令行工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/PowerShell"><button class="folder-button"><p class="folder-title">PowerShell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/PowerShell"><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-入门" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-高级" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Shell"><button class="folder-button"><p class="folder-title">Shell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Shell"><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-命令操作" data-for="Tech/getting-started/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-必备锦囊" data-for="Tech/getting-started/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-是什么" data-for="Tech/getting-started/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Vim"><button class="folder-button"><p class="folder-title">Vim</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Vim"><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-参考手册" data-for="Tech/getting-started/命令行工具/Vim/Vim-参考手册">Vim 参考手册</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-帮助文档" data-for="Tech/getting-started/命令行工具/Vim/Vim-帮助文档">Vim 帮助文档</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-入门" data-for="Tech/getting-started/命令行工具/Vim/Vim-入门">Vim 快速入门</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/开源指南"><button class="folder-button"><p class="folder-title">开源指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/开源指南"><li><li><a href="../../../../Tech/getting-started/开源指南/如何向开源社区提问" data-for="Tech/getting-started/开源指南/如何向开源社区提问">如何向开源社区提问</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/如何有效报告-BUG" data-for="Tech/getting-started/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/开源指北" data-for="Tech/getting-started/开源指南/开源指北">开源指北</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/提问的智慧" data-for="Tech/getting-started/开源指南/提问的智慧">提问的智慧</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/文本处理"><li><li><a href="../../../../Tech/getting-started/文本处理/正则表达式" data-for="Tech/getting-started/文本处理/正则表达式">正则表达式</a></li></li><li><li><a href="../../../../Tech/getting-started/文本处理/结构化文件" data-for="Tech/getting-started/文本处理/结构化文件">结构化文件</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制"><button class="folder-button"><p class="folder-title">版本控制</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git"><button class="folder-button"><p class="folder-title">Git</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/入门"><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/分支" data-for="Tech/getting-started/版本控制/Git/入门/分支">分支</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/协议" data-for="Tech/getting-started/版本控制/Git/入门/协议">协议</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/基础" data-for="Tech/getting-started/版本控制/Git/入门/基础">基础</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/起步" data-for="Tech/getting-started/版本控制/Git/入门/起步">起步</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/进阶"><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/Git-LFS" data-for="Tech/getting-started/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/参考手册" data-for="Tech/getting-started/版本控制/Git/进阶/参考手册">参考手册</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/工作流" data-for="Tech/getting-started/版本控制/Git/进阶/工作流">工作流</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/常用命令" data-for="Tech/getting-started/版本控制/Git/进阶/常用命令">常用命令</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/常用技巧" data-for="Tech/getting-started/版本控制/Git/进阶/常用技巧">常用技巧</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/思维导图" data-for="Tech/getting-started/版本控制/Git/进阶/思维导图">思维导图</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/钩子" data-for="Tech/getting-started/版本控制/Git/进阶/钩子">钩子</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system"><button class="folder-button"><p class="folder-title">operating-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Automation"><button class="folder-button"><p class="folder-title">Automation</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Automation"><li><li><a href="../../../../Tech/operating-system/Automation/Ansible" data-for="Tech/operating-system/Automation/Ansible">Ansible</a></li></li><li><li><a href="../../../../Tech/operating-system/Automation/Cloud-init-快速部署" data-for="Tech/operating-system/Automation/Cloud-init-快速部署">Cloud-init</a></li></li><li><li><a href="../../../../Tech/operating-system/Automation/PXE--系统部署" data-for="Tech/operating-system/Automation/PXE--系统部署">PXE 自动化部署</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker"><button class="folder-button"><p class="folder-title">Docker</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/基础"><li><li><a href="../../../../Tech/operating-system/Docker/基础/基础概念" data-for="Tech/operating-system/Docker/基础/基础概念">基础概念</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/基础/安装配置" data-for="Tech/operating-system/Docker/基础/安装配置">安装配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/基础/简介" data-for="Tech/operating-system/Docker/基础/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/进阶"><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-Compose" data-for="Tech/operating-system/Docker/进阶/Docker-Compose">Docker Compose</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-Dockerfile" data-for="Tech/operating-system/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-使用" data-for="Tech/operating-system/Docker/进阶/Docker-使用">Docker 使用</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/高级"><button class="folder-button"><p class="folder-title">高级</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/高级"><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-命令手册" data-for="Tech/operating-system/Docker/高级/Docker-命令手册">Docker 命令手册</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-存储" data-for="Tech/operating-system/Docker/高级/Docker-存储">Docker 存储</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-网络" data-for="Tech/operating-system/Docker/高级/Docker-网络">Docker 网络</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux"><button class="folder-button"><p class="folder-title">Linux</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/0.文化"><button class="folder-button"><p class="folder-title">0.文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/0.文化"><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展">GNU&Linux 历史与发展</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化">GNU&Linux 社区与文化</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/开源软件的概念与重要性" data-for="Tech/operating-system/Linux/0.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/1.安装"><button class="folder-button"><p class="folder-title">1.安装</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/1.安装"><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南" data-for="Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南">Linux 下源代码编译与安装实战指南</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-发行版镜像" data-for="Tech/operating-system/Linux/1.安装/Linux-发行版镜像">Linux 发行版镜像</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-安装和配置" data-for="Tech/operating-system/Linux/1.安装/Linux-安装和配置">Linux 安装和配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/2.基础操作"><button class="folder-button"><p class="folder-title">2.基础操作</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/2.基础操作"><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-包管理器" data-for="Tech/operating-system/Linux/2.基础操作/Linux-包管理器">Linux 包管理器</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Shell-命令行操作" data-for="Tech/operating-system/Linux/2.基础操作/Shell-命令行操作">Linux 命令行操作</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-文件管理" data-for="Tech/operating-system/Linux/2.基础操作/Linux-文件管理">Linux 文件管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-用户和权限" data-for="Tech/operating-system/Linux/2.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/3.系统管理"><button class="folder-button"><p class="folder-title">3.系统管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/3.系统管理"><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-内核管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-内核管理">Linux 内核管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-基本配置" data-for="Tech/operating-system/Linux/3.系统管理/Linux-基本配置">Linux 基本配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-日志管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-日志管理">Linux 日志管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-服务管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-服务管理">Linux 服务管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解" data-for="Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/4.安全配置"><button class="folder-button"><p class="folder-title">4.安全配置</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/4.安全配置"><li><li><a href="../../../../Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护" data-for="Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/5.网络管理"><button class="folder-button"><p class="folder-title">5.网络管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/5.网络管理"><li><li><a href="../../../../Tech/operating-system/Linux/5.网络管理/Linux-网络配置" data-for="Tech/operating-system/Linux/5.网络管理/Linux-网络配置">Linux 网络配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/7.存储管理"><button class="folder-button"><p class="folder-title">7.存储管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/7.存储管理"><li><li><a href="../../../../Tech/operating-system/Linux/7.存储管理/Linux-文件系统" data-for="Tech/operating-system/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/8.虚拟化"><button class="folder-button"><p class="folder-title">8.虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/8.虚拟化"><li><li><a href="../../../../Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理" data-for="Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理">KVM 虚拟化管理</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization"><button class="folder-button"><p class="folder-title">Virtualization</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/1.虚拟化概述"><button class="folder-button"><p class="folder-title">1.虚拟化概述</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/1.虚拟化概述"><li><li><a href="../../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述">虚拟化概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/2.KVM虚拟化"><button class="folder-button"><p class="folder-title">2.KVM虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/2.KVM虚拟化"><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述">1. KVM 概述</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">2. KVM 安装配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">3. KVM 管理工具</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows"><button class="folder-button"><p class="folder-title">Windows</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows/文化"><li><li><a href="../../../../Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展" data-for="Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language"><button class="folder-button"><p class="folder-title">programming-language</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python"><button class="folder-button"><p class="folder-title">Python</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/入门"><li><li><a href="../../../../Tech/programming-language/Python/入门/函数方法" data-for="Tech/programming-language/Python/入门/函数方法">函数方法</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/基础语法" data-for="Tech/programming-language/Python/入门/基础语法">基础语法</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/控制语句" data-for="Tech/programming-language/Python/入门/控制语句">控制语句</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/数据类型" data-for="Tech/programming-language/Python/入门/数据类型">数据类型</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/数据结构" data-for="Tech/programming-language/Python/入门/数据结构">数据结构</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/模块和包" data-for="Tech/programming-language/Python/入门/模块和包">模块和包</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/面对对象" data-for="Tech/programming-language/Python/入门/面对对象">面对对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/文化"><li><li><a href="../../../../Tech/programming-language/Python/文化/发展历史" data-for="Tech/programming-language/Python/文化/发展历史">发展历史</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/生命周期" data-for="Tech/programming-language/Python/文化/生命周期">生命周期</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/社区文化" data-for="Tech/programming-language/Python/文化/社区文化">社区文化</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/设计哲学" data-for="Tech/programming-language/Python/文化/设计哲学">设计哲学</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/语言特性" data-for="Tech/programming-language/Python/文化/语言特性">语言特性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块"><button class="folder-button"><p class="folder-title">模块</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/WEB开发"><button class="folder-button"><p class="folder-title">WEB开发</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/WEB开发"><li><li><a href="../../../../Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎" data-for="Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/数据处理"><button class="folder-button"><p class="folder-title">数据处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/数据处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器" data-for="Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/csv-文件读写" data-for="Tech/programming-language/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/json-编码和解码器" data-for="Tech/programming-language/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/文本处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作" data-for="Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/系统交互"><button class="folder-button"><p class="folder-title">系统交互</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/系统交互"><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理" data-for="Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/logging-日志记录工具" data-for="Tech/programming-language/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/loguru-日志库" data-for="Tech/programming-language/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口" data-for="Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理" data-for="Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/网络处理"><button class="folder-button"><p class="folder-title">网络处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/网络处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/requests-HTTP-库" data-for="Tech/programming-language/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/socket-底层网络接口" data-for="Tech/programming-language/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块" data-for="Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/进阶"><li><li><a href="../../../../Tech/programming-language/Python/进阶/函数式编程" data-for="Tech/programming-language/Python/进阶/函数式编程">函数式编程</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/垃圾回收" data-for="Tech/programming-language/Python/进阶/垃圾回收">垃圾回收</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/并行和并发" data-for="Tech/programming-language/Python/进阶/并行和并发">并行和并发</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/异常处理" data-for="Tech/programming-language/Python/进阶/异常处理">异常处理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/数据库操作" data-for="Tech/programming-language/Python/进阶/数据库操作">数据库操作</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/文件和IO操作" data-for="Tech/programming-language/Python/进阶/文件和IO操作">文件和IO操作</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/测试和调试" data-for="Tech/programming-language/Python/进阶/测试和调试">测试和调试</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/资源管理" data-for="Tech/programming-language/Python/进阶/资源管理">资源管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/面向对象进阶" data-for="Tech/programming-language/Python/进阶/面向对象进阶">面向对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目"><button class="folder-button"><p class="folder-title">项目</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/虚拟环境"><button class="folder-button"><p class="folder-title">虚拟环境</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/虚拟环境"><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pip" data-for="Tech/programming-language/Python/项目/虚拟环境/pip">pip</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pipenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pipenv">pipenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/poetry" data-for="Tech/programming-language/Python/项目/虚拟环境/poetry">poetry</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pyenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pyenv">pyenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/virtualenv" data-for="Tech/programming-language/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/概述" data-for="Tech/programming-language/Python/项目/虚拟环境/概述">概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/风格指南"><button class="folder-button"><p class="folder-title">风格指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/风格指南"><li><li><a href="../../../../Tech/programming-language/Python/项目/风格指南/风格指南" data-for="Tech/programming-language/Python/项目/风格指南/风格指南">Python 风格指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><li><a href="../../../../Tech/programming-language/home" data-for="Tech/programming-language/home">程序设计语言</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering"><button class="folder-button"><p class="folder-title">software-engineering</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/协作规范"><button class="folder-button"><p class="folder-title">协作规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/协作规范"><li><li><a href="../../../../Tech/software-engineering/协作规范/交流反馈(Issue)" data-for="Tech/software-engineering/协作规范/交流反馈(Issue)">交流反馈(Issue)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/关于(Readme)" data-for="Tech/software-engineering/协作规范/关于(Readme)">关于(Readme)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/分支(Branch)" data-for="Tech/software-engineering/协作规范/分支(Branch)">分支(Branch)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/开源协议(License)" data-for="Tech/software-engineering/协作规范/开源协议(License)">开源协议(License)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/日志(Commit)" data-for="Tech/software-engineering/协作规范/日志(Commit)">日志(Commit)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/注释(Comments)" data-for="Tech/software-engineering/协作规范/注释(Comments)">注释(Comments)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/版本(Tag)" data-for="Tech/software-engineering/协作规范/版本(Tag)">版本(Tag)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/贡献者协议(Contributing)" data-for="Tech/software-engineering/协作规范/贡献者协议(Contributing)">贡献者协议(Contributing)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/技术文档"><button class="folder-button"><p class="folder-title">技术文档</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/技术文档"><li><li><a href="../../../../Tech/software-engineering/技术文档/命名约定" data-for="Tech/software-engineering/技术文档/命名约定">命名约定</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/文档内容" data-for="Tech/software-engineering/技术文档/文档内容">文档内容</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/文档结构" data-for="Tech/software-engineering/技术文档/文档结构">文档结构</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/标点符号" data-for="Tech/software-engineering/技术文档/标点符号">标点符号</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/简介" data-for="Tech/software-engineering/技术文档/简介">简介</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/语言风格" data-for="Tech/software-engineering/技术文档/语言风格">语言风格</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/附录资料" data-for="Tech/software-engineering/技术文档/附录资料">附录资料</a></li></li></ul></div></div></li><li><li><a href="../../../../Tech/software-engineering/谷歌开源项目风格指南" data-for="Tech/software-engineering/谷歌开源项目风格指南">谷歌开源项目风格指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/structures-algorithms"><button class="folder-button"><p class="folder-title">structures-algorithms</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/structures-algorithms"><li><li><a href="../../../../Tech/structures-algorithms/数据结构" data-for="Tech/structures-algorithms/数据结构">数据结构</a></li></li><li><li><a href="../../../../Tech/structures-algorithms/算法" data-for="Tech/structures-algorithms/算法">算法</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work"><button class="folder-button"><p class="folder-title">Work</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/data-engineer"><button class="folder-button"><p class="folder-title">data-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/data-engineer"><li><li><a href="../../../../Work/data-engineer/home" data-for="Work/data-engineer/home">数据工程师(data-engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack"><button class="folder-button"><p class="folder-title">full-stack</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/基础"><li><li><a href="../../../../Work/full-stack/基础/CSS" data-for="Work/full-stack/基础/CSS">CSS</a></li></li><li><li><a href="../../../../Work/full-stack/基础/HTML" data-for="Work/full-stack/基础/HTML">HTML</a></li></li><li><li><a href="../../../../Work/full-stack/基础/JavaScript" data-for="Work/full-stack/基础/JavaScript">JavaScript</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/工具"><button class="folder-button"><p class="folder-title">工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/工具"><li><li><a href="../../../../Work/full-stack/工具/PM2-工具" data-for="Work/full-stack/工具/PM2-工具">PM2 工具</a></li></li><li><li><a href="../../../../Work/full-stack/工具/Webpack" data-for="Work/full-stack/工具/Webpack">Webpack</a></li></li><li><li><a href="../../../../Work/full-stack/工具/包管理工具" data-for="Work/full-stack/工具/包管理工具">包管理器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/文化"><li><li><a href="../../../../Work/full-stack/文化/历史发展" data-for="Work/full-stack/文化/历史发展">历史发展</a></li></li><li><li><a href="../../../../Work/full-stack/文化/概述" data-for="Work/full-stack/文化/概述">概述</a></li></li><li><li><a href="../../../../Work/full-stack/文化/现代化开发工具链" data-for="Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></li></ul></div></div></li><li><li><a href="../../../../Work/full-stack/home" data-for="Work/full-stack/home">前端工程师(Front-End Engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap"><button class="folder-button"><p class="folder-title">roadmap</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/权益保障"><button class="folder-button"><p class="folder-title">权益保障</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/权益保障"><li><li><a href="../../../../Work/roadmap/权益保障/仲裁指南" data-for="Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li></li><li><li><a href="../../../../Work/roadmap/权益保障/职场维权实战经验" data-for="Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/求职经验"><button class="folder-button"><p class="folder-title">求职经验</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/求职经验"><li><li><a href="../../../../Work/roadmap/求职经验/互联网行业-郑州" data-for="Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li></li><li><li><a href="../../../../Work/roadmap/求职经验/写给软件工程师的建议" data-for="Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/简历攻略"><button class="folder-button"><p class="folder-title">简历攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/简历攻略"><li><li><a href="../../../../Work/roadmap/简历攻略/IT-类简历" data-for="Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li></li><li><li><a href="../../../../Work/roadmap/简历攻略/简历原则" data-for="Work/roadmap/简历攻略/简历原则">简历原则</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职业规划"><button class="folder-button"><p class="folder-title">职业规划</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职业规划"><li><li><a href="../../../../Work/roadmap/职业规划/开发者职业路线图" data-for="Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li></li><li><li><a href="../../../../Work/roadmap/职业规划/职业宏观规划图" data-for="Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li></li><li><li><a href="../../../../Work/roadmap/职业规划/职业宏观路线图" data-for="Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职场心得"><button class="folder-button"><p class="folder-title">职场心得</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职场心得"><li><li><a href="../../../../Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何平衡工作和生活" data-for="Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何度过新手村" data-for="Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何有效应对职场政治" data-for="Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/薪酬攻略"><button class="folder-button"><p class="folder-title">薪酬攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/薪酬攻略"><li><li><a href="../../../../Work/roadmap/薪酬攻略/社会保障" data-for="Work/roadmap/薪酬攻略/社会保障">社会保障</a></li></li><li><li><a href="../../../../Work/roadmap/薪酬攻略/绩效考核" data-for="Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li></li><li><li><a href="../../../../Work/roadmap/薪酬攻略/薪酬制度" data-for="Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/面试法则"><button class="folder-button"><p class="folder-title">面试法则</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/面试法则"><li><li><a href="../../../../Work/roadmap/面试法则/反向面试" data-for="Work/roadmap/面试法则/反向面试">反向面试</a></li></li><li><li><a href="../../../../Work/roadmap/面试法则/面试-10-大常见问题" data-for="Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></li></ul></div></div></li><li><li><a href="../../../../Work/roadmap/home" data-for="Work/roadmap/home">求职之路</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/sre-engineer"><button class="folder-button"><p class="folder-title">sre-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/sre-engineer"><li><li><a href="../../../../Work/sre-engineer/home" data-for="Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li id="explorer-end"></li></ul></div></div><div class="recent-notes desktop-only"><h3>Recent Notes</h3><ul class="recent-ul"><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Blog/乌兰哈达火山银河之旅" class="internal">乌兰哈达火山银河之旅</a></h3></div><p class="meta">Jun 27, 2024</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Blog/冰箱,让你我错过了多少新鲜的生活?" class="internal">冰箱,让你我错过了多少新鲜的生活?</a></h3></div><p class="meta">Jun 27, 2024</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../../Blog/記伍月" class="internal">記伍月</a></h3></div><p class="meta">May 31, 2024</p></div></li></ul></div></div><div class="center"><div class="page-header"><div class="popover-hint"><nav class="breadcrumb-container " aria-label="breadcrumbs"><div class="breadcrumb-element"><a href="../../../..">Home</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../../Tech/">Tech</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../../Tech/programming-language/">programming language</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../../Tech/programming-language/Python/">Python</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../../Tech/programming-language/Python/进阶/">进阶</a><p> > </p></div><div class="breadcrumb-element"><a href>面向对象</a></div></nav><h1 class="article-title ">面向对象</h1><p class="content-meta ">Aug 10, 2023, 23 min read</p><ul class="tags "><li><a href="../../../../tags/python/进阶" class="internal tag-link">#python/进阶</a></li><li><a href="../../../../tags/技术/程序语言" class="internal tag-link">#技术/程序语言</a></li></ul></div></div><article class="popover-hint"><h2 id="生命周期">生命周期<a aria-hidden="true" tabindex="-1" href="#生命周期" class="internal"> §</a></h2>
|
||
<pre><code class="mermaid">graph TD
|
||
A[类定义阶段: class MyClass] --> B[类对象创建]
|
||
B --> C1[类属性访问: MyClass.class_attr]
|
||
B --> C[实例化阶段: __new__ method]
|
||
C --> D[初始化阶段: __init__ method]
|
||
D --> E1[属性的设置与获取: __setattr__, __getattr__]
|
||
D --> E2[对象的表示: __str__, __repr__]
|
||
D --> E3[方法调用]
|
||
D --> E4[上下文管理: __enter__, __exit__]
|
||
D --> E5[对象比较: __eq__, __lt__]
|
||
D --> E6[对象的计算: __add__, __mul__]
|
||
E1 --> F
|
||
E2 --> F
|
||
E3 --> F
|
||
E4 --> F
|
||
E5 --> F
|
||
E6 --> F
|
||
F[对象销毁: del obj or GC] --> G[__del__ method]
|
||
G --> H[垃圾回收: Cleanup by Python GC]
|
||
</code></pre>
|
||
<ol>
|
||
<li><strong>类定义阶段</strong>:在这个阶段定义类的方法和属性。</li>
|
||
<li><strong>类对象创建</strong>:当 Python 读取到类定义时,它会创建一个类对象。</li>
|
||
<li><strong>类属性访问</strong>:在实例化之前,可以访问类的静态和类属性。</li>
|
||
<li><strong>实例化阶段</strong>:使用类名创建对象时,首先调用 <code>__new__</code> 方法来分配内存。</li>
|
||
<li><strong>初始化阶段</strong>:紧随其后,<code>__init__</code> 方法会被调用,对新对象进行初始化。</li>
|
||
<li><strong>属性的设置与获取</strong>:在对象的生命周期中,你可以使用 <code>__getattr__</code>, <code>__setattr__</code>, <code>__getattribute__</code> 等特殊方法来控制属性的访问。</li>
|
||
<li><strong>对象的表示</strong>:当尝试显示对象时(例如,通过 print),<code>__str__</code> 和 <code>__repr__</code> 方法可以被调用。</li>
|
||
<li><strong>方法调用</strong>:可以调用对象的方法。</li>
|
||
<li><strong>上下文管理</strong>:使用 <code>with</code> 语句时,对象的 <code>__enter__</code> 和 <code>__exit__</code> 方法会被调用。</li>
|
||
<li><strong>对象比较</strong>:使用比较操作符时(如==或>),<code>__eq__</code>, <code>__lt__</code>, <code>__le__</code> 等特殊方法会被调用。</li>
|
||
<li><strong>对象的计算</strong>:如加法或乘法等运算符,会调用 <code>__add__</code>, <code>__mul__</code> 等特殊方法。</li>
|
||
<li><strong>对象销毁</strong>:当对象的引用计数减少到零或者被明确销毁(使用 <code>del</code> 语句)时,<code>__del__</code> 方法会被调用。</li>
|
||
<li><strong>垃圾回收</strong>:Python 的垃圾回收器会识别循环引用,并在适当的时候销毁相关对象。</li>
|
||
</ol>
|
||
<h2 id="特殊方法">特殊方法<a aria-hidden="true" tabindex="-1" href="#特殊方法" class="internal"> §</a></h2>
|
||
<p>Python 中的类包含了许多特殊方法,它们经常被称为<strong>魔术方法(magic methods)<strong>或者</strong>双下方法(dunder methods)</strong>,因为它们的名字都是以双下划线开始和结束的。这些特殊方法为 Python 的对象提供了许多内置的功能,如算术运算、迭代和字符串表示。</p>
|
||
<p>魔术方法是 Python 类的特殊方法,它们定义了许多 Python 中基本的操作。例如,当你为一个对象定义了 <code>__add__</code> 方法时,这个对象就可以使用 <code>+</code> 运算符。这些方法的名称都是以两个下划线开始和结束,这也是为什么它们被称为双下方法的原因。</p>
|
||
<h3 id="基础方法">基础方法<a aria-hidden="true" tabindex="-1" href="#基础方法" class="internal"> §</a></h3>
|
||
<h4 id="__init__"><code>__init__</code><a aria-hidden="true" tabindex="-1" href="#__init__" class="internal"> §</a></h4>
|
||
<p><code>__init__</code> 方法是类的构造函数,当我们创建类的实例时,<code>__init__</code> 方法会被自动调用。我们可以在 <code>__init__</code> 方法中初始化实例的属性。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">value </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> value </span><span style="color:var(--shiki-token-comment);"># 初始化实例属性</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">10</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc.value)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:10</span></span></code></pre></div>
|
||
<h4 id="__del__"><code>__del__</code><a aria-hidden="true" tabindex="-1" href="#__del__" class="internal"> §</a></h4>
|
||
<p><code>__del__</code> 方法是类的析构函数,当一个实例被销毁时(例如被垃圾回收器回收时),<code>__del__</code> 方法会被自动调用。注意,我们<strong>通常不需要在 <code>__del__</code> 方法中做清理工作,Python 的垃圾回收器会自动清理对象的资源。</strong></p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__del__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Instance is being destroyed."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> mc </span><span style="color:var(--shiki-token-comment);"># 销毁实例</span></span></code></pre></div>
|
||
<h4 id="__str__"><code>__str__</code><a aria-hidden="true" tabindex="-1" href="#__str__" class="internal"> §</a></h4>
|
||
<p><code>__str__</code> 方法返回一个表示该对象的字符串,这个字符串通常用于给用户看。当我们调用 <code>str()</code> 或 <code>print()</code> 时,会使用 <code>__str__</code> 的返回值。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__str__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"This is a MyClass instance."</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:This is a MyClass instance.</span></span></code></pre></div>
|
||
<p><em>注意,<code>__repr__</code> 和 <code>__str__</code> 的区别在于,<strong><code>__repr__</code> 更侧重于开发,而 <code>__str__</code> 更侧重于用户。</strong></em></p>
|
||
<h4 id="__repr__"><code>__repr__</code><a aria-hidden="true" tabindex="-1" href="#__repr__" class="internal"> §</a></h4>
|
||
<p><code>__repr__</code> 方法返回一个表示该对象的官方字符串,这个字符串通常可以被 <code>eval()</code> 执行来重新得到这个对象。如果我们没有定义 <code>__str__</code> 方法,那么在调用 <code>str()</code> 或 <code>print()</code> 时也会使用 <code>__repr__</code> 的返回值。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__repr__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"MyClass()"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:MyClass()</span></span></code></pre></div>
|
||
<h4 id="__format__"><code>__format__</code><a aria-hidden="true" tabindex="-1" href="#__format__" class="internal"> §</a></h4>
|
||
<p><code>__format__</code> 方法定义了当我们调用 <code>format()</code> 或使用格式化字符串(f-string)时的行为。<code>format_spec</code> 是一个格式说明符,它是在格式化字符串中 <code>:</code> 后面的部分。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__format__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">format_spec</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> format_spec </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">'fancy'</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">'This is a fancy MyClass instance.'</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">'This is a MyClass instance.'</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">mc:fancy</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-punctuation);">)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:This is a fancy MyClass instance.</span></span></code></pre></div>
|
||
<h3 id="数学运算">数学运算<a aria-hidden="true" tabindex="-1" href="#数学运算" class="internal"> §</a></h3>
|
||
<p>比较运算的魔术方法允许类的实例之间进行比较。例如,<code>__eq__</code> 定义了对象的等于操作。这些方法的使用可以使您的类实例支持标准的比较操作符,如 <code>==</code>, <code>!=</code>, <code>+</code>, <code>-</code>, <code>%</code>, 和 <code>@</code>。类似地,可以为其他数学运算符定义其他魔术方法。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Book</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">title</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">author</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">title </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> title</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">author </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> author</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__eq__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">other</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">isinstance</span><span style="color:var(--shiki-token-punctuation);">(other, Book):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">title </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> other</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">title </span><span style="color:var(--shiki-token-keyword);">and</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">author </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> other</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">author</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">False</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 比较两本书是否具有相同的标题和作者</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">book1 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Book</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">'1984'</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-string-expression);">'George Orwell'</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">book2 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Book</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">'1984'</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-string-expression);">'George Orwell'</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">book3 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Book</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">'Brave New World'</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-string-expression);">'Aldous Huxley'</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(book1 </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-token-punctuation);"> book2)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:True</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(book1 </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-token-punctuation);"> book3)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:False</span></span></code></pre></div>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Vector</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">x</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">y</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">x </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> x</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">y </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> y</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__add__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">other</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">isinstance</span><span style="color:var(--shiki-token-punctuation);">(other, Vector):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Vector</span><span style="color:var(--shiki-token-punctuation);">(self.x </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-token-punctuation);"> other.x, self.y </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-token-punctuation);"> other.y)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">NotImplemented</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 使用 + 操作符组合两个向量</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">v1 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Vector</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">1</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-constant);">2</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">v2 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Vector</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">2</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-constant);">3</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">v3 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> v1 </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> v2</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(v3.x, v3.y)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:3 5</span></span></code></pre></div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>运算符</th><th>对应的魔术方法</th><th>描述</th></tr></thead><tbody><tr><td><code>==</code></td><td><code>__eq__</code></td><td>等于</td></tr><tr><td><code>!=</code></td><td><code>__ne__</code></td><td>不等于</td></tr><tr><td><code><</code></td><td><code>__lt__</code></td><td>小于</td></tr><tr><td><code><=</code></td><td><code>__le__</code></td><td>小于或等于</td></tr><tr><td><code>></code></td><td><code>__gt__</code></td><td>大于</td></tr><tr><td><code>>=</code></td><td><code>__ge__</code></td><td>大于或等于</td></tr><tr><td><code>+</code></td><td><code>__add__</code></td><td>加法</td></tr><tr><td><code>-</code></td><td><code>__sub__</code></td><td>减法</td></tr><tr><td><code>*</code></td><td><code>__mul__</code></td><td>乘法</td></tr><tr><td><code>/</code></td><td><code>__truediv__</code></td><td>真除</td></tr><tr><td><code>//</code></td><td><code>__floordiv__</code></td><td>整除</td></tr><tr><td><code>%</code></td><td><code>__mod__</code></td><td>取模</td></tr><tr><td><code>**</code></td><td><code>__pow__</code></td><td>乘方</td></tr><tr><td><code>@</code></td><td><code>__matmul__</code></td><td>Python 3.5+ 矩阵乘法</td></tr></tbody></table>
|
||
<h3 id="容器方法">容器方法<a aria-hidden="true" tabindex="-1" href="#容器方法" class="internal"> §</a></h3>
|
||
<h4 id="__len__"><code>__len__</code><a aria-hidden="true" tabindex="-1" href="#__len__" class="internal"> §</a></h4>
|
||
<p><code>__len__</code> 方法定义了 <code>len()</code> 的返回值。它应该返回一个整数,表示对象包含的元素的个数。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">data </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> [</span><span style="color:var(--shiki-token-constant);">1</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">2</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">3</span><span style="color:var(--shiki-color-text);">]</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__len__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">len</span><span style="color:var(--shiki-token-punctuation);">(self.data)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-function);">len</span><span style="color:var(--shiki-token-punctuation);">(mc))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:3</span></span></code></pre></div>
|
||
<h4 id="__getitem__"><code>__getitem__</code><a aria-hidden="true" tabindex="-1" href="#__getitem__" class="internal"> §</a></h4>
|
||
<p><code>__getitem__</code> 方法定义了使用索引访问元素的行为。<code>key</code> 是索引。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__getitem__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">key</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"You are trying to access key </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-color-text);">key</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc[</span><span style="color:var(--shiki-token-constant);">10</span><span style="color:var(--shiki-token-punctuation);">])</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:You are trying to access key 10.</span></span></code></pre></div>
|
||
<h4 id="__setitem__"><code>__setitem__</code><a aria-hidden="true" tabindex="-1" href="#__setitem__" class="internal"> §</a></h4>
|
||
<p><code>__setitem__</code> 方法定义了使用索引设置元素的行为。<code>key</code> 是索引,<code>value</code> 是我们试图设置的值。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__setitem__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">key</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Set key </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">key</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);"> to </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">value</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc</span><span style="color:var(--shiki-token-punctuation);">[</span><span style="color:var(--shiki-token-constant);">10</span><span style="color:var(--shiki-token-punctuation);">]</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"value"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:Set key 10 to value.</span></span></code></pre></div>
|
||
<h4 id="__delitem__"><code>__delitem__</code><a aria-hidden="true" tabindex="-1" href="#__delitem__" class="internal"> §</a></h4>
|
||
<p><code>__delitem__</code> 方法定义了使用索引删除元素的行为。<code>key</code> 是索引。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__delitem__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">key</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Deleted key </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">key</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> mc</span><span style="color:var(--shiki-token-punctuation);">[</span><span style="color:var(--shiki-token-constant);">10</span><span style="color:var(--shiki-token-punctuation);">]</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:Deleted key 10.</span></span></code></pre></div>
|
||
<h4 id="__iter____next__"><code>__iter__</code>、<code>__next__</code><a aria-hidden="true" tabindex="-1" href="#__iter____next__" class="internal"> §</a></h4>
|
||
<p>迭代器协议的魔术方法允许对象支持迭代,这意味着您可以在对象上使用 <code>for</code> 循环。为了使一个对象可迭代,您需要定义 <code>__iter__</code> 和 <code>__next__</code> 两个魔术方法。</p>
|
||
<ul>
|
||
<li>
|
||
<p><code>__iter__</code> 返回对象本身,它应该返回一个实现了 <code>__next__</code> 的迭代器对象。</p>
|
||
</li>
|
||
<li>
|
||
<p><code>__next__</code> 方法返回序列中的下一个值。如果所有项都返回了,那么它应该引发一个 <code>StopIteration</code> 异常来通知迭代的完成。</p>
|
||
</li>
|
||
</ul>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Counter</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">start</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">end</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">current </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> start</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">end </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> end</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__iter__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__next__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">current </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">end</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> value </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">current</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">current </span><span style="color:var(--shiki-token-keyword);">+=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">1</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> value</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">else</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">raise</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">StopIteration</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 使用Counter迭代器</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">counter </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Counter</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">1</span><span style="color:var(--shiki-token-punctuation);">, </span><span style="color:var(--shiki-token-constant);">4</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">for</span><span style="color:var(--shiki-color-text);"> number </span><span style="color:var(--shiki-token-keyword);">in</span><span style="color:var(--shiki-color-text);"> counter</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(number)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出:</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 1</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 2</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 3</span></span></code></pre></div>
|
||
<p>在上述 <code>Counter</code> 类中,我们定义了一个简单的迭代器,它从 <code>start</code> 开始,每次迭代增加 1,直到 <code>end</code> 为止。<code>for</code> 循环通过调用 <code>__iter__</code> 来获取迭代器对象,并在每次迭代中调用 <code>__next__</code>,直到捕获 <code>StopIteration</code> 异常为止。</p>
|
||
<h3 id="属性访问">属性访问<a aria-hidden="true" tabindex="-1" href="#属性访问" class="internal"> §</a></h3>
|
||
<h4 id="__dir__"><code>__dir__</code><a aria-hidden="true" tabindex="-1" href="#__dir__" class="internal"> §</a></h4>
|
||
<p><code>__dir__</code> 方法返回类中定义的属性、方法等的列表。它对内置的 <code>dir()</code> 函数的行为进行重载。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__dir__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> [</span><span style="color:var(--shiki-token-string-expression);">"custom_attr1"</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"custom_attr2"</span><span style="color:var(--shiki-color-text);">]</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-function);">dir</span><span style="color:var(--shiki-token-punctuation);">(mc))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:['custom_attr1', 'custom_attr2']</span></span></code></pre></div>
|
||
<h4 id="__getattr__"><code>__getattr__</code><a aria-hidden="true" tabindex="-1" href="#__getattr__" class="internal"> §</a></h4>
|
||
<p>当尝试访问一个不存在的属性时,<code>__getattr__</code> 方法会被调用。<code>name</code> 是试图访问的属性名称。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__getattr__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">name</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-color-text);">name</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);"> does not exist."</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc.unknown_attr)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:unknown_attr does not exist.</span></span></code></pre></div>
|
||
<p><em>值得注意的是,<strong><code>__getattr__</code> 只有在所请求的属性不存在时才会被调用。</strong></em></p>
|
||
<h4 id="__setattr__"><code>__setattr__</code><a aria-hidden="true" tabindex="-1" href="#__setattr__" class="internal"> §</a></h4>
|
||
<p>每当尝试设置一个属性值时,<code>__setattr__</code> 都会被调用,不论该属性是否存在。<code>name</code> 是试图设置的属性的名称,而 <code>value</code> 是试图赋给该属性的值。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__setattr__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">name</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">__dict__</span><span style="color:var(--shiki-color-text);">[name] </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> value </span><span style="color:var(--shiki-token-comment);"># 防止无限递归, 需要在__dict__中设置属性</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Set </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">name</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);"> to </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">value</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">10</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:Set attr to 10.</span></span></code></pre></div>
|
||
<h4 id="__delattr__"><code>__delattr__</code><a aria-hidden="true" tabindex="-1" href="#__delattr__" class="internal"> §</a></h4>
|
||
<p>当试图删除一个属性时,<code>__delattr__</code> 方法会被调用。<code>name</code> 是试图删除的属性的名称。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">10</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__delattr__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">name</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">__dict__</span><span style="color:var(--shiki-color-text);">[name] </span><span style="color:var(--shiki-token-comment);"># 防止无限递归, 需要在__dict__中删除属性</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Deleted </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">name</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> mc</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">attr </span><span style="color:var(--shiki-token-comment);"># 输出:Deleted attr.</span></span></code></pre></div>
|
||
<h4 id="__getattribute__"><code>__getattribute__</code><a aria-hidden="true" tabindex="-1" href="#__getattribute__" class="internal"> §</a></h4>
|
||
<p>每次尝试访问一个属性时,<code>__getattribute__</code> 方法都会被调用,无论该属性是否存在。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__getattribute__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">name</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"You are trying to access </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-color-text);">name</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">."</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(mc.attr)</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:You are trying to access attr.</span></span></code></pre></div>
|
||
<p>重要的是,<strong>如果 <code>__getattribute__</code> 被定义,那么 <code>__getattr__</code> 不会被调用,因为 <code>__getattribute__</code> 的优先级更高。</strong>*</p>
|
||
<h3 id="上下文管理">上下文管理<a aria-hidden="true" tabindex="-1" href="#上下文管理" class="internal"> §</a></h3>
|
||
<h4 id="__enter____exit__"><code>__enter__</code>、<code>__exit__</code><a aria-hidden="true" tabindex="-1" href="#__enter____exit__" class="internal"> §</a></h4>
|
||
<p>当使用 <code>with</code> 语句进入上下文管理时,<code>__enter__</code> 方法会被调用。它应该返回上下文管理器对象本身或其他与上下文相关的对象。</p>
|
||
<p>当 <code>with</code> 语句块结束时,<code>__exit__</code> 方法会被调用。它接收三个参数:<code>exc_type</code>、<code>exc_val</code> 和 <code>exc_tb</code>,分别代表异常类型、异常值和异常回溯。如果 <code>with</code> 语句块中没有发生异常,这三个参数的值都为 <code>None</code>。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">ContextManager</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__enter__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Entering the context"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__exit__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">exc_type</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">exc_val</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">exc_tb</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> exc_type </span><span style="color:var(--shiki-token-keyword);">is</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">None</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Exiting the context without any exception."</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">else</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Exiting the context with exception: </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">exc_val</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">say_hello</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Hello from inside the context!"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">with</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">ContextManager</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">as</span><span style="color:var(--shiki-color-text);"> cm</span><span style="color:var(--shiki-token-punctuation);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> cm</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">say_hello</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出:</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Entering the context</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Hello from inside the context!</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Exiting the context without any exception.</span></span></code></pre></div>
|
||
<p>如果在 <code>with</code> 语句块中引发了异常,<code>__exit__</code> 方法可以选择处理这个异常(例如记录日志)并返回 <code>True</code> 来阻止异常向外传播,或者返回 <code>False</code>(或 <code>None</code>)让异常继续向外传播。</p>
|
||
<p>上下文管理器是一种非常强大的工具,特别是当涉及到需要设置和清理资源的任务时,例如文件 I/O、网络连接或数据库连接。</p>
|
||
<h3 id="描述符">描述符<a aria-hidden="true" tabindex="-1" href="#描述符" class="internal"> §</a></h3>
|
||
<p>描述符是实现了描述符协议的对象。描述符协议由 <code>__get__</code>、<code>__set__</code> 和 <code>__delete__</code> 方法组成。描述符用于创建那些需要特殊行为的对象属性,例如类型检查或只读属性。</p>
|
||
<h4 id="__get__"><code>__get__</code><a aria-hidden="true" tabindex="-1" href="#__get__" class="internal"> §</a></h4>
|
||
<p><code>__get__</code> 方法定义了在获取属性时应执行的行为。当试图获取属性值时,这个方法会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__get__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">instance</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">owner</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Getting value from </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">instance.</span><span style="color:var(--shiki-token-constant);">__class__</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">__name__}</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">attr</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出:</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Getting value from MyClass</span></span></code></pre></div>
|
||
<h4 id="__set__"><code>__set__</code><a aria-hidden="true" tabindex="-1" href="#__set__" class="internal"> §</a></h4>
|
||
<p><code>__set__</code> 方法定义了在设置属性值时应执行的行为。当试图给属性赋值时,这个方法会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__set__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">instance</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Setting value </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">value</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);"> to </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">instance.</span><span style="color:var(--shiki-token-constant);">__class__</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">__name__}</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">10</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出:</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Setting value 10 to MyClass</span></span></code></pre></div>
|
||
<h4 id="__delete__"><code>__delete__</code><a aria-hidden="true" tabindex="-1" href="#__delete__" class="internal"> §</a></h4>
|
||
<p><code>__delete__</code> 方法定义了当删除属性时应执行的行为。当试图删除属性时,这个方法会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__delete__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">instance</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"Deleting value from </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-token-punctuation);">instance.</span><span style="color:var(--shiki-token-constant);">__class__</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">__name__}</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Descriptor</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> mc</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">attr</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出:</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># Deleting value from MyClass</span></span></code></pre></div>
|
||
<h3 id="使对象可调用">使对象可调用<a aria-hidden="true" tabindex="-1" href="#使对象可调用" class="internal"> §</a></h3>
|
||
<p>**在 Python 中,函数是一类对象,可以调用它们。**但是,您知道您也可以使自己的对象表现得像函数一样吗?通过定义 <code>__call__</code> 魔术方法,您可以使类的实例表现得像函数,从而允许对它们进行调用。</p>
|
||
<h4 id="__call__"><code>__call__</code><a aria-hidden="true" tabindex="-1" href="#__call__" class="internal"> §</a></h4>
|
||
<p>当实例作为函数被“调用”时,<code>__call__</code> 方法就会被执行。这提供了一种优雅的方式来使用对象,同时保持其对象性质。通过这种方式,您的对象不仅可以表示数据,还可以表现得像函数,这增加了编码的灵活性和创造性。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Greeter</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">greeting</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Hello"</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">greeting </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> greeting</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__call__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">name</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">f</span><span style="color:var(--shiki-token-string-expression);">"</span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-color-text);">self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">greeting</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">, </span><span style="color:var(--shiki-token-constant);">{</span><span style="color:var(--shiki-color-text);">name</span><span style="color:var(--shiki-token-constant);">}</span><span style="color:var(--shiki-token-string-expression);">!"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 创建一个Greeter实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">hello_greeter </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Greeter</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Hello"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-function);">hello_greeter</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"John"</span><span style="color:var(--shiki-token-punctuation);">))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:Hello, John!</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">bonjour_greeter </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Greeter</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Bonjour"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-function);">bonjour_greeter</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Pierre"</span><span style="color:var(--shiki-token-punctuation);">))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:Bonjour, Pierre!</span></span></code></pre></div>
|
||
<h3 id="值比较">值比较<a aria-hidden="true" tabindex="-1" href="#值比较" class="internal"> §</a></h3>
|
||
<h4 id="__hash__"><code>__hash__</code><a aria-hidden="true" tabindex="-1" href="#__hash__" class="internal"> §</a></h4>
|
||
<p><code>__hash__</code> 方法返回对象的哈希值。哈希值通常用于字典的键值和其他需要快速查找的数据结构中。如果一个对象是可变的,通常最好不要实现此方法。如果对象定义了 <code>__eq__</code> 方法并且是不可变的,则通常也应定义此方法。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">value </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> value</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__eq__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">other</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">isinstance</span><span style="color:var(--shiki-token-punctuation);">(other, MyClass):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">value </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> other</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">value</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">NotImplemented</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__hash__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">hash</span><span style="color:var(--shiki-token-punctuation);">(self.value)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj1 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj2 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">my_dict </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">{</span><span style="color:var(--shiki-color-text);">obj1</span><span style="color:var(--shiki-token-punctuation);">:</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"a"</span><span style="color:var(--shiki-token-punctuation);">}</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(my_dict[obj2])</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:a</span></span></code></pre></div>
|
||
<h4 id="__bool__"><code>__bool__</code><a aria-hidden="true" tabindex="-1" href="#__bool__" class="internal"> §</a></h4>
|
||
<p><code>__bool__</code> 方法用于实现 <code>bool()</code> 内置函数的调用。当我们调用 <code>bool()</code> 函数或使用对象在条件语句(例如 <code>if obj:</code>)中作为条件时,会调用此方法。如果 <code>__bool__</code> 没有被定义,<code>__len__</code> 会被调用(如果已定义)。如果两者都未定义,所有实例都默认为 <code>True</code>。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">value </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> value</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__bool__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">bool</span><span style="color:var(--shiki-token-punctuation);">(self.value)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj1 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">0</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj2 </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">bool</span><span style="color:var(--shiki-token-punctuation);">(obj1))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:False</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">bool</span><span style="color:var(--shiki-token-punctuation);">(obj2))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:True</span></span></code></pre></div>
|
||
<h3 id="类型转换">类型转换<a aria-hidden="true" tabindex="-1" href="#类型转换" class="internal"> §</a></h3>
|
||
<h4 id="__int__"><code>__int__</code><a aria-hidden="true" tabindex="-1" href="#__int__" class="internal"> §</a></h4>
|
||
<p><code>__int__</code> 方法允许将一个对象转换为整数。当使用 <code>int()</code> 内置函数时,如果对象实现了此方法,会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__int__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">42</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">int</span><span style="color:var(--shiki-token-punctuation);">(obj))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:42</span></span></code></pre></div>
|
||
<h4 id="__float__"><code>__float__</code><a aria-hidden="true" tabindex="-1" href="#__float__" class="internal"> §</a></h4>
|
||
<p><code>__float__</code> 方法允许将一个对象转换为浮点数。当使用 <code>float()</code> 内置函数时,如果对象实现了此方法,会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__float__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">42.0</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">float</span><span style="color:var(--shiki-token-punctuation);">(obj))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:42.0</span></span></code></pre></div>
|
||
<h4 id="__complex__"><code>__complex__</code><a aria-hidden="true" tabindex="-1" href="#__complex__" class="internal"> §</a></h4>
|
||
<p><code>__complex__</code> 方法允许将一个对象转换为复数。当使用 <code>complex()</code> 内置函数时,如果对象实现了此方法,会被调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__complex__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">3</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">4</span><span style="color:var(--shiki-token-keyword);">j</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">obj </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">complex</span><span style="color:var(--shiki-token-punctuation);">(obj))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:(3+4j)</span></span></code></pre></div>
|
||
<h4 id="__bytes__"><code>__bytes__</code><a aria-hidden="true" tabindex="-1" href="#__bytes__" class="internal"> §</a></h4>
|
||
<p><code>__bytes__</code> 方法定义了当我们调用 <code>bytes()</code> 时的行为。它应该返回一个字节串。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__bytes__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">b</span><span style="color:var(--shiki-token-string-expression);">'MyClass instance'</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">mc </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">MyClass</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 创建实例</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">bytes</span><span style="color:var(--shiki-token-punctuation);">(mc))</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 输出:b'MyClass instance'</span></span></code></pre></div>
|
||
<h2 id="类和静态方法">类和静态方法<a aria-hidden="true" tabindex="-1" href="#类和静态方法" class="internal"> §</a></h2>
|
||
<p>在 Python 中,类是一个创建对象的蓝图。对象则是基于类定义的实例。默认情况下,在类内部定义的方法是实例方法。</p>
|
||
<h3 id="实例方法">实例方法<a aria-hidden="true" tabindex="-1" href="#实例方法" class="internal"> §</a></h3>
|
||
<p>实例方法的第一个参数是 <code>self</code>,代表类的实例对象。它可以访问和修改与实例相关的属性和方法。实例方法<strong>只能由其实例对象调用</strong>。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">instance_method</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"This is an instance method"</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> self</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(e.</span><span style="color:var(--shiki-token-function);">instance_method</span><span style="color:var(--shiki-token-punctuation);">())</span><span style="color:var(--shiki-color-text);"> </span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出 ('This is an instance method', <__main__.Example object at 0x7f49af98f610>)</span></span></code></pre></div>
|
||
<h3 id="类方法">类方法<a aria-hidden="true" tabindex="-1" href="#类方法" class="internal"> §</a></h3>
|
||
<p>类方法使用 <code>@classmethod</code> 装饰器定义。其第一个参数是 <code>cls</code>,代表类本身。类方法既可以由类直接调用,也可以被其实例调用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> class_var </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"Class Variable"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@</span><span style="color:var(--shiki-token-constant);">classmethod</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">class_method</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">cls</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"This is a class method accessing:"</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> cls</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">class_var</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(Example.</span><span style="color:var(--shiki-token-function);">class_method</span><span style="color:var(--shiki-token-punctuation);">())</span><span style="color:var(--shiki-color-text);"> </span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出 ('This is a class method accessing:', 'Class Variable')</span></span></code></pre></div>
|
||
<h3 id="静态方法">静态方法<a aria-hidden="true" tabindex="-1" href="#静态方法" class="internal"> §</a></h3>
|
||
<p>静态方法使用 <code>@staticmethod</code> 装饰器定义。它不需要传递 <code>self</code> 或 <code>cls</code> 参数。<strong>静态方法不能访问或修改类或实例的属性和方法。它仅仅与它所在的类相关</strong>,但不需要访问类的特性。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@</span><span style="color:var(--shiki-token-constant);">staticmethod</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">static_method</span><span style="color:var(--shiki-color-text);">():</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"This is a static method"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(Example.</span><span style="color:var(--shiki-token-function);">static_method</span><span style="color:var(--shiki-token-punctuation);">())</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出 This is a static method</span></span></code></pre></div>
|
||
<h3 id="类方法-vs-静态方法">类方法 Vs 静态方法<a aria-hidden="true" tabindex="-1" href="#类方法-vs-静态方法" class="internal"> §</a></h3>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>类型</th><th>用途</th><th>优点</th><th>缺点</th></tr></thead><tbody><tr><td><strong>类方法</strong></td><td>访问/修改类属性,方法继承于子类</td><td>可访问/修改类属性,适用于继承</td><td>不能访问实例特有的属性</td></tr><tr><td><strong>静态方法</strong></td><td>不需访问实例/类数据的操作,与类相关但不需访问类或实例</td><td>无需实例化,代码组织清晰</td><td>不能访问类和实例的属性或方法</td></tr></tbody></table>
|
||
<p>在面向对象编程中,合理地使用实例方法、类方法和静态方法可以使代码更有组织性,更易于维护。</p>
|
||
<h2 id="属性">属性<a aria-hidden="true" tabindex="-1" href="#属性" class="internal"> §</a></h2>
|
||
<h3 id="property-装饰器"><code>@property</code> 装饰器<a aria-hidden="true" tabindex="-1" href="#property-装饰器" class="internal"> §</a></h3>
|
||
<p>在 Python 中,<code>@property</code> 装饰器使我们能够将类中的方法用作属性,从而实现对属性的控制。它可以用于确保属性的读取和设置遵循某种特定的逻辑。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">number</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@</span><span style="color:var(--shiki-token-constant);">property</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">number</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(e.number)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出 5</span></span></code></pre></div>
|
||
<h3 id="使用-setter-和-getter-方法">使用 Setter 和 Getter 方法<a aria-hidden="true" tabindex="-1" href="#使用-setter-和-getter-方法" class="internal"> §</a></h3>
|
||
<p>Setter 和 Getter 在 Python 中用于控制属性的访问和赋值。</p>
|
||
<h4 id="property_namesetter"><code>@<property_name>.setter</code><a aria-hidden="true" tabindex="-1" href="#property_namesetter" class="internal"> §</a></h4>
|
||
<p>在定义了属性的 getter 方法后,我们可以使用 <code>@<property_name>.setter</code> 装饰器定义相应的 setter 方法,以控制该属性的赋值逻辑。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">number</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@</span><span style="color:var(--shiki-token-constant);">property</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">number</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@number</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">setter</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">number</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">value</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> value</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">number </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">10</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(e.number)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出 10</span></span></code></pre></div>
|
||
<h4 id="property_namedeleter"><code>@<property_name>.deleter</code><a aria-hidden="true" tabindex="-1" href="#property_namedeleter" class="internal"> §</a></h4>
|
||
<p>除了设置和获取属性,我们还可以定义如何删除属性。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-parameter);">number</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@</span><span style="color:var(--shiki-token-constant);">property</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">number</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">return</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">@number</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">deleter</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">number</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-string-expression);">"Deleting number"</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_number</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">(</span><span style="color:var(--shiki-token-constant);">5</span><span style="color:var(--shiki-token-punctuation);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">del</span><span style="color:var(--shiki-color-text);"> e</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">number</span></span></code></pre></div>
|
||
<h3 id="属性保护">属性保护<a aria-hidden="true" tabindex="-1" href="#属性保护" class="internal"> §</a></h3>
|
||
<p>在 Python 中,我们通常<strong>使用下划线来表示属性应该是私有的或受保护的。</strong></p>
|
||
<ul>
|
||
<li><strong>受保护的属性</strong>: 通常使用单下划线前缀 <code>_</code> 来定义,例如 <code>_name</code>。这只是一个约定,表示这个属性是为类内部使用的,但外部仍然可以访问。</li>
|
||
<li><strong>私有属性</strong>: 使用双下划线前缀 <code>__</code> 来定义,例如 <code>__name</code>。Python 会对其进行名称修饰,使得在类的外部更难直接访问。</li>
|
||
</ul>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">__init__</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">__private_attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"I am private"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> self</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">_protected_attr </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"I am protected"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">def</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">reveal</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-parameter);">self</span><span style="color:var(--shiki-color-text);">):</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(self.__private_attr)</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">print</span><span style="color:var(--shiki-token-punctuation);">(e._protected_attr)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># print(e.__private_attr) # 将会抛出错误异常</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">reveal</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"># 正常工作</span></span></code></pre></div>
|
||
<h4 id="__slots__-限制动态属性的添加"><code>__slots__</code> 限制动态属性的添加<a aria-hidden="true" tabindex="-1" href="#__slots__-限制动态属性的添加" class="internal"> §</a></h4>
|
||
<p>为了提高性能和内存效率,Python 允许在类定义中使用 <code>__slots__</code> 来限制可以添加到对象的属性。这通常在需要创建大量对象时很有用。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="python" data-theme="default"><code data-language="python" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">class</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-color-text);">:</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">__slots__</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> [</span><span style="color:var(--shiki-token-string-expression);">'name'</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">'age'</span><span style="color:var(--shiki-color-text);">]</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Example</span><span style="color:var(--shiki-token-punctuation);">()</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-color-text);">name </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"ChatGPT"</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># e.salary = 10000 # 将会抛出错误异常</span></span></code></pre></div></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
|
||
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
|
||
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
|
||
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
|
||
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
|
||
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
|
||
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
|
||
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
|
||
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
|
||
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
|
||
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc" class><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#生命周期" data-for="生命周期">生命周期</a></li><li class="depth-0"><a href="#特殊方法" data-for="特殊方法">特殊方法</a></li><li class="depth-1"><a href="#基础方法" data-for="基础方法">基础方法</a></li><li class="depth-1"><a href="#数学运算" data-for="数学运算">数学运算</a></li><li class="depth-1"><a href="#容器方法" data-for="容器方法">容器方法</a></li><li class="depth-1"><a href="#属性访问" data-for="属性访问">属性访问</a></li><li class="depth-1"><a href="#上下文管理" data-for="上下文管理">上下文管理</a></li><li class="depth-1"><a href="#描述符" data-for="描述符">描述符</a></li><li class="depth-1"><a href="#使对象可调用" data-for="使对象可调用">使对象可调用</a></li><li class="depth-1"><a href="#值比较" data-for="值比较">值比较</a></li><li class="depth-1"><a href="#类型转换" data-for="类型转换">类型转换</a></li><li class="depth-0"><a href="#类和静态方法" data-for="类和静态方法">类和静态方法</a></li><li class="depth-1"><a href="#实例方法" data-for="实例方法">实例方法</a></li><li class="depth-1"><a href="#类方法" data-for="类方法">类方法</a></li><li class="depth-1"><a href="#静态方法" data-for="静态方法">静态方法</a></li><li class="depth-1"><a href="#类方法-vs-静态方法" data-for="类方法-vs-静态方法">类方法 Vs 静态方法</a></li><li class="depth-0"><a href="#属性" data-for="属性">属性</a></li><li class="depth-1"><a href="#property-装饰器" data-for="property-装饰器">@property 装饰器</a></li><li class="depth-1"><a href="#使用-setter-和-getter-方法" data-for="使用-setter-和-getter-方法">使用 Setter 和 Getter 方法</a></li><li class="depth-1"><a href="#属性保护" data-for="属性保护">属性保护</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div><div class="explorer mobile-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{"path":"Basics","collapsed":true},{"path":"Basics/english","collapsed":true},{"path":"Blog","collapsed":true},{"path":"Book","collapsed":true},{"path":"Book/个人成长","collapsed":true},{"path":"Book/医学健康","collapsed":true},{"path":"Book/历史","collapsed":true},{"path":"Book/哲学宗教","collapsed":true},{"path":"Book/心理","collapsed":true},{"path":"Book/政治军事","collapsed":true},{"path":"Book/教育学习","collapsed":true},{"path":"Book/文学","collapsed":true},{"path":"Book/生活百科","collapsed":true},{"path":"Book/社会文化","collapsed":true},{"path":"Book/科学技术","collapsed":true},{"path":"Book/经济理财","collapsed":true},{"path":"Book/艺术","collapsed":true},{"path":"Book/计算机","collapsed":true},{"path":"Company","collapsed":true},{"path":"Company/信息化","collapsed":true},{"path":"Company/信息化/规范","collapsed":true},{"path":"Culture","collapsed":true},{"path":"Government","collapsed":true},{"path":"Government/中国","collapsed":true},{"path":"Government/中国/标准","collapsed":true},{"path":"Government/中国/法律","collapsed":true},{"path":"Journal","collapsed":true},{"path":"Journal/2022","collapsed":true},{"path":"Journal/2022/W34","collapsed":true},{"path":"Journal/2022/W35","collapsed":true},{"path":"Journal/2022/W36","collapsed":true},{"path":"Journal/2022/W37","collapsed":true},{"path":"Journal/2022/W38","collapsed":true},{"path":"Journal/2022/W39","collapsed":true},{"path":"Journal/2022/W41","collapsed":true},{"path":"Journal/2022/W42","collapsed":true},{"path":"Journal/2022/W43","collapsed":true},{"path":"Journal/2022/W44","collapsed":true},{"path":"Journal/2022/W45","collapsed":true},{"path":"Journal/2022/W46","collapsed":true},{"path":"Journal/2022/W47","collapsed":true},{"path":"Journal/2022/W48","collapsed":true},{"path":"Journal/2022/W49","collapsed":true},{"path":"Journal/2022/W50","collapsed":true},{"path":"Journal/2023","collapsed":true},{"path":"Journal/2023/W2","collapsed":true},{"path":"Journal/2023/W3","collapsed":true},{"path":"Journal/2023/W5","collapsed":true},{"path":"Journal/2023/W6","collapsed":true},{"path":"Journal/2023/W7","collapsed":true},{"path":"Journal/2023/W8","collapsed":true},{"path":"Journal/2023/W10","collapsed":true},{"path":"Journal/2023/W12","collapsed":true},{"path":"Journal/2023/W14","collapsed":true},{"path":"Journal/2023/W16","collapsed":true},{"path":"Journal/2023/W22","collapsed":true},{"path":"Journal/2023/W23","collapsed":true},{"path":"Journal/2023/W24","collapsed":true},{"path":"Journal/2023/W25","collapsed":true},{"path":"Journal/2023/W26","collapsed":true},{"path":"Journal/2023/W31","collapsed":true},{"path":"Journal/2023/W32","collapsed":true},{"path":"Journal/2023/W33","collapsed":true},{"path":"Journal/2023/W35","collapsed":true},{"path":"Journal/2023/W36","collapsed":true},{"path":"Journal/2023/W37","collapsed":true},{"path":"Journal/2023/W40","collapsed":true},{"path":"Journal/2023/W45","collapsed":true},{"path":"Journal/2023/W46","collapsed":true},{"path":"Journal/2023/W48","collapsed":true},{"path":"Journal/2023/W49","collapsed":true},{"path":"Journal/2023/W50","collapsed":true},{"path":"Journal/2024","collapsed":true},{"path":"Journal/2024/W8","collapsed":true},{"path":"Journal/2024/W10","collapsed":true},{"path":"Journal/2024/W11","collapsed":true},{"path":"Journal/2024/W12","collapsed":true},{"path":"Journal/2024/W14","collapsed":true},{"path":"Journal/2024/W16","collapsed":true},{"path":"Journal/2024/W17","collapsed":true},{"path":"Journal/2024/W22","collapsed":true},{"path":"Journal/2024/W23","collapsed":true},{"path":"Journal/2024/W24","collapsed":true},{"path":"Life","collapsed":true},{"path":"Scholar","collapsed":true},{"path":"Tech","collapsed":true},{"path":"Tech/cloud-service","collapsed":true},{"path":"Tech/cloud-service/基础","collapsed":true},{"path":"Tech/computer-network","collapsed":true},{"path":"Tech/computer-network/Nginx","collapsed":true},{"path":"Tech/computer-network/应用服务","collapsed":true},{"path":"Tech/computer-network/网络协议","collapsed":true},{"path":"Tech/computer-network/网络基础","collapsed":true},{"path":"Tech/computer-security","collapsed":true},{"path":"Tech/computer-security/信息安全","collapsed":true},{"path":"Tech/computer-security/信息安全/OpenPGP","collapsed":true},{"path":"Tech/computer-security/密码学","collapsed":true},{"path":"Tech/computer-security/用户安全","collapsed":true},{"path":"Tech/computer-security/用户安全/权限设计","collapsed":true},{"path":"Tech/computer-security/用户安全/用户鉴权","collapsed":true},{"path":"Tech/computer-security/系统安全","collapsed":true},{"path":"Tech/computer-security/系统安全/防火墙","collapsed":true},{"path":"Tech/computer-security/网络安全","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSH","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSL","collapsed":true},{"path":"Tech/database-system","collapsed":true},{"path":"Tech/database-system/PostgreSQL","collapsed":true},{"path":"Tech/database-system/SQL 语言","collapsed":true},{"path":"Tech/database-system/基础","collapsed":true},{"path":"Tech/getting-started","collapsed":true},{"path":"Tech/getting-started/命令行工具","collapsed":true},{"path":"Tech/getting-started/命令行工具/PowerShell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Shell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Vim","collapsed":true},{"path":"Tech/getting-started/开源指南","collapsed":true},{"path":"Tech/getting-started/文本处理","collapsed":true},{"path":"Tech/getting-started/版本控制","collapsed":true},{"path":"Tech/getting-started/版本控制/Git","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/入门","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/进阶","collapsed":true},{"path":"Tech/operating-system","collapsed":true},{"path":"Tech/operating-system/Automation","collapsed":true},{"path":"Tech/operating-system/Docker","collapsed":true},{"path":"Tech/operating-system/Docker/基础","collapsed":true},{"path":"Tech/operating-system/Docker/进阶","collapsed":true},{"path":"Tech/operating-system/Docker/高级","collapsed":true},{"path":"Tech/operating-system/Linux","collapsed":true},{"path":"Tech/operating-system/Linux/0.文化","collapsed":true},{"path":"Tech/operating-system/Linux/1.安装","collapsed":true},{"path":"Tech/operating-system/Linux/2.基础操作","collapsed":true},{"path":"Tech/operating-system/Linux/3.系统管理","collapsed":true},{"path":"Tech/operating-system/Linux/4.安全配置","collapsed":true},{"path":"Tech/operating-system/Linux/5.网络管理","collapsed":true},{"path":"Tech/operating-system/Linux/7.存储管理","collapsed":true},{"path":"Tech/operating-system/Linux/8.虚拟化","collapsed":true},{"path":"Tech/operating-system/Virtualization","collapsed":true},{"path":"Tech/operating-system/Virtualization/1.虚拟化概述","collapsed":true},{"path":"Tech/operating-system/Virtualization/2.KVM虚拟化","collapsed":true},{"path":"Tech/operating-system/Windows","collapsed":true},{"path":"Tech/operating-system/Windows/文化","collapsed":true},{"path":"Tech/programming-language","collapsed":true},{"path":"Tech/programming-language/Python","collapsed":true},{"path":"Tech/programming-language/Python/入门","collapsed":true},{"path":"Tech/programming-language/Python/文化","collapsed":true},{"path":"Tech/programming-language/Python/模块","collapsed":true},{"path":"Tech/programming-language/Python/模块/WEB开发","collapsed":true},{"path":"Tech/programming-language/Python/模块/数据处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/文本处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/系统交互","collapsed":true},{"path":"Tech/programming-language/Python/模块/网络处理","collapsed":true},{"path":"Tech/programming-language/Python/进阶","collapsed":true},{"path":"Tech/programming-language/Python/项目","collapsed":true},{"path":"Tech/programming-language/Python/项目/虚拟环境","collapsed":true},{"path":"Tech/programming-language/Python/项目/风格指南","collapsed":true},{"path":"Tech/software-engineering","collapsed":true},{"path":"Tech/software-engineering/协作规范","collapsed":true},{"path":"Tech/software-engineering/技术文档","collapsed":true},{"path":"Tech/structures-algorithms","collapsed":true},{"path":"Work","collapsed":true},{"path":"Work/data-engineer","collapsed":true},{"path":"Work/full-stack","collapsed":true},{"path":"Work/full-stack/基础","collapsed":true},{"path":"Work/full-stack/工具","collapsed":true},{"path":"Work/full-stack/文化","collapsed":true},{"path":"Work/roadmap","collapsed":true},{"path":"Work/roadmap/权益保障","collapsed":true},{"path":"Work/roadmap/求职经验","collapsed":true},{"path":"Work/roadmap/简历攻略","collapsed":true},{"path":"Work/roadmap/职业规划","collapsed":true},{"path":"Work/roadmap/职场心得","collapsed":true},{"path":"Work/roadmap/薪酬攻略","collapsed":true},{"path":"Work/roadmap/面试法则","collapsed":true},{"path":"Work/sre-engineer","collapsed":true}]"><h1>Explorer</h1><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics"><button class="folder-button"><p class="folder-title">Basics</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics/english"><button class="folder-button"><p class="folder-title">english</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics/english"><li><li><a href="../../../../Basics/english/字母音标" data-for="Basics/english/字母音标">字母音标</a></li></li><li><li><a href="../../../../Basics/english/语法基础" data-for="Basics/english/语法基础">语法基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Blog"><button class="folder-button"><p class="folder-title">Blog</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Blog"><li><li><a href="../../../../Blog/「引用」博客的本质是电线杆子" data-for="Blog/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li></li><li><li><a href="../../../../Blog/「救赎之路」更名「向阳而生」" data-for="Blog/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li></li><li><li><a href="../../../../Blog/11月28日晚-星期三-霾" data-for="Blog/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li></li><li><li><a href="../../../../Blog/2021" data-for="Blog/2021">2021</a></li></li><li><li><a href="../../../../Blog/2022" data-for="Blog/2022">2022</a></li></li><li><li><a href="../../../../Blog/2023-年度微信读书报告" data-for="Blog/2023-年度微信读书报告">2023 年度微信读书报告</a></li></li><li><li><a href="../../../../Blog/回顾-2023" data-for="Blog/回顾-2023">2023 年终总结</a></li></li><li><li><a href="../../../../Blog/2023-年终问答" data-for="Blog/2023-年终问答">2023 年终问答</a></li></li><li><li><a href="../../../../Blog/BombSquad-炸弹人小分队" data-for="Blog/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li></li><li><li><a href="../../../../Blog/CityWalk——公车挑战" data-for="Blog/CityWalk——公车挑战">CityWalk——公车挑战:探索未知的城市</a></li></li><li><li><a href="../../../../Blog/Docusaurus-搭建" data-for="Blog/Docusaurus-搭建">Docusaurus 搭建</a></li></li><li><li><a href="../../../../Blog/Don`t-Starve-饥荒" data-for="Blog/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li></li><li><li><a href="../../../../Blog/Halo-主题-Redemption-首发版" data-for="Blog/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li></li><li><li><a href="../../../../Blog/Hello-Halo" data-for="Blog/Hello-Halo">Hello Halo</a></li></li><li><li><a href="../../../../Blog/Obsidian-使用-Templater-插件的个性化脚本" data-for="Blog/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li></li><li><li><a href="../../../../Blog/Python-项目终极部署解决方案" data-for="Blog/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li></li><li><li><a href="../../../../Blog/Redemption" data-for="Blog/Redemption">Redemption</a></li></li><li><li><a href="../../../../Blog/Redemption-主题-0.2.1-版本" data-for="Blog/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li></li><li><li><a href="../../../../Blog/VIVO-IQOO-Neo3-开箱测评" data-for="Blog/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li></li><li><li><a href="../../../../Blog/YubiKey-漂流记" data-for="Blog/YubiKey-漂流记">YubiKey 历险记</a></li></li><li><li><a href="../../../../Blog/一命二运三风水" data-for="Blog/一命二运三风水">一命二运三风水</a></li></li><li><li><a href="../../../../Blog/一线城市拥有一亩三分地是什么体验" data-for="Blog/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li></li><li><li><a href="../../../../Blog/三步为你博客文章分析情感关键字" data-for="Blog/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li></li><li><li><a href="../../../../Blog/上有天堂、下有苏杭" data-for="Blog/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li></li><li><li><a href="../../../../Blog/不要在饿的时候吃螺蛳粉!" data-for="Blog/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li></li><li><li><a href="../../../../Blog/不要把幸福建立在别人的痛苦之上" data-for="Blog/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li></li><li><li><a href="../../../../Blog/中国传统历法" data-for="Blog/中国传统历法">中国传统历法</a></li></li><li><li><a href="../../../../Blog/为什么不推开那扇门?" data-for="Blog/为什么不推开那扇门?">为什么不推开那扇门?</a></li></li><li><li><a href="../../../../Blog/乌兰哈达火山银河之旅" data-for="Blog/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li></li><li><li><a href="../../../../Blog/习惯养成第一步" data-for="Blog/习惯养成第一步">习惯养成第一步</a></li></li><li><li><a href="../../../../Blog/人在囧途——青海湖" data-for="Blog/人在囧途——青海湖">人在囧途——青海湖</a></li></li><li><li><a href="../../../../Blog/人格类型测试" data-for="Blog/人格类型测试">人格类型测试</a></li></li><li><li><a href="../../../../Blog/你愿意嫁给自己么?" data-for="Blog/你愿意嫁给自己么?">你愿意嫁给自己么</a></li></li><li><li><a href="../../../../Blog/你还记得曾经的梦想么?" data-for="Blog/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li></li><li><li><a href="../../../../Blog/使用-Docusaurus-搭建优秀个人wiki" data-for="Blog/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li></li><li><li><a href="../../../../Blog/关于感情的事情" data-for="Blog/关于感情的事情">关于感情的事情</a></li></li><li><li><a href="../../../../Blog/关于花" data-for="Blog/关于花">关于花</a></li></li><li><li><a href="../../../../Blog/关于郑州的互联网记忆" data-for="Blog/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li></li><li><li><a href="../../../../Blog/再游嵩山" data-for="Blog/再游嵩山">再游嵩山</a></li></li><li><li><a href="../../../../Blog/最近半年的生活" data-for="Blog/最近半年的生活">最近半年的生活</a></li></li><li><li><a href="../../../../Blog/最近在折腾什么……" data-for="Blog/最近在折腾什么……">最近在折腾什么……</a></li></li><li><li><a href="../../../../Blog/最近的生活" data-for="Blog/最近的生活">最近的生活</a></li></li><li><li><a href="../../../../Blog/写十万字的博客是一种什么感觉" data-for="Blog/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势" data-for="Blog/写博客的正确姿势">写博客的正确姿势</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势---先行版" data-for="Blog/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li></li><li><li><a href="../../../../Blog/写博客的正确姿势---测试版" data-for="Blog/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li></li><li><li><a href="../../../../Blog/冰箱,让你我错过了多少新鲜的生活?" data-for="Blog/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li></li><li><li><a href="../../../../Blog/初号机,起飞!" data-for="Blog/初号机,起飞!">初号机,起飞!</a></li></li><li><li><a href="../../../../Blog/原点" data-for="Blog/原点">原点</a></li></li><li><li><a href="../../../../Blog/吉普赛满天星" data-for="Blog/吉普赛满天星">吉普赛满天星</a></li></li><li><li><a href="../../../../Blog/唯有热爱可抵岁月漫长" data-for="Blog/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li></li><li><li><a href="../../../../Blog/回首-2022-展望-2023" data-for="Blog/回首-2022-展望-2023">回首 2022 展望 2023</a></li></li><li><li><a href="../../../../Blog/夏日花记" data-for="Blog/夏日花记">夏日花记</a></li></li><li><li><a href="../../../../Blog/夜泊西湖听雨声" data-for="Blog/夜泊西湖听雨声">夜泊西湖听雨声</a></li></li><li><li><a href="../../../../Blog/大学回忆录" data-for="Blog/大学回忆录">大学回忆录</a></li></li><li><li><a href="../../../../Blog/如何不写错别字!" data-for="Blog/如何不写错别字!">如何不写错别字!</a></li></li><li><li><a href="../../../../Blog/如何免费创建一个属于自己的网站" data-for="Blog/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li></li><li><li><a href="../../../../Blog/如何免费获得-Jetbrains-正版授权" data-for="Blog/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li></li><li><li><a href="../../../../Blog/如何开好一场会?" data-for="Blog/如何开好一场会?">如何开好一场会?</a></li></li><li><li><a href="../../../../Blog/如何打破信息茧房?" data-for="Blog/如何打破信息茧房?">如何打破信息茧房?</a></li></li><li><li><a href="../../../../Blog/如何拍好一张照片" data-for="Blog/如何拍好一张照片">如何拍好一张照片</a></li></li><li><li><a href="../../../../Blog/家里的三块地" data-for="Blog/家里的三块地">家里的三块地</a></li></li><li><li><a href="../../../../Blog/富人的红灯与穷人的绿灯" data-for="Blog/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li></li><li><li><a href="../../../../Blog/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Blog/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li></li><li><li><a href="../../../../Blog/师从-ChatGPT" data-for="Blog/师从-ChatGPT">师从 ChatGPT</a></li></li><li><li><a href="../../../../Blog/幸福的事情都是需要等待的" data-for="Blog/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li></li><li><li><a href="../../../../Blog/开源软件之道" data-for="Blog/开源软件之道">开源软件之道</a></li></li><li><li><a href="../../../../Blog/我又从-Ubunut-换成了-Fedora" data-for="Blog/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li></li><li><li><a href="../../../../Blog/我开发的第一款软件" data-for="Blog/我开发的第一款软件">我开发的第一款软件</a></li></li><li><li><a href="../../../../Blog/我是关系户" data-for="Blog/我是关系户">我是关系户</a></li></li><li><li><a href="../../../../Blog/我的一天" data-for="Blog/我的一天">我的一天</a></li></li><li><li><a href="../../../../Blog/我的小羊肖恩" data-for="Blog/我的小羊肖恩">我的小羊肖恩</a></li></li><li><li><a href="../../../../Blog/我站立的地方是中国" data-for="Blog/我站立的地方是中国">我站立的地方是中国</a></li></li><li><li><a href="../../../../Blog/我要拔智齿!!!" data-for="Blog/我要拔智齿!!!">我要拔智齿!!!</a></li></li><li><li><a href="../../../../Blog/我还在……" data-for="Blog/我还在……">我还在……</a></li></li><li><li><a href="../../../../Blog/打工三年记" data-for="Blog/打工三年记">打工三年记</a></li></li><li><li><a href="../../../../Blog/拾月游记" data-for="Blog/拾月游记">拾月游记</a></li></li><li><li><a href="../../../../Blog/揭晓你的博客一年之最,尽在-EndOfYear!" data-for="Blog/揭晓你的博客一年之最,尽在-EndOfYear!">揭晓你的博客一年之最,尽在 EndOfYear!</a></li></li><li><li><a href="../../../../Blog/数字文化遗产" data-for="Blog/数字文化遗产">数字文化遗产</a></li></li><li><li><a href="../../../../Blog/数据恢复杂谈" data-for="Blog/数据恢复杂谈">数据恢复杂谈</a></li></li><li><li><a href="../../../../Blog/新冠笔记" data-for="Blog/新冠笔记">新冠笔记</a></li></li><li><li><a href="../../../../Blog/新奇的-HR-经历" data-for="Blog/新奇的-HR-经历">新奇的 HR 经历</a></li></li><li><li><a href="../../../../Blog/新手村村长" data-for="Blog/新手村村长">新手村村长</a></li></li><li><li><a href="../../../../Blog/早起、阅读、写作、运动、冥想" data-for="Blog/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li></li><li><li><a href="../../../../Blog/星光不问赶路人" data-for="Blog/星光不问赶路人">星光不问赶路人</a></li></li><li><li><a href="../../../../Blog/是微风、是晚霞、是来日方长" data-for="Blog/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li></li><li><li><a href="../../../../Blog/月季到了" data-for="Blog/月季到了">月季到了</a></li></li><li><li><a href="../../../../Blog/注定不平凡的一年" data-for="Blog/注定不平凡的一年">注定不平凡的一年</a></li></li><li><li><a href="../../../../Blog/浅尝-Gitea-的-Actions" data-for="Blog/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li></li><li><li><a href="../../../../Blog/浅谈一下自己折腾的网站" data-for="Blog/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li></li><li><li><a href="../../../../Blog/浅谈个人服务器架构" data-for="Blog/浅谈个人服务器架构">浅谈个人服务器架构</a></li></li><li><li><a href="../../../../Blog/济南呀济南的泰山之旅" data-for="Blog/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li></li><li><li><a href="../../../../Blog/涝疫结合" data-for="Blog/涝疫结合">涝疫结合</a></li></li><li><li><a href="../../../../Blog/独立生活能力清单" data-for="Blog/独立生活能力清单">独立生活能力清单</a></li></li><li><li><a href="../../../../Blog/球鞋日记" data-for="Blog/球鞋日记">球鞋日记</a></li></li><li><li><a href="../../../../Blog/申请-Jetbrains-开源项目授权" data-for="Blog/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li></li><li><li><a href="../../../../Blog/电脑坏了,我换了-Ubuntu" data-for="Blog/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li></li><li><li><a href="../../../../Blog/番茄开花啦-~" data-for="Blog/番茄开花啦-~">番茄开花啦 ~</a></li></li><li><li><a href="../../../../Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li></li><li><li><a href="../../../../Blog/真·长安游记" data-for="Blog/真·长安游记">真·长安游记</a></li></li><li><li><a href="../../../../Blog/破万卷书,行万里路!" data-for="Blog/破万卷书,行万里路!">破万卷书,行万里路!</a></li></li><li><li><a href="../../../../Blog/种下了一些瓜果蔬菜" data-for="Blog/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li></li><li><li><a href="../../../../Blog/穷则独善其身,达则兼济天下" data-for="Blog/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li></li><li><li><a href="../../../../Blog/继续开荒我那一亩三分地" data-for="Blog/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li></li><li><li><a href="../../../../Blog/罪恶应该被遗传么" data-for="Blog/罪恶应该被遗传么">罪恶应该被遗传么?</a></li></li><li><li><a href="../../../../Blog/自律的痛苦······" data-for="Blog/自律的痛苦······">自律的痛苦······</a></li></li><li><li><a href="../../../../Blog/英雄联盟-S8-全球总决赛" data-for="Blog/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li></li><li><li><a href="../../../../Blog/螺蛳粉" data-for="Blog/螺蛳粉">螺蛳粉</a></li></li><li><li><a href="../../../../Blog/記伍月" data-for="Blog/記伍月">記伍月</a></li></li><li><li><a href="../../../../Blog/記拾月" data-for="Blog/記拾月">記拾月</a></li></li><li><li><a href="../../../../Blog/记拾月" data-for="Blog/记拾月">记拾月</a></li></li><li><li><a href="../../../../Blog/论成年人的睡眠" data-for="Blog/论成年人的睡眠">论成年人的睡眠</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」" data-for="Blog/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---NextCloud" data-for="Blog/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---Obsidian" data-for="Blog/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---个人工作流" data-for="Blog/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---心得体会" data-for="Blog/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---数字基建" data-for="Blog/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---番外篇" data-for="Blog/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li></li><li><li><a href="../../../../Blog/谈谈我的「数字文具盒」---运行平台" data-for="Blog/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li></li><li><li><a href="../../../../Blog/贰号机、落幕" data-for="Blog/贰号机、落幕">贰号机、落幕</a></li></li><li><li><a href="../../../../Blog/这个周末" data-for="Blog/这个周末">这个周末</a></li></li><li><li><a href="../../../../Blog/通货膨胀的猪" data-for="Blog/通货膨胀的猪">通货膨胀的猪</a></li></li><li><li><a href="../../../../Blog/长安三万里" data-for="Blog/长安三万里">长安三万里</a></li></li><li><li><a href="../../../../Blog/长安游记" data-for="Blog/长安游记">长安游记</a></li></li><li><li><a href="../../../../Blog/闭门锁网" data-for="Blog/闭门锁网">闭门锁网</a></li></li><li><li><a href="../../../../Blog/非黑即白" data-for="Blog/非黑即白">非黑即白</a></li></li><li><li><a href="../../../../Blog/首页加载速度优化方案" data-for="Blog/首页加载速度优化方案">首页加载速度优化方案</a></li></li><li><li><a href="../../../../Blog/骑行在路上" data-for="Blog/骑行在路上">骑行在路上</a></li></li><li><li><a href="../../../../Blog/黄山归来不看岳" data-for="Blog/黄山归来不看岳">黄山归来不看岳</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book"><button class="folder-button"><p class="folder-title">Book</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/个人成长"><button class="folder-button"><p class="folder-title">个人成长</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/个人成长"><li><li><a href="../../../../Book/个人成长/习惯的力量(新版)" data-for="Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li></li><li><li><a href="../../../../Book/个人成长/以极简的方式去生活" data-for="Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li></li><li><li><a href="../../../../Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li></li><li><li><a href="../../../../Book/个人成长/刻意练习:如何从新手到大师" data-for="Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li></li><li><li><a href="../../../../Book/个人成长/十分钟冥想" data-for="Book/个人成长/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/个人成长/即兴表达" data-for="Book/个人成长/即兴表达">即兴表达</a></li></li><li><li><a href="../../../../Book/个人成长/学习之道" data-for="Book/个人成长/学习之道">学习之道</a></li></li><li><li><a href="../../../../Book/个人成长/学会写作:自我进阶的高效方法" data-for="Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li></li><li><li><a href="../../../../Book/个人成长/当下的力量(白金版)" data-for="Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li></li><li><li><a href="../../../../Book/个人成长/我的第一本人生规划手册" data-for="Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li></li><li><li><a href="../../../../Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/医学健康"><button class="folder-button"><p class="folder-title">医学健康</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/医学健康"><li><li><a href="../../../../Book/医学健康/你是你吃出来的(套装共2册)" data-for="Book/医学健康/你是你吃出来的(套装共2册)">你是你吃出来的(套装共2册)</a></li></li><li><li><a href="../../../../Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/历史"><button class="folder-button"><p class="folder-title">历史</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/历史"><li><li><a href="../../../../Book/历史/信息简史" data-for="Book/历史/信息简史">信息简史</a></li></li><li><li><a href="../../../../Book/历史/这里是中国2" data-for="Book/历史/这里是中国2">这里是中国2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/哲学宗教"><button class="folder-button"><p class="folder-title">哲学宗教</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/哲学宗教"><li><li><a href="../../../../Book/哲学宗教/半小时漫画中国哲学史(套装全2册)" data-for="Book/哲学宗教/半小时漫画中国哲学史(套装全2册)">半小时漫画中国哲学史(套装全2册)</a></li></li><li><li><a href="../../../../Book/哲学宗教/第一性原理" data-for="Book/哲学宗教/第一性原理">第一性原理</a></li></li><li><li><a href="../../../../Book/哲学宗教/结构化思维" data-for="Book/哲学宗教/结构化思维">结构化思维</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/心理"><button class="folder-button"><p class="folder-title">心理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/心理"><li><li><a href="../../../../Book/心理/十分钟冥想" data-for="Book/心理/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/心理/认知觉醒:开启自我改变的原动力" data-for="Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li></li><li><li><a href="../../../../Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li></li><li><li><a href="../../../../Book/心理/谈性说爱:写给女性的性心理24讲" data-for="Book/心理/谈性说爱:写给女性的性心理24讲">谈性说爱:写给女性的性心理24讲</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/政治军事"><button class="folder-button"><p class="folder-title">政治军事</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/政治军事"><li><li><a href="../../../../Book/政治军事/实践论" data-for="Book/政治军事/实践论">实践论</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/教育学习"><button class="folder-button"><p class="folder-title">教育学习</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/教育学习"><li><li><a href="../../../../Book/教育学习/如何阅读一本书" data-for="Book/教育学习/如何阅读一本书">如何阅读一本书</a></li></li><li><li><a href="../../../../Book/教育学习/赖世雄的英语学习法" data-for="Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/文学"><button class="folder-button"><p class="folder-title">文学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/文学"><li><li><a href="../../../../Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)" data-for="Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)">凤凰项目:一个IT运维的传奇故事(修订版)</a></li></li><li><li><a href="../../../../Book/文学/老舍谈写作" data-for="Book/文学/老舍谈写作">老舍谈写作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/生活百科"><button class="folder-button"><p class="folder-title">生活百科</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/生活百科"><li><li><a href="../../../../Book/生活百科/聂卫平围棋教程(从15级到10级)" data-for="Book/生活百科/聂卫平围棋教程(从15级到10级)">聂卫平围棋教程(从15级到10级)</a></li></li><li><li><a href="../../../../Book/生活百科/聂卫平围棋教程(从入门到15级)" data-for="Book/生活百科/聂卫平围棋教程(从入门到15级)">聂卫平围棋教程(从入门到15级)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/社会文化"><button class="folder-button"><p class="folder-title">社会文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/社会文化"><li><li><a href="../../../../Book/社会文化/人体简史" data-for="Book/社会文化/人体简史">人体简史</a></li></li><li><li><a href="../../../../Book/社会文化/你不可不知的法律常识" data-for="Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li></li><li><li><a href="../../../../Book/社会文化/半小时漫画《论语》" data-for="Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li></li><li><li><a href="../../../../Book/社会文化/民法典与百姓生活100问" data-for="Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li></li><li><li><a href="../../../../Book/社会文化/这里是中国" data-for="Book/社会文化/这里是中国">这里是中国</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/科学技术"><button class="folder-button"><p class="folder-title">科学技术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/科学技术"><li><li><a href="../../../../Book/科学技术/贝尔实验室与美国革新大时代" data-for="Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li></li><li><li><a href="../../../../Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例" data-for="Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/经济理财"><button class="folder-button"><p class="folder-title">经济理财</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/经济理财"><li><li><a href="../../../../Book/经济理财/人力资源管理从入门到精通" data-for="Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li></li><li><li><a href="../../../../Book/经济理财/十分钟冥想" data-for="Book/经济理财/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../../Book/经济理财/半小时漫画股票实战法" data-for="Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li></li><li><li><a href="../../../../Book/经济理财/小米创业思考" data-for="Book/经济理财/小米创业思考">小米创业思考</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/艺术"><button class="folder-button"><p class="folder-title">艺术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/艺术"><li><li><a href="../../../../Book/艺术/江湖丛谈(注音注释插图本)" data-for="Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/计算机"><button class="folder-button"><p class="folder-title">计算机</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/计算机"><li><li><a href="../../../../Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)" data-for="Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)">Flask Web开发:基于Python的Web应用开发实战(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/IT基础架构:系统运维实践" data-for="Book/计算机/IT基础架构:系统运维实践">IT基础架构:系统运维实践</a></li></li><li><li><a href="../../../../Book/计算机/Linux命令行与shell脚本编程大全(第4版)" data-for="Book/计算机/Linux命令行与shell脚本编程大全(第4版)">Linux命令行与shell脚本编程大全(第4版)</a></li></li><li><li><a href="../../../../Book/计算机/Linux是怎样工作的" data-for="Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li></li><li><li><a href="../../../../Book/计算机/Python工匠:案例、技巧与工程实践" data-for="Book/计算机/Python工匠:案例、技巧与工程实践">Python工匠:案例、技巧与工程实践</a></li></li><li><li><a href="../../../../Book/计算机/Python编程:从入门到实践(第2版)" data-for="Book/计算机/Python编程:从入门到实践(第2版)">Python编程:从入门到实践(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/Python编程轻松进阶" data-for="Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li></li><li><li><a href="../../../../Book/计算机/SQL必知必会(第5版)" data-for="Book/计算机/SQL必知必会(第5版)">SQL必知必会(第5版)</a></li></li><li><li><a href="../../../../Book/计算机/SRE:Google运维解密" data-for="Book/计算机/SRE:Google运维解密">SRE:Google运维解密</a></li></li><li><li><a href="../../../../Book/计算机/UNIX传奇:历史与回忆" data-for="Book/计算机/UNIX传奇:历史与回忆">UNIX传奇:历史与回忆</a></li></li><li><li><a href="../../../../Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)" data-for="Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)">VMware vSphere 7.0云平台运维与管理(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)" data-for="Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)">人人都懂设计模式:从生活中领悟设计模式(Python实现)</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:HTML+CSS快速上手" data-for="Book/计算机/从0到1:HTML+CSS快速上手">从0到1:HTML+CSS快速上手</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:HTML5+CSS3修炼之道" data-for="Book/计算机/从0到1:HTML5+CSS3修炼之道">从0到1:HTML5+CSS3修炼之道</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:JavaScript-快速上手" data-for="Book/计算机/从0到1:JavaScript-快速上手">从0到1:JavaScript 快速上手</a></li></li><li><li><a href="../../../../Book/计算机/从0到1:jQuery快速上手" data-for="Book/计算机/从0到1:jQuery快速上手">从0到1:jQuery快速上手</a></li></li><li><li><a href="../../../../Book/计算机/明解Python" data-for="Book/计算机/明解Python">明解Python</a></li></li><li><li><a href="../../../../Book/计算机/每天5分钟玩转Docker容器技术" data-for="Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li></li><li><li><a href="../../../../Book/计算机/流畅的Python" data-for="Book/计算机/流畅的Python">流畅的Python</a></li></li><li><li><a href="../../../../Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)" data-for="Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)">硅谷之火:个人计算机的诞生与衰落(第3版)</a></li></li><li><li><a href="../../../../Book/计算机/秒懂设计模式" data-for="Book/计算机/秒懂设计模式">秒懂设计模式</a></li></li><li><li><a href="../../../../Book/计算机/程序员的README" data-for="Book/计算机/程序员的README">程序员的README</a></li></li><li><li><a href="../../../../Book/计算机/精通Python设计模式(第2版)" data-for="Book/计算机/精通Python设计模式(第2版)">精通Python设计模式(第2版)</a></li></li><li><li><a href="../../../../Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li></li><li><li><a href="../../../../Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li></li><li><li><a href="../../../../Book/计算机/网络是怎样连接的" data-for="Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li></li><li><li><a href="../../../../Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li></li><li><li><a href="../../../../Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li></li><li><li><a href="../../../../Book/计算机/计算机:一部历史" data-for="Book/计算机/计算机:一部历史">计算机:一部历史</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company"><button class="folder-button"><p class="folder-title">Company</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化"><button class="folder-button"><p class="folder-title">信息化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化/规范"><button class="folder-button"><p class="folder-title">规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化/规范"><li><li><a href="../../../../Company/信息化/规范/计算机命名规范" data-for="Company/信息化/规范/计算机命名规范">计算机命名规范</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Culture"><button class="folder-button"><p class="folder-title">Culture</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Culture"><li><li><a href="../../../../Culture/Home" data-for="Culture/Home">传统文化</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government"><button class="folder-button"><p class="folder-title">Government</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国"><button class="folder-button"><p class="folder-title">中国</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/标准"><button class="folder-button"><p class="folder-title">标准</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/标准"><li><li><a href="../../../../Government/中国/标准/标准组织" data-for="Government/中国/标准/标准组织">标准组织</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/法律"><button class="folder-button"><p class="folder-title">法律</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/法律"><li><li><a href="../../../../Government/中国/法律/法律文书" data-for="Government/中国/法律/法律文书">法律文书</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal"><button class="folder-button"><p class="folder-title">Journal</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022"><button class="folder-button"><p class="folder-title">2022</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W34"><button class="folder-button"><p class="folder-title">W34</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W34"><li><li><a href="../../../../Journal/2022/W34/2022-08-24" data-for="Journal/2022/W34/2022-08-24">2022-08-24</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-25" data-for="Journal/2022/W34/2022-08-25">2022-08-25</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-26" data-for="Journal/2022/W34/2022-08-26">2022-08-26</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-27" data-for="Journal/2022/W34/2022-08-27">2022-08-27</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-08-28" data-for="Journal/2022/W34/2022-08-28">2022-08-28</a></li></li><li><li><a href="../../../../Journal/2022/W34/2022-W34" data-for="Journal/2022/W34/2022-W34">2022-W34</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W35"><li><li><a href="../../../../Journal/2022/W35/2022-08-29" data-for="Journal/2022/W35/2022-08-29">2022-08-29</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-08-30" data-for="Journal/2022/W35/2022-08-30">2022-08-30</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-08-31" data-for="Journal/2022/W35/2022-08-31">2022-08-31</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-09-01" data-for="Journal/2022/W35/2022-09-01">2022-09-01</a></li></li><li><li><a href="../../../../Journal/2022/W35/2022-W35" data-for="Journal/2022/W35/2022-W35">2022-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W36"><li><li><a href="../../../../Journal/2022/W36/2022-09-05" data-for="Journal/2022/W36/2022-09-05">2022-09-05</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-06" data-for="Journal/2022/W36/2022-09-06">2022-09-06</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-07" data-for="Journal/2022/W36/2022-09-07">2022-09-07</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-09-08" data-for="Journal/2022/W36/2022-09-08">2022-09-08</a></li></li><li><li><a href="../../../../Journal/2022/W36/2022-W36" data-for="Journal/2022/W36/2022-W36">2022-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W37"><li><li><a href="../../../../Journal/2022/W37/2022-09-12" data-for="Journal/2022/W37/2022-09-12">2022-09-12</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-13" data-for="Journal/2022/W37/2022-09-13">2022-09-13</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-14" data-for="Journal/2022/W37/2022-09-14">2022-09-14</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-15" data-for="Journal/2022/W37/2022-09-15">2022-09-15</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-16" data-for="Journal/2022/W37/2022-09-16">2022-09-16</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-17" data-for="Journal/2022/W37/2022-09-17">2022-09-17</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-09-18" data-for="Journal/2022/W37/2022-09-18">2022-09-18</a></li></li><li><li><a href="../../../../Journal/2022/W37/2022-W37" data-for="Journal/2022/W37/2022-W37">2022-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W38"><button class="folder-button"><p class="folder-title">W38</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W38"><li><li><a href="../../../../Journal/2022/W38/2022-09-19" data-for="Journal/2022/W38/2022-09-19">2022-09-19</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-20" data-for="Journal/2022/W38/2022-09-20">2022-09-20</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-21" data-for="Journal/2022/W38/2022-09-21">2022-09-21</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-09-22" data-for="Journal/2022/W38/2022-09-22">2022-09-22</a></li></li><li><li><a href="../../../../Journal/2022/W38/2022-W38" data-for="Journal/2022/W38/2022-W38">2022-W38</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W39"><button class="folder-button"><p class="folder-title">W39</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W39"><li><li><a href="../../../../Journal/2022/W39/2022-09-28" data-for="Journal/2022/W39/2022-09-28">2022-09-28</a></li></li><li><li><a href="../../../../Journal/2022/W39/2022-09-29" data-for="Journal/2022/W39/2022-09-29">2022-09-29</a></li></li><li><li><a href="../../../../Journal/2022/W39/2022-W39" data-for="Journal/2022/W39/2022-W39">2022-W39</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W41"><button class="folder-button"><p class="folder-title">W41</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W41"><li><li><a href="../../../../Journal/2022/W41/2022-10-10" data-for="Journal/2022/W41/2022-10-10">2022-10-10</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-11" data-for="Journal/2022/W41/2022-10-11">2022-10-11</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-12" data-for="Journal/2022/W41/2022-10-12">2022-10-12</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-13" data-for="Journal/2022/W41/2022-10-13">2022-10-13</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-14" data-for="Journal/2022/W41/2022-10-14">2022-10-14</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-10-16" data-for="Journal/2022/W41/2022-10-16">2022-10-16</a></li></li><li><li><a href="../../../../Journal/2022/W41/2022-W41" data-for="Journal/2022/W41/2022-W41">2022-W41</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W42"><button class="folder-button"><p class="folder-title">W42</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W42"><li><li><a href="../../../../Journal/2022/W42/2022-10-17" data-for="Journal/2022/W42/2022-10-17">2022-10-17</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-18" data-for="Journal/2022/W42/2022-10-18">2022-10-18</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-19" data-for="Journal/2022/W42/2022-10-19">2022-10-19</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-10-21" data-for="Journal/2022/W42/2022-10-21">2022-10-21</a></li></li><li><li><a href="../../../../Journal/2022/W42/2022-W42" data-for="Journal/2022/W42/2022-W42">2022-W42</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W43"><button class="folder-button"><p class="folder-title">W43</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W43"><li><li><a href="../../../../Journal/2022/W43/2022-10-24" data-for="Journal/2022/W43/2022-10-24">2022-10-24</a></li></li><li><li><a href="../../../../Journal/2022/W43/2022-10-26" data-for="Journal/2022/W43/2022-10-26">2022-10-26</a></li></li><li><li><a href="../../../../Journal/2022/W43/2022-W43" data-for="Journal/2022/W43/2022-W43">2022-W43</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W44"><button class="folder-button"><p class="folder-title">W44</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W44"><li><li><a href="../../../../Journal/2022/W44/2022-11-02" data-for="Journal/2022/W44/2022-11-02">2022-11-02</a></li></li><li><li><a href="../../../../Journal/2022/W44/2022-W44" data-for="Journal/2022/W44/2022-W44">2022-W44</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W45"><li><li><a href="../../../../Journal/2022/W45/2022-11-10" data-for="Journal/2022/W45/2022-11-10">2022-11-10</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-11" data-for="Journal/2022/W45/2022-11-11">2022-11-11</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-12" data-for="Journal/2022/W45/2022-11-12">2022-11-12</a></li></li><li><li><a href="../../../../Journal/2022/W45/2022-11-13" data-for="Journal/2022/W45/2022-11-13">2022-11-13</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W46"><li><li><a href="../../../../Journal/2022/W46/2022-11-18" data-for="Journal/2022/W46/2022-11-18">2022-11-18</a></li></li><li><li><a href="../../../../Journal/2022/W46/2022-11-20" data-for="Journal/2022/W46/2022-11-20">2022-11-20</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W47"><button class="folder-button"><p class="folder-title">W47</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W47"><li><li><a href="../../../../Journal/2022/W47/2022-11-21" data-for="Journal/2022/W47/2022-11-21">2022-11-21</a></li></li><li><li><a href="../../../../Journal/2022/W47/2022-11-22" data-for="Journal/2022/W47/2022-11-22">2022-11-22</a></li></li><li><li><a href="../../../../Journal/2022/W47/2022-W47" data-for="Journal/2022/W47/2022-W47">2022-W47</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W48"><li><li><a href="../../../../Journal/2022/W48/2022-11-28" data-for="Journal/2022/W48/2022-11-28">2022-11-28</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-11-29" data-for="Journal/2022/W48/2022-11-29">2022-11-29</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-12-01" data-for="Journal/2022/W48/2022-12-01">2022-12-01</a></li></li><li><li><a href="../../../../Journal/2022/W48/2022-12-04" data-for="Journal/2022/W48/2022-12-04">2022-12-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W49"><li><li><a href="../../../../Journal/2022/W49/2022-12-06" data-for="Journal/2022/W49/2022-12-06">2022-12-06</a></li></li><li><li><a href="../../../../Journal/2022/W49/2022-W49" data-for="Journal/2022/W49/2022-W49">2022-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W50"><li><li><a href="../../../../Journal/2022/W50/2022-12-12" data-for="Journal/2022/W50/2022-12-12">2022-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023"><button class="folder-button"><p class="folder-title">2023</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W2"><button class="folder-button"><p class="folder-title">W2</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W2"><li><li><a href="../../../../Journal/2023/W2/2023-W2" data-for="Journal/2023/W2/2023-W2">2023-W2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W3"><button class="folder-button"><p class="folder-title">W3</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W3"><li><li><a href="../../../../Journal/2023/W3/2023-01-16" data-for="Journal/2023/W3/2023-01-16">2023-01-16</a></li></li><li><li><a href="../../../../Journal/2023/W3/2023-01-18" data-for="Journal/2023/W3/2023-01-18">2023-01-18</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W5"><button class="folder-button"><p class="folder-title">W5</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W5"><li><li><a href="../../../../Journal/2023/W5/2023-W5" data-for="Journal/2023/W5/2023-W5">2023-W5</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W6"><button class="folder-button"><p class="folder-title">W6</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W6"><li><li><a href="../../../../Journal/2023/W6/2023-W6" data-for="Journal/2023/W6/2023-W6">2023-W6</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W7"><button class="folder-button"><p class="folder-title">W7</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W7"><li><li><a href="../../../../Journal/2023/W7/2023-02-14" data-for="Journal/2023/W7/2023-02-14">2023-02-14</a></li></li><li><li><a href="../../../../Journal/2023/W7/2023-02-15" data-for="Journal/2023/W7/2023-02-15">2023-02-15</a></li></li><li><li><a href="../../../../Journal/2023/W7/2023-02-16" data-for="Journal/2023/W7/2023-02-16">2023-02-16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W8"><li><li><a href="../../../../Journal/2023/W8/2023-02-20" data-for="Journal/2023/W8/2023-02-20">2023-02-20</a></li></li><li><li><a href="../../../../Journal/2023/W8/2023-02-22" data-for="Journal/2023/W8/2023-02-22">2023-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W10"><li><li><a href="../../../../Journal/2023/W10/2023-W10" data-for="Journal/2023/W10/2023-W10">2023-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W12"><li><li><a href="../../../../Journal/2023/W12/2023-03-20" data-for="Journal/2023/W12/2023-03-20">2023-03-20</a></li></li><li><li><a href="../../../../Journal/2023/W12/2023-03-21" data-for="Journal/2023/W12/2023-03-21">2023-03-21</a></li></li><li><li><a href="../../../../Journal/2023/W12/2023-W12" data-for="Journal/2023/W12/2023-W12">2023-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W14"><li><li><a href="../../../../Journal/2023/W14/2023-04-08" data-for="Journal/2023/W14/2023-04-08">2023-04-08</a></li></li><li><li><a href="../../../../Journal/2023/W14/2023-W14" data-for="Journal/2023/W14/2023-W14">2023-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W16"><li><li><a href="../../../../Journal/2023/W16/2023-04-21" data-for="Journal/2023/W16/2023-04-21">2023-04-21</a></li></li><li><li><a href="../../../../Journal/2023/W16/2023-04-23" data-for="Journal/2023/W16/2023-04-23">2023-04-23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W22"><li><li><a href="../../../../Journal/2023/W22/2023-05-31" data-for="Journal/2023/W22/2023-05-31">2023-05-31</a></li></li><li><li><a href="../../../../Journal/2023/W22/2023-06-01" data-for="Journal/2023/W22/2023-06-01">2023-06-01</a></li></li><li><li><a href="../../../../Journal/2023/W22/2023-W22" data-for="Journal/2023/W22/2023-W22">2023-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W23"><li><li><a href="../../../../Journal/2023/W23/2023-06-05" data-for="Journal/2023/W23/2023-06-05">2023-06-05</a></li></li><li><li><a href="../../../../Journal/2023/W23/2023-06-08" data-for="Journal/2023/W23/2023-06-08">2023-06-08</a></li></li><li><li><a href="../../../../Journal/2023/W23/2023-W23" data-for="Journal/2023/W23/2023-W23">2023-W23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W24"><li><li><a href="../../../../Journal/2023/W24/2023-06-12" data-for="Journal/2023/W24/2023-06-12">2023-06-12</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-06-13" data-for="Journal/2023/W24/2023-06-13">2023-06-13</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-06-15" data-for="Journal/2023/W24/2023-06-15">2023-06-15</a></li></li><li><li><a href="../../../../Journal/2023/W24/2023-W24" data-for="Journal/2023/W24/2023-W24">2023-W24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W25"><button class="folder-button"><p class="folder-title">W25</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W25"><li><li><a href="../../../../Journal/2023/W25/2023-W25" data-for="Journal/2023/W25/2023-W25">2023-W25</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W26"><button class="folder-button"><p class="folder-title">W26</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W26"><li><li><a href="../../../../Journal/2023/W26/2023-06-26" data-for="Journal/2023/W26/2023-06-26">2023-06-26</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W31"><button class="folder-button"><p class="folder-title">W31</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W31"><li><li><a href="../../../../Journal/2023/W31/2023-W31" data-for="Journal/2023/W31/2023-W31">2023-W31</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W32"><button class="folder-button"><p class="folder-title">W32</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W32"><li><li><a href="../../../../Journal/2023/W32/2023-08-07" data-for="Journal/2023/W32/2023-08-07">2023-08-07</a></li></li><li><li><a href="../../../../Journal/2023/W32/2023-08-08" data-for="Journal/2023/W32/2023-08-08">2023-08-08</a></li></li><li><li><a href="../../../../Journal/2023/W32/2023-W32" data-for="Journal/2023/W32/2023-W32">2023-W32</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W33"><button class="folder-button"><p class="folder-title">W33</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W33"><li><li><a href="../../../../Journal/2023/W33/2023-W33" data-for="Journal/2023/W33/2023-W33">2023-W33</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W35"><li><li><a href="../../../../Journal/2023/W35/2023-W35" data-for="Journal/2023/W35/2023-W35">2023-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W36"><li><li><a href="../../../../Journal/2023/W36/2023-W36" data-for="Journal/2023/W36/2023-W36">2023-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W37"><li><li><a href="../../../../Journal/2023/W37/2023-W37" data-for="Journal/2023/W37/2023-W37">2023-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W40"><button class="folder-button"><p class="folder-title">W40</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W40"><li><li><a href="../../../../Journal/2023/W40/2023-W40" data-for="Journal/2023/W40/2023-W40">2023-W40</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W45"><li><li><a href="../../../../Journal/2023/W45/2023-11-12" data-for="Journal/2023/W45/2023-11-12">2023-11-12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W46"><li><li><a href="../../../../Journal/2023/W46/2023-11-15" data-for="Journal/2023/W46/2023-11-15">2023-11-15</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W48"><li><li><a href="../../../../Journal/2023/W48/2023-W48" data-for="Journal/2023/W48/2023-W48">2023-W48</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W49"><li><li><a href="../../../../Journal/2023/W49/2023-12-07" data-for="Journal/2023/W49/2023-12-07">2023-12-07</a></li></li><li><li><a href="../../../../Journal/2023/W49/2023-W49" data-for="Journal/2023/W49/2023-W49">2023-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W50"><li><li><a href="../../../../Journal/2023/W50/2023-12-12" data-for="Journal/2023/W50/2023-12-12">2023-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024"><button class="folder-button"><p class="folder-title">2024</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W8"><li><li><a href="../../../../Journal/2024/W8/2024-02-22" data-for="Journal/2024/W8/2024-02-22">2024-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W10"><li><li><a href="../../../../Journal/2024/W10/2024-03-05" data-for="Journal/2024/W10/2024-03-05">2024-03-05</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-03-06" data-for="Journal/2024/W10/2024-03-06">2024-03-06</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-03-07" data-for="Journal/2024/W10/2024-03-07">2024-03-07</a></li></li><li><li><a href="../../../../Journal/2024/W10/2024-W10" data-for="Journal/2024/W10/2024-W10">2024-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W11"><button class="folder-button"><p class="folder-title">W11</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W11"><li><li><a href="../../../../Journal/2024/W11/2024-03-11" data-for="Journal/2024/W11/2024-03-11">2024-03-11</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-03-12" data-for="Journal/2024/W11/2024-03-12">2024-03-12</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-03-13" data-for="Journal/2024/W11/2024-03-13">2024-03-13</a></li></li><li><li><a href="../../../../Journal/2024/W11/2024-W11" data-for="Journal/2024/W11/2024-W11">2024-W11</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W12"><li><li><a href="../../../../Journal/2024/W12/2024-03-20" data-for="Journal/2024/W12/2024-03-20">2024-03-20</a></li></li><li><li><a href="../../../../Journal/2024/W12/2024-W12" data-for="Journal/2024/W12/2024-W12">2024-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W14"><li><li><a href="../../../../Journal/2024/W14/2024-W14" data-for="Journal/2024/W14/2024-W14">2024-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W16"><li><li><a href="../../../../Journal/2024/W16/2024-W16" data-for="Journal/2024/W16/2024-W16">2024-W16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W17"><button class="folder-button"><p class="folder-title">W17</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W17"><li><li><a href="../../../../Journal/2024/W17/2024-04-24" data-for="Journal/2024/W17/2024-04-24">2024-04-24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W22"><li><li><a href="../../../../Journal/2024/W22/2024-06-02" data-for="Journal/2024/W22/2024-06-02">2024-06-02</a></li></li><li><li><a href="../../../../Journal/2024/W22/2024-W22" data-for="Journal/2024/W22/2024-W22">2024-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W23"><li><li><a href="../../../../Journal/2024/W23/2024-06-03" data-for="Journal/2024/W23/2024-06-03">2024-06-03</a></li></li><li><li><a href="../../../../Journal/2024/W23/2024-06-04" data-for="Journal/2024/W23/2024-06-04">2024-06-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W24"><li><li><a href="../../../../Journal/2024/W24/2024-06-12" data-for="Journal/2024/W24/2024-06-12">2024-06-12</a></li></li><li><li><a href="../../../../Journal/2024/W24/2024-W24" data-for="Journal/2024/W24/2024-W24">2024-W24</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Life"><button class="folder-button"><p class="folder-title">Life</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Life"><li><li><a href="../../../../Life/Home" data-for="Life/Home">生活相关</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Scholar"><button class="folder-button"><p class="folder-title">Scholar</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Scholar"><li><li><a href="../../../../Scholar/Home" data-for="Scholar/Home">学术</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech"><button class="folder-button"><p class="folder-title">Tech</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service"><button class="folder-button"><p class="folder-title">cloud-service</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service/基础"><li><li><a href="../../../../Tech/cloud-service/基础/IT-基础架构" data-for="Tech/cloud-service/基础/IT-基础架构">IT 基础架构</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/云计算" data-for="Tech/cloud-service/基础/云计算">云计算概述</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/功能即服务(FaaS)" data-for="Tech/cloud-service/基础/功能即服务(FaaS)">功能即服务(FaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/基础架构即服务(IaaS)" data-for="Tech/cloud-service/基础/基础架构即服务(IaaS)">基础架构即服务(IaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/平台即服务(PaaS)" data-for="Tech/cloud-service/基础/平台即服务(PaaS)">平台即服务(PaaS)</a></li></li><li><li><a href="../../../../Tech/cloud-service/基础/软件即服务(SaaS)" data-for="Tech/cloud-service/基础/软件即服务(SaaS)">软件即服务(SaaS)</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network"><button class="folder-button"><p class="folder-title">computer-network</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/Nginx"><button class="folder-button"><p class="folder-title">Nginx</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/Nginx"><li><li><a href="../../../../Tech/computer-network/Nginx/概述" data-for="Tech/computer-network/Nginx/概述">Nginx 概述</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/内容缓存" data-for="Tech/computer-network/Nginx/内容缓存">内容缓存</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/基础配置" data-for="Tech/computer-network/Nginx/基础配置">基础配置</a></li></li><li><li><a href="../../../../Tech/computer-network/Nginx/负载均衡" data-for="Tech/computer-network/Nginx/负载均衡">负载均衡</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/应用服务"><button class="folder-button"><p class="folder-title">应用服务</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/应用服务"><li><li><a href="../../../../Tech/computer-network/应用服务/CDN-内容分发网络" data-for="Tech/computer-network/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络协议"><button class="folder-button"><p class="folder-title">网络协议</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络协议"><li><li><a href="../../../../Tech/computer-network/网络协议/DHCP-动态主机配置协议" data-for="Tech/computer-network/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/DNS-域名系统" data-for="Tech/computer-network/网络协议/DNS-域名系统">DNS 域名系统</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/IP-网际协议" data-for="Tech/computer-network/网络协议/IP-网际协议">IP 网际协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/TCP-传输控制协议" data-for="Tech/computer-network/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li></li><li><li><a href="../../../../Tech/computer-network/网络协议/UDP-用户数据报协议" data-for="Tech/computer-network/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络基础"><button class="folder-button"><p class="folder-title">网络基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络基础"><li><li><a href="../../../../Tech/computer-network/网络基础/网络基础" data-for="Tech/computer-network/网络基础/网络基础">网络基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security"><button class="folder-button"><p class="folder-title">computer-security</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全"><button class="folder-button"><p class="folder-title">信息安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全/OpenPGP"><button class="folder-button"><p class="folder-title">OpenPGP</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全/OpenPGP"><li><li><a href="../../../../Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南" data-for="Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/密码学"><button class="folder-button"><p class="folder-title">密码学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/密码学"><li><li><a href="../../../../Tech/computer-security/密码学/简明指南" data-for="Tech/computer-security/密码学/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全"><button class="folder-button"><p class="folder-title">用户安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/权限设计"><button class="folder-button"><p class="folder-title">权限设计</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/权限设计"><li><li><a href="../../../../Tech/computer-security/用户安全/权限设计/主流权限系统的设计" data-for="Tech/computer-security/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/用户鉴权"><button class="folder-button"><p class="folder-title">用户鉴权</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/用户鉴权"><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权">JWT 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)" data-for="Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)">SSO 单点登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/Token-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)" data-for="Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)">一键登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/唯一登录" data-for="Tech/computer-security/用户安全/用户鉴权/唯一登录">唯一登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/扫码登录" data-for="Tech/computer-security/用户安全/用户鉴权/扫码登录">扫码登录</a></li></li><li><li><a href="../../../../Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录" data-for="Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></li></ul></div></div></li><li><li><a href="../../../../Tech/computer-security/用户安全/简明指南" data-for="Tech/computer-security/用户安全/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全"><button class="folder-button"><p class="folder-title">系统安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全/防火墙"><button class="folder-button"><p class="folder-title">防火墙</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全/防火墙"><li><li><a href="../../../../Tech/computer-security/系统安全/防火墙/网络端口大全" data-for="Tech/computer-security/系统安全/防火墙/网络端口大全">网络端口大全</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全"><button class="folder-button"><p class="folder-title">网络安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSH"><button class="folder-button"><p class="folder-title">OpenSSH</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSH"><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li></li><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSL"><button class="folder-button"><p class="folder-title">OpenSSL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSL"><li><li><a href="../../../../Tech/computer-security/网络安全/OpenSSL/简明指南" data-for="Tech/computer-security/网络安全/OpenSSL/简明指南">简明指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system"><button class="folder-button"><p class="folder-title">database-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/PostgreSQL"><button class="folder-button"><p class="folder-title">PostgreSQL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/PostgreSQL"><li><li><a href="../../../../Tech/database-system/PostgreSQL/基本概念" data-for="Tech/database-system/PostgreSQL/基本概念">基本概念</a></li></li><li><li><a href="../../../../Tech/database-system/PostgreSQL/安装配置" data-for="Tech/database-system/PostgreSQL/安装配置">安装配置</a></li></li><li><li><a href="../../../../Tech/database-system/PostgreSQL/简介" data-for="Tech/database-system/PostgreSQL/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/SQL 语言"><button class="folder-button"><p class="folder-title">SQL 语言</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/SQL 语言"><li><li><a href="../../../../Tech/database-system/SQL-语言/基础语法" data-for="Tech/database-system/SQL-语言/基础语法">基础语法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/基础"><li><li><a href="../../../../Tech/database-system/基础/关系型数据库" data-for="Tech/database-system/基础/关系型数据库">关系型数据库</a></li></li><li><li><a href="../../../../Tech/database-system/基础/数据库概述" data-for="Tech/database-system/基础/数据库概述">数据库概述</a></li></li><li><li><a href="../../../../Tech/database-system/基础/非关系型数据库" data-for="Tech/database-system/基础/非关系型数据库">非关系型数据库</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started"><button class="folder-button"><p class="folder-title">getting-started</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具"><button class="folder-button"><p class="folder-title">命令行工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/PowerShell"><button class="folder-button"><p class="folder-title">PowerShell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/PowerShell"><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-入门" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-高级" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Shell"><button class="folder-button"><p class="folder-title">Shell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Shell"><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-命令操作" data-for="Tech/getting-started/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-必备锦囊" data-for="Tech/getting-started/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Shell/Shell-是什么" data-for="Tech/getting-started/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Vim"><button class="folder-button"><p class="folder-title">Vim</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Vim"><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-参考手册" data-for="Tech/getting-started/命令行工具/Vim/Vim-参考手册">Vim 参考手册</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-帮助文档" data-for="Tech/getting-started/命令行工具/Vim/Vim-帮助文档">Vim 帮助文档</a></li></li><li><li><a href="../../../../Tech/getting-started/命令行工具/Vim/Vim-入门" data-for="Tech/getting-started/命令行工具/Vim/Vim-入门">Vim 快速入门</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/开源指南"><button class="folder-button"><p class="folder-title">开源指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/开源指南"><li><li><a href="../../../../Tech/getting-started/开源指南/如何向开源社区提问" data-for="Tech/getting-started/开源指南/如何向开源社区提问">如何向开源社区提问</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/如何有效报告-BUG" data-for="Tech/getting-started/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/开源指北" data-for="Tech/getting-started/开源指南/开源指北">开源指北</a></li></li><li><li><a href="../../../../Tech/getting-started/开源指南/提问的智慧" data-for="Tech/getting-started/开源指南/提问的智慧">提问的智慧</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/文本处理"><li><li><a href="../../../../Tech/getting-started/文本处理/正则表达式" data-for="Tech/getting-started/文本处理/正则表达式">正则表达式</a></li></li><li><li><a href="../../../../Tech/getting-started/文本处理/结构化文件" data-for="Tech/getting-started/文本处理/结构化文件">结构化文件</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制"><button class="folder-button"><p class="folder-title">版本控制</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git"><button class="folder-button"><p class="folder-title">Git</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/入门"><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/分支" data-for="Tech/getting-started/版本控制/Git/入门/分支">分支</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/协议" data-for="Tech/getting-started/版本控制/Git/入门/协议">协议</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/基础" data-for="Tech/getting-started/版本控制/Git/入门/基础">基础</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/入门/起步" data-for="Tech/getting-started/版本控制/Git/入门/起步">起步</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/进阶"><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/Git-LFS" data-for="Tech/getting-started/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/参考手册" data-for="Tech/getting-started/版本控制/Git/进阶/参考手册">参考手册</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/工作流" data-for="Tech/getting-started/版本控制/Git/进阶/工作流">工作流</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/常用命令" data-for="Tech/getting-started/版本控制/Git/进阶/常用命令">常用命令</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/常用技巧" data-for="Tech/getting-started/版本控制/Git/进阶/常用技巧">常用技巧</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/思维导图" data-for="Tech/getting-started/版本控制/Git/进阶/思维导图">思维导图</a></li></li><li><li><a href="../../../../Tech/getting-started/版本控制/Git/进阶/钩子" data-for="Tech/getting-started/版本控制/Git/进阶/钩子">钩子</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system"><button class="folder-button"><p class="folder-title">operating-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Automation"><button class="folder-button"><p class="folder-title">Automation</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Automation"><li><li><a href="../../../../Tech/operating-system/Automation/Ansible" data-for="Tech/operating-system/Automation/Ansible">Ansible</a></li></li><li><li><a href="../../../../Tech/operating-system/Automation/Cloud-init-快速部署" data-for="Tech/operating-system/Automation/Cloud-init-快速部署">Cloud-init</a></li></li><li><li><a href="../../../../Tech/operating-system/Automation/PXE--系统部署" data-for="Tech/operating-system/Automation/PXE--系统部署">PXE 自动化部署</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker"><button class="folder-button"><p class="folder-title">Docker</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/基础"><li><li><a href="../../../../Tech/operating-system/Docker/基础/基础概念" data-for="Tech/operating-system/Docker/基础/基础概念">基础概念</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/基础/安装配置" data-for="Tech/operating-system/Docker/基础/安装配置">安装配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/基础/简介" data-for="Tech/operating-system/Docker/基础/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/进阶"><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-Compose" data-for="Tech/operating-system/Docker/进阶/Docker-Compose">Docker Compose</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-Dockerfile" data-for="Tech/operating-system/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/进阶/Docker-使用" data-for="Tech/operating-system/Docker/进阶/Docker-使用">Docker 使用</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/高级"><button class="folder-button"><p class="folder-title">高级</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/高级"><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-命令手册" data-for="Tech/operating-system/Docker/高级/Docker-命令手册">Docker 命令手册</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-存储" data-for="Tech/operating-system/Docker/高级/Docker-存储">Docker 存储</a></li></li><li><li><a href="../../../../Tech/operating-system/Docker/高级/Docker-网络" data-for="Tech/operating-system/Docker/高级/Docker-网络">Docker 网络</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux"><button class="folder-button"><p class="folder-title">Linux</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/0.文化"><button class="folder-button"><p class="folder-title">0.文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/0.文化"><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展">GNU&Linux 历史与发展</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化">GNU&Linux 社区与文化</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/0.文化/开源软件的概念与重要性" data-for="Tech/operating-system/Linux/0.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/1.安装"><button class="folder-button"><p class="folder-title">1.安装</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/1.安装"><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南" data-for="Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南">Linux 下源代码编译与安装实战指南</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-发行版镜像" data-for="Tech/operating-system/Linux/1.安装/Linux-发行版镜像">Linux 发行版镜像</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/1.安装/Linux-安装和配置" data-for="Tech/operating-system/Linux/1.安装/Linux-安装和配置">Linux 安装和配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/2.基础操作"><button class="folder-button"><p class="folder-title">2.基础操作</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/2.基础操作"><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-包管理器" data-for="Tech/operating-system/Linux/2.基础操作/Linux-包管理器">Linux 包管理器</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Shell-命令行操作" data-for="Tech/operating-system/Linux/2.基础操作/Shell-命令行操作">Linux 命令行操作</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-文件管理" data-for="Tech/operating-system/Linux/2.基础操作/Linux-文件管理">Linux 文件管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/2.基础操作/Linux-用户和权限" data-for="Tech/operating-system/Linux/2.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/3.系统管理"><button class="folder-button"><p class="folder-title">3.系统管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/3.系统管理"><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-内核管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-内核管理">Linux 内核管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-基本配置" data-for="Tech/operating-system/Linux/3.系统管理/Linux-基本配置">Linux 基本配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-日志管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-日志管理">Linux 日志管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-服务管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-服务管理">Linux 服务管理</a></li></li><li><li><a href="../../../../Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解" data-for="Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/4.安全配置"><button class="folder-button"><p class="folder-title">4.安全配置</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/4.安全配置"><li><li><a href="../../../../Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护" data-for="Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/5.网络管理"><button class="folder-button"><p class="folder-title">5.网络管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/5.网络管理"><li><li><a href="../../../../Tech/operating-system/Linux/5.网络管理/Linux-网络配置" data-for="Tech/operating-system/Linux/5.网络管理/Linux-网络配置">Linux 网络配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/7.存储管理"><button class="folder-button"><p class="folder-title">7.存储管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/7.存储管理"><li><li><a href="../../../../Tech/operating-system/Linux/7.存储管理/Linux-文件系统" data-for="Tech/operating-system/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/8.虚拟化"><button class="folder-button"><p class="folder-title">8.虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/8.虚拟化"><li><li><a href="../../../../Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理" data-for="Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理">KVM 虚拟化管理</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization"><button class="folder-button"><p class="folder-title">Virtualization</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/1.虚拟化概述"><button class="folder-button"><p class="folder-title">1.虚拟化概述</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/1.虚拟化概述"><li><li><a href="../../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述">虚拟化概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/2.KVM虚拟化"><button class="folder-button"><p class="folder-title">2.KVM虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/2.KVM虚拟化"><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述">1. KVM 概述</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">2. KVM 安装配置</a></li></li><li><li><a href="../../../../Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">3. KVM 管理工具</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows"><button class="folder-button"><p class="folder-title">Windows</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows/文化"><li><li><a href="../../../../Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展" data-for="Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language"><button class="folder-button"><p class="folder-title">programming-language</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python"><button class="folder-button"><p class="folder-title">Python</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/入门"><li><li><a href="../../../../Tech/programming-language/Python/入门/函数方法" data-for="Tech/programming-language/Python/入门/函数方法">函数方法</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/基础语法" data-for="Tech/programming-language/Python/入门/基础语法">基础语法</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/控制语句" data-for="Tech/programming-language/Python/入门/控制语句">控制语句</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/数据类型" data-for="Tech/programming-language/Python/入门/数据类型">数据类型</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/数据结构" data-for="Tech/programming-language/Python/入门/数据结构">数据结构</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/模块和包" data-for="Tech/programming-language/Python/入门/模块和包">模块和包</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/入门/面对对象" data-for="Tech/programming-language/Python/入门/面对对象">面对对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/文化"><li><li><a href="../../../../Tech/programming-language/Python/文化/发展历史" data-for="Tech/programming-language/Python/文化/发展历史">发展历史</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/生命周期" data-for="Tech/programming-language/Python/文化/生命周期">生命周期</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/社区文化" data-for="Tech/programming-language/Python/文化/社区文化">社区文化</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/设计哲学" data-for="Tech/programming-language/Python/文化/设计哲学">设计哲学</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/文化/语言特性" data-for="Tech/programming-language/Python/文化/语言特性">语言特性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块"><button class="folder-button"><p class="folder-title">模块</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/WEB开发"><button class="folder-button"><p class="folder-title">WEB开发</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/WEB开发"><li><li><a href="../../../../Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎" data-for="Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/数据处理"><button class="folder-button"><p class="folder-title">数据处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/数据处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器" data-for="Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/csv-文件读写" data-for="Tech/programming-language/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/数据处理/json-编码和解码器" data-for="Tech/programming-language/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/文本处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作" data-for="Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/系统交互"><button class="folder-button"><p class="folder-title">系统交互</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/系统交互"><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理" data-for="Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/logging-日志记录工具" data-for="Tech/programming-language/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/loguru-日志库" data-for="Tech/programming-language/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口" data-for="Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理" data-for="Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/网络处理"><button class="folder-button"><p class="folder-title">网络处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/网络处理"><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/requests-HTTP-库" data-for="Tech/programming-language/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/socket-底层网络接口" data-for="Tech/programming-language/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块" data-for="Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/进阶"><li><li><a href="../../../../Tech/programming-language/Python/进阶/函数式编程" data-for="Tech/programming-language/Python/进阶/函数式编程">函数式编程</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/垃圾回收" data-for="Tech/programming-language/Python/进阶/垃圾回收">垃圾回收</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/并行和并发" data-for="Tech/programming-language/Python/进阶/并行和并发">并行和并发</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/异常处理" data-for="Tech/programming-language/Python/进阶/异常处理">异常处理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/数据库操作" data-for="Tech/programming-language/Python/进阶/数据库操作">数据库操作</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/文件和IO操作" data-for="Tech/programming-language/Python/进阶/文件和IO操作">文件和IO操作</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/测试和调试" data-for="Tech/programming-language/Python/进阶/测试和调试">测试和调试</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/资源管理" data-for="Tech/programming-language/Python/进阶/资源管理">资源管理</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/进阶/面向对象进阶" data-for="Tech/programming-language/Python/进阶/面向对象进阶">面向对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目"><button class="folder-button"><p class="folder-title">项目</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/虚拟环境"><button class="folder-button"><p class="folder-title">虚拟环境</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/虚拟环境"><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pip" data-for="Tech/programming-language/Python/项目/虚拟环境/pip">pip</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pipenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pipenv">pipenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/poetry" data-for="Tech/programming-language/Python/项目/虚拟环境/poetry">poetry</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/pyenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pyenv">pyenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/virtualenv" data-for="Tech/programming-language/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li></li><li><li><a href="../../../../Tech/programming-language/Python/项目/虚拟环境/概述" data-for="Tech/programming-language/Python/项目/虚拟环境/概述">概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/风格指南"><button class="folder-button"><p class="folder-title">风格指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/风格指南"><li><li><a href="../../../../Tech/programming-language/Python/项目/风格指南/风格指南" data-for="Tech/programming-language/Python/项目/风格指南/风格指南">Python 风格指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><li><a href="../../../../Tech/programming-language/home" data-for="Tech/programming-language/home">程序设计语言</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering"><button class="folder-button"><p class="folder-title">software-engineering</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/协作规范"><button class="folder-button"><p class="folder-title">协作规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/协作规范"><li><li><a href="../../../../Tech/software-engineering/协作规范/交流反馈(Issue)" data-for="Tech/software-engineering/协作规范/交流反馈(Issue)">交流反馈(Issue)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/关于(Readme)" data-for="Tech/software-engineering/协作规范/关于(Readme)">关于(Readme)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/分支(Branch)" data-for="Tech/software-engineering/协作规范/分支(Branch)">分支(Branch)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/开源协议(License)" data-for="Tech/software-engineering/协作规范/开源协议(License)">开源协议(License)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/日志(Commit)" data-for="Tech/software-engineering/协作规范/日志(Commit)">日志(Commit)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/注释(Comments)" data-for="Tech/software-engineering/协作规范/注释(Comments)">注释(Comments)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/版本(Tag)" data-for="Tech/software-engineering/协作规范/版本(Tag)">版本(Tag)</a></li></li><li><li><a href="../../../../Tech/software-engineering/协作规范/贡献者协议(Contributing)" data-for="Tech/software-engineering/协作规范/贡献者协议(Contributing)">贡献者协议(Contributing)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/技术文档"><button class="folder-button"><p class="folder-title">技术文档</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/技术文档"><li><li><a href="../../../../Tech/software-engineering/技术文档/命名约定" data-for="Tech/software-engineering/技术文档/命名约定">命名约定</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/文档内容" data-for="Tech/software-engineering/技术文档/文档内容">文档内容</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/文档结构" data-for="Tech/software-engineering/技术文档/文档结构">文档结构</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/标点符号" data-for="Tech/software-engineering/技术文档/标点符号">标点符号</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/简介" data-for="Tech/software-engineering/技术文档/简介">简介</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/语言风格" data-for="Tech/software-engineering/技术文档/语言风格">语言风格</a></li></li><li><li><a href="../../../../Tech/software-engineering/技术文档/附录资料" data-for="Tech/software-engineering/技术文档/附录资料">附录资料</a></li></li></ul></div></div></li><li><li><a href="../../../../Tech/software-engineering/谷歌开源项目风格指南" data-for="Tech/software-engineering/谷歌开源项目风格指南">谷歌开源项目风格指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/structures-algorithms"><button class="folder-button"><p class="folder-title">structures-algorithms</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/structures-algorithms"><li><li><a href="../../../../Tech/structures-algorithms/数据结构" data-for="Tech/structures-algorithms/数据结构">数据结构</a></li></li><li><li><a href="../../../../Tech/structures-algorithms/算法" data-for="Tech/structures-algorithms/算法">算法</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work"><button class="folder-button"><p class="folder-title">Work</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/data-engineer"><button class="folder-button"><p class="folder-title">data-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/data-engineer"><li><li><a href="../../../../Work/data-engineer/home" data-for="Work/data-engineer/home">数据工程师(data-engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack"><button class="folder-button"><p class="folder-title">full-stack</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/基础"><li><li><a href="../../../../Work/full-stack/基础/CSS" data-for="Work/full-stack/基础/CSS">CSS</a></li></li><li><li><a href="../../../../Work/full-stack/基础/HTML" data-for="Work/full-stack/基础/HTML">HTML</a></li></li><li><li><a href="../../../../Work/full-stack/基础/JavaScript" data-for="Work/full-stack/基础/JavaScript">JavaScript</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/工具"><button class="folder-button"><p class="folder-title">工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/工具"><li><li><a href="../../../../Work/full-stack/工具/PM2-工具" data-for="Work/full-stack/工具/PM2-工具">PM2 工具</a></li></li><li><li><a href="../../../../Work/full-stack/工具/Webpack" data-for="Work/full-stack/工具/Webpack">Webpack</a></li></li><li><li><a href="../../../../Work/full-stack/工具/包管理工具" data-for="Work/full-stack/工具/包管理工具">包管理器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/文化"><li><li><a href="../../../../Work/full-stack/文化/历史发展" data-for="Work/full-stack/文化/历史发展">历史发展</a></li></li><li><li><a href="../../../../Work/full-stack/文化/概述" data-for="Work/full-stack/文化/概述">概述</a></li></li><li><li><a href="../../../../Work/full-stack/文化/现代化开发工具链" data-for="Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></li></ul></div></div></li><li><li><a href="../../../../Work/full-stack/home" data-for="Work/full-stack/home">前端工程师(Front-End Engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap"><button class="folder-button"><p class="folder-title">roadmap</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/权益保障"><button class="folder-button"><p class="folder-title">权益保障</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/权益保障"><li><li><a href="../../../../Work/roadmap/权益保障/仲裁指南" data-for="Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li></li><li><li><a href="../../../../Work/roadmap/权益保障/职场维权实战经验" data-for="Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/求职经验"><button class="folder-button"><p class="folder-title">求职经验</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/求职经验"><li><li><a href="../../../../Work/roadmap/求职经验/互联网行业-郑州" data-for="Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li></li><li><li><a href="../../../../Work/roadmap/求职经验/写给软件工程师的建议" data-for="Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/简历攻略"><button class="folder-button"><p class="folder-title">简历攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/简历攻略"><li><li><a href="../../../../Work/roadmap/简历攻略/IT-类简历" data-for="Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li></li><li><li><a href="../../../../Work/roadmap/简历攻略/简历原则" data-for="Work/roadmap/简历攻略/简历原则">简历原则</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职业规划"><button class="folder-button"><p class="folder-title">职业规划</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职业规划"><li><li><a href="../../../../Work/roadmap/职业规划/开发者职业路线图" data-for="Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li></li><li><li><a href="../../../../Work/roadmap/职业规划/职业宏观规划图" data-for="Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li></li><li><li><a href="../../../../Work/roadmap/职业规划/职业宏观路线图" data-for="Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职场心得"><button class="folder-button"><p class="folder-title">职场心得</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职场心得"><li><li><a href="../../../../Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何平衡工作和生活" data-for="Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何度过新手村" data-for="Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li></li><li><li><a href="../../../../Work/roadmap/职场心得/如何有效应对职场政治" data-for="Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/薪酬攻略"><button class="folder-button"><p class="folder-title">薪酬攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/薪酬攻略"><li><li><a href="../../../../Work/roadmap/薪酬攻略/社会保障" data-for="Work/roadmap/薪酬攻略/社会保障">社会保障</a></li></li><li><li><a href="../../../../Work/roadmap/薪酬攻略/绩效考核" data-for="Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li></li><li><li><a href="../../../../Work/roadmap/薪酬攻略/薪酬制度" data-for="Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/面试法则"><button class="folder-button"><p class="folder-title">面试法则</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/面试法则"><li><li><a href="../../../../Work/roadmap/面试法则/反向面试" data-for="Work/roadmap/面试法则/反向面试">反向面试</a></li></li><li><li><a href="../../../../Work/roadmap/面试法则/面试-10-大常见问题" data-for="Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></li></ul></div></div></li><li><li><a href="../../../../Work/roadmap/home" data-for="Work/roadmap/home">求职之路</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/sre-engineer"><button class="folder-button"><p class="folder-title">sre-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/sre-engineer"><li><li><a href="../../../../Work/sre-engineer/home" data-for="Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li id="explorer-end"></li></ul></div></div></div></div><footer class><hr/><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.1.0</a>, © 2024</p><ul><li><a href="https://www.7wate.com">Home</a></li><li><a href="https://blog.7wate.com">Blog</a></li><li><a href="https://github.com/7wate">GitHub</a></li></ul></footer></div></body><script type="application/javascript">// quartz/components/scripts/quartz/components/scripts/callout.inline.ts
|
||
function toggleCallout() {
|
||
const outerBlock = this.parentElement;
|
||
outerBlock.classList.toggle(`is-collapsed`);
|
||
const collapsed = outerBlock.classList.contains(`is-collapsed`);
|
||
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
|
||
outerBlock.style.maxHeight = height + `px`;
|
||
let current = outerBlock;
|
||
let parent = outerBlock.parentElement;
|
||
while (parent) {
|
||
if (!parent.classList.contains(`callout`)) {
|
||
return;
|
||
}
|
||
const collapsed2 = parent.classList.contains(`is-collapsed`);
|
||
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
|
||
parent.style.maxHeight = height2 + `px`;
|
||
current = parent;
|
||
parent = parent.parentElement;
|
||
}
|
||
}
|
||
function setupCallout() {
|
||
const collapsible = document.getElementsByClassName(
|
||
`callout is-collapsible`
|
||
);
|
||
for (const div of collapsible) {
|
||
const title = div.firstElementChild;
|
||
if (title) {
|
||
title.removeEventListener(`click`, toggleCallout);
|
||
title.addEventListener(`click`, toggleCallout);
|
||
const collapsed = div.classList.contains(`is-collapsed`);
|
||
const height = collapsed ? title.scrollHeight : div.scrollHeight;
|
||
div.style.maxHeight = height + `px`;
|
||
}
|
||
}
|
||
}
|
||
document.addEventListener(`nav`, setupCallout);
|
||
window.addEventListener(`resize`, setupCallout);
|
||
</script><script type="module">
|
||
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
|
||
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
|
||
mermaid.initialize({
|
||
startOnLoad: false,
|
||
securityLevel: 'loose',
|
||
theme: darkMode ? 'dark' : 'default'
|
||
});
|
||
document.addEventListener('nav', async () => {
|
||
await mermaid.run({
|
||
querySelector: '.mermaid'
|
||
})
|
||
});
|
||
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../../../postscript.js" type="module"></script></html> |