加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python编程从入门到实践笔记——类

发布时间:2020-05-27 10:35:39 所属栏目:Python 来源:互联网
导读:Python编程从入门到实践笔记——类

Python编程从入门到实践笔记——类

Dog():
<span style="color: #0000ff;"&gt;def</span> <span style="color: #800080;"&gt;__init__</span><span style="color: #000000;"&gt;(self,name,age):
    </span><span style="color: #800000;"&gt;"""</span><span style="color: #800000;"&gt;初始化属性name和age</span><span style="color: #800000;"&gt;"""</span><span style="color: #000000;"&gt;
    self.name </span>=<span style="color: #000000;"&gt; name
    self.age </span>=<span style="color: #000000;"&gt; age

</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; sit(self):
    </span><span style="color: #800000;"&gt;"""</span><span style="color: #800000;"&gt;模拟小狗被命令时蹲下</span><span style="color: #800000;"&gt;"""</span>
    <span style="color: #0000ff;"&gt;print</span>(self.name.title() + <span style="color: #800000;"&gt;"</span><span style="color: #800000;"&gt; is now sitting.</span><span style="color: #800000;"&gt;"</span><span style="color: #000000;"&gt;)

</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; roll_over(self):
    </span><span style="color: #800000;"&gt;"""</span><span style="color: #800000;"&gt;模拟小狗被命令时打滚</span><span style="color: #800000;"&gt;"""</span>
    <span style="color: #0000ff;"&gt;print</span>(self.name.title() + <span style="color: #800000;"&gt;"</span><span style="color: #800000;"&gt; rolled over!</span><span style="color: #800000;"&gt;"</span><span style="color: #000000;"&gt;)

<span style="color: #008000;">#<span style="color: #008000;">init()是一个特殊的方法,每当根据Dog类创建新实例时,Python都会自动运行它。 <span style="color: #008000;">

<span style="color: #008000;">在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。<span style="color: #008000;">

<span style="color: #008000;">方法init()定义成了包含三个形参:self、name和age。在这个方法的定义中,形参self必不可少,还必须位于其他形参的前面。<span style="color: #008000;">

<span style="color: #008000;">Python调用这个init()方法来创建Dog实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身<span style="color: #008000;">

<span style="color: #008000;">的引用, 让实例能够访问类中的属性和方法。 我们创建Dog 实例时,Python将调用Dog类的方法init() 。 <span style="color: #008000;">

<span style="color: #008000;">我们将通过实参向Dog()传递名字和年龄;self会自动传递,因此我们不需要传递它。每当我们根据Dog类创建实例时,都只需给最后两个形参(name 和age )提供值。

<span style="color: #008000;">#<span style="color: #008000;">2.根据类创建实例
my_dog = Dog(<span style="color: #800000;">'<span style="color: #800000;">willie<span style="color: #800000;">',6<span style="color: #000000;">)
<span style="color: #0000ff;">print(<span style="color: #800000;">"<span style="color: #800000;">My dog's name is <span style="color: #800000;">" + my_dog.name.title() + <span style="color: #800000;">"<span style="color: #800000;"> and he is <span style="color: #800000;">"+ str(my_dog.age) + <span style="color: #800000;">"<span style="color: #800000;"> years old.<span style="color: #800000;">"<span style="color: #000000;">)

<span style="color: #008000;">#<span style="color: #008000;">访问属性 .
<span style="color: #000000;">my_dog.name
<span style="color: #008000;">#<span style="color: #008000;">调用方法
<span style="color: #000000;">my_dog.sit()
<span style="color: #008000;">#<span style="color: #008000;">创建多个实例
my_dog = Dog(<span style="color: #800000;">'<span style="color: #800000;">willie<span style="color: #800000;">',6<span style="color: #000000;">)
your_dog = Dog(<span style="color: #800000;">'<span style="color: #800000;">lucy<span style="color: #800000;">',7<span style="color: #000000;">)

<span style="color: #008000;">#<span style="color: #008000;">9.2使用类和实例<span style="color: #008000;">

<span style="color: #008000;">1.Car类

<span style="color: #0000ff;">class<span style="color: #000000;"> Car():
<span style="color: #800000;">"""<span style="color: #800000;">一次模拟汽车的简单尝试<span style="color: #800000;">"""
<span style="color: #0000ff;">def <span style="color: #800080;">init<span style="color: #000000;">(self,make,model,year):
<span style="color: #800000;">"""<span style="color: #800000;">初始化描述汽车的属性<span style="color: #800000;">"""<span style="color: #000000;">
self.make =<span style="color: #000000;"> make
self.model =<span style="color: #000000;"> model
self.year =<span style="color: #000000;"> year
<span style="color: #008000;">#<span style="color: #008000;">添加属性odometer_reading,并设置默认值为0
self.odometer_reading =<span style="color: #000000;"> 0

</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; get_odometer(self):
    </span><span style="color: #0000ff;"&gt;print</span>(<span style="color: #800000;"&gt;"</span><span style="color: #800000;"&gt;This car has </span><span style="color: #800000;"&gt;"</span> + str(self.odometer_reading) + <span style="color: #800000;"&gt;"</span><span style="color: #800000;"&gt; miles on it.</span><span style="color: #800000;"&gt;"</span><span style="color: #000000;"&gt;)

</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; set_odometer(self,mileage):
    self.odometer_reading </span>=<span style="color: #000000;"&gt; mileage

</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; get_descriptive_name(self):
    </span><span style="color: #800000;"&gt;"""</span><span style="color: #800000;"&gt;返回整洁的描述性信息</span><span style="color: #800000;"&gt;"""</span><span style="color: #000000;"&gt;
    long_name </span>= str(self.year) + <span style="color: #800000;"&gt;'</span> <span style="color: #800000;"&gt;'</span> + self.make + <span style="color: #800000;"&gt;'</span> <span style="color: #800000;"&gt;'</span> +<span style="color: #000000;"&gt; self.model
    </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; long_name.title()

my_new_car = Car(<span style="color: #800000;">'<span style="color: #800000;">Audi<span style="color: #800000;">',<span style="color: #800000;">'<span style="color: #800000;">A4L<span style="color: #800000;">',2016<span style="color: #000000;">)
<span style="color: #0000ff;">print<span style="color: #000000;">(my_new_car.get_descriptive_name())
my_new_car.get_odometer()

<span style="color: #008000;">#<span style="color: #008000;">2.给属性指定默认值

<span style="color: #008000;">#<span style="color: #008000;">3.修改属性的值<span style="color: #008000;">

<span style="color: #008000;">直接修改

my_new_car.odometer_reading = 23<span style="color: #000000;">
my_new_car.get_odometer()

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读