Python 基础语法学习---类的使用

类与对象

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

类的创建和使用

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

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

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

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),那么你的实例化例子中就一定要给参数的,他不会自己去执行没有参数的初始化方法的(编辑器都比较懒)。如果不写的话就会报错,就像下面这样:

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

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()
面向对象编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值