14-类的定义方法

Posted tiantiancode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14-类的定义方法相关的知识,希望对你有一定的参考价值。

lesson14类的定义方法

#视频1:回顾代码

--------------------------------------------------
#视频2:类定义及属性

 1 # class Person:   #经典
 2 #     pass
 3 
 4 class Person2(object):   #新式
 5     attr = ren  # 类公有属性   可以用类访问,也可以用实例访问
 6     _attr1 = siyou  # 私有属性,外部可以访问
 7     __attr2 = chaoren  # 私有属性,外部不可以直接访问
 8 
 9 yanzhi = Person2()
10 yanzhi.name =yanzhi    #实例属性    只能用实例访问
11 yanzhi.age =18
12 
13 print(yanzhi.attr)
14 print(yanzhi.name)
15 print(yanzhi.age)
16 
17 print(yanzhi._attr1)
18 # print(yanzhi.__attr1)   #错误 ,不能直接访问私有属性
19 print(Person2.attr)
20 
21 print(-------------------------------)
22 moran = Person2()
23 print(moran.attr)


#运行:
ren
yanzhi
18
siyou
ren
-------------------------------
ren

 

--------------------------------------------------
#视频3 实例方法

 1 #实例方法
 2 class Hero(object):
 3     def move(self):     #self代表的是实例本身,哪个实例调用就代表的是哪个实例
 4         print(%s正在移动%self.name)
 5 
 6     def skill(self):
 7         print(%s使用技能:砍一刀%self.name)
 8 
 9 yanzhi=Hero()
10 moran =Hero()
11 yanzhi.name= yanzhi
12 moran.name=moran
13 
14 moran.move()
15 moran.skill()
16 
17 yanzhi.move()
18 yanzhi.skill()

#运行:
moran正在移动
moran使用技能:砍一刀
yanzhi正在移动
yanzhi使用技能:砍一刀

 

--------------------------------------------------
#视频4 类初始化 与析构

 1 class Hero(object):
 2     def __init__(self,name,PH,age):
 3         self.name =name
 4         self.PH=PH
 5         self.age=age
 6         print(%s初始化init%self.name)
 7 
 8     def move(self):
 9         print(%s正在移动%self.name)
10 
11     def skill(self):
12         print(%s使用技能:砍一刀%self.name)
13 
14     def __del__(self):
15         print(%s销毁%self.name)
16 
17 yanzhi =Hero(yanzhi,5000,18)
18 moran =Hero(moran,6000,19)
19 
20 yanzhi.move()
21 print(yanzhi.PH)
22 
23 # del yanzhi

#运行:
yanzhi初始化init
moran初始化init
yanzhi正在移动
5000

 

作业:

 1 #作业
 2 # 定义个矩形类:
 3 #
 4 # 可以初始化长和宽两个实例属性,
 5 # 还有一个计算面积的方法
 6 # 然后创建一个矩形 实例对象,调用方法计算矩形面积
 7 class Rectangle(object):
 8     def __init__(self,wide,length):
 9         self.wide =wide
10         self.length=length
11 
12     def sear(self):
13         s =self.length*self.wide
14         print(矩形面积是%s%s)
15 
16 rec1 = Rectangle(10,12)
17 rec1.sear()

#运行:

ssh://pyvip@127.0.0.1:1234/home/pyvip/.virtualenvs/py3env/bin/python3 -u /home/pyvip/20180606py_case/基础/14面向对象3.py
矩形面积是120

 

以上是关于14-类的定义方法的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

14-类的定义方法

14-类的定义方法

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

片段中ListView的android自定义适配器