本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。
若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)
有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~
喜欢内容欢迎关注我、评论、点赞、收藏,这对我很重要,谢谢~
作者名:1_bit
简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。
博客地址:https://i1bit.blog.csdn.net
🐰小C:这一节我们学习面向对象的内容。
👸小媛:我没有对象怎么去面向着我的对象去编程呀,你是不是故意的?
🐰小C:面向对象是编程的一个概念,你在想什么?
👸小媛:你意思说代码都有对象了而我却没有?故意的是嘛。
🐰小C:我…所以你到底学不学?
👸小媛:学学学,赶紧的,我要吃代码狗粮。
🐰小C:面向对象其实很简单,你可以理解为是一一个类别。例如你玩游戏,里面很多 npc,其实这些 npc 人物都有类似的属性,都有头发、眼睛、鼻子、身高、性别这些属性,但是我们创建这些对象每次并不需要每次去敲击代码为每一个去创建,我们只需要创建一个具体的类型,每次使用这个类型就可以了。
👸小媛:听懂了一点,但是又没完全懂,你还是用实例说明吧。
🐰小C:创建一个类需要用一个关键字 class,然后后面是一个名称,最后使用冒号表示结束。
class Human:
👸小媛:然后呢?
🐰小C:然后我们在这个类型里面可以创建一些变量,这些变量就是这个类型的属性。在这里我们创建的这个类叫做 Human,是用来描述人的这一个类,人具有姓名、年龄、性别、身高等属性,我们可以在这个类中创建:
class Human:
name="未命名"
age=18
height=170
sex="男"
👸小媛:这样就创建3个属性了吗?
🐰小C:是的,这样的话只要我们使用这个类型去创建具体的对象,例如小明、小红,这样就可以不用打太多的代码,直接创建这个类别的对象就可以直接拥有这些属性。
👸小媛:怎么做呢?
🐰小C:很简单,你看下面代码,就是创建一个具体类型。
xiaoming=Human()
👸小媛:直接使用类型名一个圆括号?跟函数一样?
🐰小C:对的,这就是创建。
👸小媛:创建好后直接给 xiaoming 这样就创建了一个具体类型了?
🐰小C:是的,但是这样并不能很好的表现类和对象,我们可以创建一个类方法,就是说这个类有什么功能,你看下面类里面的代码。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self):
print("hello")
👸小媛:咦?我看类里面有一个函数,这个函数有一个参数是self,这是啥?
🐰小C:self 的意思是指向当前对象本身,在类里面的函数都需要使用这个 self,但这个self 并不需要传参数,因为 self 表示当前这个函数属于这个类。
👸小媛:没明白。
🐰小C:那我们添加一个新参数吧。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
👸小媛:这样的话就可以传递一个参数,这个参数就是函数里面 print 显示的内容。
🐰小C:是的,我给你看看这个函数怎么用吧。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
xiaoming=Human()
xiaoming.say("Hello")
👸小媛:直接用个小数点就可以使用这个函数?而且前面不是有一个self 的,怎么不用传参?
🐰小C:因为刚刚我说过,self 是表示这个函数指向当前类,不需要传参,你就当做不存在就可以了。然后小数点你可以理解成“的”意思,也就是说,使用创建的这个对象 xiaoming 的 say 方法,这样就可以使用了。
👸小媛:哈哈哈,解决了,我直接出现结果了。
🐰小C:哈哈哈,可以吧?那我们再创建几个方法。
class Human:
name="未命名"
age=18
height=170
sex="男"
def say(self,say_str):
print(say_str)
def myname(self):
print(self.name)
def myage(self):
print(self.age)
def myheight(self):
print(self.height)
def mysex(self):
print(self.sex)
xiaoming=Human()
xiaoming.myname()
xiaoming.myage()
xiaoming.myheight()
xiaoming.mysex()
👸小媛:这些方法中的代码例如 self.sex 是啥意思?
🐰小C:意思就是,self 是指当前对象本身,然后 self.sex 就是获取到当前对象本身的 sex 变量,这个时候就直接显示就可以了。
👸小媛:哈哈哈,解决了。
🐰小C:下一节我们再详细的讲解一下类吧。
👸小媛:哈哈哈,好勒。