Python 基础语法学习(第一讲)---类的使用

【写在前面】:其实自学python有一段时间了,但是一直没想起来要写博客来记录自己的学习,今天才感觉要写点什么让自己学的更扎实一点,所以从今天开始更新python自学系列,希望看见文章的大佬们可以指点自己的不足,因为本人也学过部分java和c++,所以在更新这块部分的内容的时候会把它与java或者c++做类比。今天开始先更新python基础语法学习之类的使用,之前学的语法会在后面一一更新,敬请期待。(声明:这里用到的图片,都是风变编程提供,在此鸣谢,也希望大家如果有机会可以考虑去风变编程学一下python)

类与对象

类是什么,顾名思义,像我们生活中的电脑、猫类、狗类、防晒霜类、短袖类等等,他是有一些共有属性和行为的东西的总和。而对象就是类的实例化;像你、我、你对象(扎心了),这些都是个活生生的人,是个个体,所以他们是一个实例化的例子,是人这个类的一个例子,所以他们是对象。而同时,类也是对象,他是类对象的一种实例化。这里如果学过java的朋友就应该能很好的理解了,万物皆可对象化,说的就是这个道理。

类的创建和使用

python的类创建就比较简单粗暴了,他的创建方法如下图所示:

Python 基础语法学习(第一讲)---类的使用_第1张图片

然后实例化的话就更简单粗暴了(直接上图)

Python 基础语法学习(第一讲)---类的使用_第2张图片

用一个代码来具体解释一下可能会更清楚:

class  Chinese:
    eyes = '黑眼睛'
    
    def eat(self):
        print('吃饭,用筷子')

#类的实例化
chinese = Chinese()
print(chinese.eyes)
chinese.eat()

self关键字

可以看到上面的代码中有一个self作为了eat的参数,那这个self是什么呢?初学者的话(这里是指没有学过任何编程语言的人)可以这样理解:self就是这个类,他自己内部有一个实例化的例子,名字就叫self。当你在写别的方法时如果需要调用你写的别的方法的时候(因为调用方法的话必须就要:对象名.方法名())才行。但是你写例子的时候你又不知道你将来会产生什么对象。这个时候self就来帮忙了,他会说:先用我吧,我帮你的忙。所以你就可以self.方法名()就可以在你写的这个类里调用你写的实例化方法了。如果是学过java的同学,我就一句话:这玩意就是this。

特殊方法:初始化方法(你可以理解为构造方法(或者c++叫构造函数))

语法:def __init__(self):,是由init加左右两边的【双】下划线组成( initialize “初始化”的缩写)

这里做个解释:初学者可以这样理解,这个初始化方法顾名思义,你的对象生出来之后都要去初始化。啊,就像是每个出生的孩子都要被医生打打屁股哭一下一样,对象也是这样的(只不过不是被打屁屁哈)。每个对象他产生出来后会自动去执行初始化方法,所以你可以在初始化方法中初始化你这个类的属性。比如说你定义的中国人的类,你就可以在初始化方法中将眼睛初始化为黑眼睛,将皮肤初始化为黄皮肤。至于学过语言的同学们,就构造函数就完事,只有一个self的就是无参构造函数,有好多个参数的就是有参构造函数。

这里需要注意:如果你写了有参数的初始化方法(这里指的不是只有self),那么你的实例化例子中就一定要给参数的,他不会自己去执行没有参数的初始化方法的(编辑器都比较懒)。如果不写的话就会报错,就像下面这样:

Python 基础语法学习(第一讲)---类的使用_第3张图片

这里放个代码体会一下无参的:

class Chinese:
    def __init__ (self):
        self.mouth = 1  # self.不能丢
        self.eye = 2
    
    def body(self):
        print('我有%s张嘴巴' % self.mouth)
        print('我有%s只眼睛' % self.eye)

person = Chinese()
person.body()

下面是有参的:

class Chinese:

    def __init__(self, name, birth, region)
        self.name = name   # self.name = '吴枫' 
        self.birth = birth  # self.birth = '广东'
        self.region = region  # self.region = '深圳'

    def born(self):
        print(self.name + '出生在' + self.birth)

    def live(self):
        print(self.name + '居住在' + self.region)    

person = Chinese('吴枫','广东','深圳') # 传入初始化方法的参数,一定要写参数啊啊啊啊啊啊啊啊啊啊
person.born()
person.live()

面向对象编程

话不多说直接上图(其实是懒得解释了)

Python 基础语法学习(第一讲)---类的使用_第4张图片

【写在后面】今天的总结就到这里,有什么不清楚的地方欢迎下方留言评论,再次感谢风变编程。博主还是个学生,可能不太有时间会每天更新博客,但是有时间我就会更的(立个flag)!

你可能感兴趣的:(python基础语法)