<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>语法 on Worthify 博客</title><link>https://worthify-blog.pages.dev/tags/%E8%AF%AD%E6%B3%95/</link><description>Recent content in 语法 on Worthify 博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 28 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://worthify-blog.pages.dev/tags/%E8%AF%AD%E6%B3%95/index.xml" rel="self" type="application/rss+xml"/><item><title>python 面向对象</title><link>https://worthify-blog.pages.dev/posts/python/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://worthify-blog.pages.dev/posts/python/</guid><description>&lt;p&gt;[toc]&lt;/p&gt;&#10;&lt;h2 id="编程思维面向过程与面向对象"&gt;编程思维——面向过程与面向对象&lt;/h2&gt;&#10;&lt;p&gt;编程思维就是我们人类用编程语言解决某个问题的方式，其中最主要的就是面向过程和面型对象。&lt;/p&gt;&#10;&lt;h3 id="面向过程"&gt;面向过程&lt;/h3&gt;&#10;&lt;p&gt;在接触面向对象之前，我所写的代码基本都是面向过程思维，即遇到问题需要解决时，先将他拆解成一个个小的步骤，最终完成目标。我们可以举一个实际的例子：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;面向过程：&lt;/strong&gt; 洗衣服：加水，放衣服，倒洗衣液，揉搓，拧干，晾晒。&#10;这就是面向过程，注重实现某个目标的具体步骤。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="面向对象"&gt;面向对象&lt;/h3&gt;&#10;&lt;p&gt;面向对象的思想与面向过程非常不同，它只在乎结果，具体的实现细节并不需要考虑，我们依旧按照上面洗衣服的例子，看看面向对象如何实现的：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;面向对象：&lt;/strong&gt; 拿衣服，放入洗衣机 | 丢给干洗店 | 让其他人去洗，晾晒&#10;这就是面向对象的思维，它不关心某些功能的具体实现，只关注最后事情完成的结果。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="面向对象的基本思想"&gt;面向对象的基本思想&lt;/h3&gt;&#10;&lt;p&gt;面向对象的主要实现核心思想如下：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;面向对象让&lt;strong&gt;编程与实际事物更加接近&lt;/strong&gt;，所有对象都赋予了&lt;strong&gt;属性和方法&lt;/strong&gt;，使编程过程更具人性化。&lt;/li&gt;&#10;&lt;li&gt;宗旨在于&lt;strong&gt;模拟现实世界。&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;现实生活中，&lt;strong&gt;所有事物都被称为对象。&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="面向对象的三大特征"&gt;面向对象的三大特征&lt;/h3&gt;&#10;&lt;p&gt;所有支持面向对象的语言，都需要实现面向对象的三大基本特征：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;封装：&lt;/strong&gt; 隐藏具体实现细节，把属性和方法封装在一起，仅提供外部方法供人们访问，简化开发。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;继承：&lt;/strong&gt; 孩子继承父亲的东西，重复列用，增加代码复用性。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;多态：&lt;/strong&gt; 同一个函数在不同的环境下，表现出不同的状态，增加代码耦合性，扩展性。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="类"&gt;类&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;定义：&lt;/strong&gt; 类是是一组对象的抽象集合，具有相同特性的对象使用同一个类。&#10;我们举例来说，面包车，轿车，跑车，越野车它们都同属于车这个大类，这里的车就是类，而轿车，跑车等就是这个类的对象，或者说实例。&#10;再比如，我们电脑分为很多类型，台式机，笔记本，二合一平板。但他们都统称为电脑。这里，电脑就是类，是各种其他类型电脑的&lt;strong&gt;超类&lt;/strong&gt;。而台式，笔记本这些就是电脑的&lt;strong&gt;子类&lt;/strong&gt;&#10;用代码表示可以这样表示：&lt;/p&gt;&#10;&lt;div class="code-block" data-lang="python"&gt;&#10; &lt;div class="code-block__head"&gt;&#10; &lt;span class="code-block__lang"&gt;PYTHON&lt;/span&gt;&#10; &lt;button type="button" class="code-block__copy" data-copy-label="复制" data-copied-label="已复制 ✓" aria-label="复制"&gt;复制&lt;/button&gt;&#10; &lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 使用 class 关键字创建一个电脑类&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;computer&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&lt;span style="color:#75715e"&gt;# 初始化方法&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;__init__&lt;/span&gt;(self, cpu, ram, hdd):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;cpu &lt;span style="color:#f92672"&gt;=&lt;/span&gt; cpu&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ram &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ram&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;hdd &lt;span style="color:#f92672"&gt;=&lt;/span&gt; hdd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# 品牌标记方法&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;brand&lt;/span&gt;(self, brand_name:str): &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;brand_name &lt;span style="color:#f92672"&gt;=&lt;/span&gt; brand_name&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Brand: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;brand_name&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&lt;span style="color:#75715e"&gt;# 输出电脑配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;config&lt;/span&gt;(self):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;&amp;#34;Configuration of the computer:&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;CPU: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;cpu&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;RAM: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ram&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; GB&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;HDD: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;hdd&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; TB&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;__add__&lt;/span&gt;(self, other):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; total_ram &lt;span style="color:#f92672"&gt;=&lt;/span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ram &lt;span style="color:#f92672"&gt;+&lt;/span&gt; other&lt;span style="color:#f92672"&gt;.&lt;/span&gt;ram&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; total_hdd &lt;span style="color:#f92672"&gt;=&lt;/span&gt; self&lt;span style="color:#f92672"&gt;.&lt;/span&gt;hdd &lt;span style="color:#f92672"&gt;+&lt;/span&gt; other&lt;span style="color:#f92672"&gt;.&lt;/span&gt;hdd&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; computer(&lt;span style="color:#e6db74"&gt;&amp;#34;Combined CPU&amp;#34;&lt;/span&gt;, total_ram, total_hdd)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;创建了类后，我们就需要创建类的实例去使用它。比如我们现现在创建两个实例，代码如下：&lt;/p&gt;</description></item></channel></rss>