长话短说,我线代作业还没有写呢。
有点编程语言知识的朋友应该知道,编程语言有“面向对象”和“面向过程”两种。
解释一下:
面向对象技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。面向对象程序设计技术的提出,主要是为了解决传统程序设计方法--结构化程序设计所不能解决的代码重用问题。 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类 而python就是典型面向对象的编程语言。
什么是对象? 对象简单的来说就是一切具体事物,比如一个杯子,它是一个对象;一个人,也是对象;一台电脑也是一个对象。仔细想一下,每个对象,是不是都是由它的属性和行为构成的呢? 比如一个具体的人,他是性别是男,身高180,体重60,不戴眼镜,诸如此类,就是一个对象的属性。而“这个人,他正在操场跑步”,他的这个动作,也就是对象的行为。
什么是类? 类就是具有相同属性和行为的对象的集合。 比如,每个人都有性别,身高,体重,而他们都在做不同的事情。这里的“事情”,其实就可以看成一个容器,只是每个人的内容不同罢了。(想想人类的意思,我想大家应该能懂的)
由此对应到python中的类来看,python中,每类都有自己的“属性”和方法,属性就是变量,方法则是函数。而这里的”属性“则不能具体,因为只有对象才有自己的属性。 估计说的有点绕,我们直接看实例:
1.python中类的定义为:
class 类名: .... 值得注意的是,这里的类名必须是大写字母开头,(为了和函数做区别)
2.下面,我们给人定义一个类,每个人都有,名字,性别,年龄,所以我们可以这样写:
class People:
def __init__(self,name,gender,age):
self.name=name
self.gender=gender
self.age=age
def behavior(self):
print("我的名字:{} 性别:{} 年龄:{}".format(self.name,self.gender,self.age))
p=People("小徐子","女",20)
p.behavior()
_init_是一种魔法方法,它的作用是初始化实例对象p,(self函数代表p)同时将参数(也就是属性)传到内部。
上面代码的运行结果是:
现在,不知道大家有没有对类由一个感性的认识了呢?
3.继承
类里面有一个很大的特点,就是能够继承父类。
继承的声明是:
class 类名(父类名):
``` ....
举个例子,上面只是对人与其他事物进行了一个分别,下面,我们对人进行细分:女人和男人。 很显然,不管是女人还是男人,都有人的特点,而女人又有自己独特的特点,比如:长头发(举个例子而已,大家不要细究),那么对女人这一类应该怎么样定义呢?
class Woman(People): def hair(self): print("我有长头发,我很美")
下面我来进行继承操作:
p=Woman("小徐子","女",20) p.behavior() p.hair()
输出结果如下:
![](https://pic1.zhimg.com/80/v2-88db2c36f918c3e4c63814195a7aac58_hd.jpg)
4.super方法
super之所以是super的原因,就在于他能够继承父类的初始化定义。举个例子:
class People: def init(self,name,gender,age): self.name=name self.gender=gender self.age=age def behavior(self): print("我的名字:{} 性别:{} 年龄:{}".format(self.name,self.gender,self.age)) class Woman(People): def init(self,name,gender,age,chair): super().init(name,gender,age)/super继承/ self.chair="长头发" def hair(self): print("我爱{}".format(self.name)) p=Woman("小徐子","女",18,"长头发") p.behavior() p.hair() ``` 输出如下:
码字有点累了,模块的知识以后再讲吧
全文结束,欢迎在评论区讨论~