国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > Python之初识类与对象

Python之初识类与对象

头像

爱喝马黛茶的安东尼

2019-07-02 13:39:213030浏览 · 0收藏 · 0评论

类的概念与定义

在生活中,我们走在路边,看到一辆车,大脑中首先想到的是“这是一辆车,然后才是这是一辆什么牌子的车”,在这里,我们就用到了编程中的类的概念。同样的,看到一条小狗,也会先想到这是一条狗,然后会想到这是一条什么品种的狗。在编程中,把同一类的事物叫做类,把这个类里所共有的特征总结归纳并定义出来,就是类的属性;把这个类能会做什么事,能做什么事总结归纳并定义出来就是类的技能。

举个例子:

我想定义一个人的类,在python里面要怎么实现呢?

首先,我们会想到人都有什么共同的特征呢?人都有两只眼睛,都有两条腿,等等这些是每个人都有的自己的特征,

其次,每个人还都拥有自己的独有特征,每个人的姓名都不是一样的,每个人还都有自己的年龄,自己的性别,自己的学历等等这些是每个人的独有特征。

最后,人都有的技能还包括吃饭,睡觉,行走,学习等,这些是人都具有的技能。

那个现在我们这可以定义人的类,具体实现代码如下:

class Person:
    """class是定义类的关键字,class后面的P erson是类的名字,python解释器会把class这个关键字后面的名称设定为类的名字,
    类的名字默认首字母大写。"""
    #定义每个人都有两个眼睛
    eye=2
    #定义每个人都有两条腿
    leg=2
    def __init__(self,name,age,sex,education):
        """定义每个人的独有的特征,此处定义每个人都有自己的姓名,年龄,性别和学历"""
        self.name=name
        self.age=age
        self.sex=sex
        self.education=education
    def eat(self):
        #定义人都有的吃饭的技能
        print("%s is eating food"%self.name)
        
    def walk(self):
        #定义人都有的行走的技能
        print("%s is walking slow"%self.name)
        
    def study(self):
        #定义人都有的学习的技能
        print("%s is studying hard"%self.name)

执行上面的代码,python解释器会在内存中开辟出一块内存空间,用来保存类中定义的人类的特征和技能。

在上面的代码里,定义人类共有的特征时,相当于在人这个类的名称空间中定义了两个变量,定义人独有的特征时,相当于是在人类的名称空间里,声明了一个名叫“初始化”的函数,在函数中存放代表了每个人独有的特征的变量。

而接下来的三个函数则用来表示每个人都会做的动作,python解释器同样会为这三个函数在存放人类的名称空间的内存中开辟三块区域用来存放这三个函数(也可以称之为人类共有的技能。

相关推荐:《Python视频教程

对象的概念与定义

在编程的世界里,定义出一个类之后,我们就可以用这个类生成一个个的人,这个过程我们也称之为类的实例化,生成之后的人我们则称之为对象。

现在我想用上面的程序实例化出两个人,要怎样实现呢??

person1=Person("jack",22,"male","college")
person2=Person("lily",18,"female","middle school")

这样我们就实例化出两个人:

第一个人名字叫jack,22岁,性别为男,大学学历,

第二个个名字叫lily,18岁,性别为女,中学学历。

对象的使用

现在我们已经创建出了两个人,现在可以调用这两个人的特征和技能了

比如,我想知道person1的特征,可以使用如下方法:

print(person1.name)         #查看person1的名字,输出为:jack
print(person1.age)          #查看person1的年龄,输出为:22
print(person1.sex)          #查看person1的性别,输出为:male
print(person1.education)    #查看person1的学历,输出为:college

查看person1的技能时:

person1.walk()      #调用person1的行走的技能
    会打印:jack is walking slow
person1.eat()       #调用person1的吃饭的技能
    会打印:jack is eating food
person1.study()     #调用person1的学习的技能
    会打印:jack is studying hard

查看person2的特征和技能时使用同样的方法

类与对象的对比分析

print(Person.eat,person1.eat,person2.eat)

执行结果如下:

<function Person.eat at 0x0000000002951BF8>
<bound method Person.eat of <__main__.Person object at 0x000000000295D240>
<bound method Person.eat of <__main__.Person object at 0x000000000295D278>>

分别调用类的吃饭的方法,以及person1和person2的吃饭的方法,可以看到它们的内存地址都不一样,同样的,调用他们的其他的走路和学习的方法,它们各自的内存空间也都不一样,这充分说明了它们在内存中是各自开辟了一段自己的独有的内存空间。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

快一点慢一点上一点下一点歌曲| A片| 白丝女| 18岁的少女与狗高清电视剧| 白丝袜精华液抹在脚上的功效| 荷兰日B赛现场视频| 女人被狂躁到高潮20次| 男生将78申请女生的定眼| 雨后的故事| 肉丸子影院免费观看电视剧| 9.1芒果浏览器| 公交车被上高湖了还能坐吗小说| 苍老师《荷尔蒙》| 巜强壮的公2做爰观看| 二人生猴子全程免费| 成色18K1.220.38软件| 真人做爰高潮30分钟| 校花被房东C得合不拢腿H男男| 优酷网| 《朋友的妈妈2》中字头歌词| 他用舌头给我6次高潮| 美国式的家庭忌讳1-4| 《互换人妻HD中字》| 打扑克的全程视频| 天美麻花星空高清MV播放音乐 | 白丝脚上的浓浓的精华波能用吗| 美女的胸怀| 1-46集电视剧免费观看 | 猛烈顶弄H禁欲医生H怀孕| 意大利人妻伦换| 少女吃春晚药第1集免费观看| 闺蜜老公把我压在怀里| 十大禁片| 少女たちよ观看免费高清电视剧| 老公弄我一边干一边说粗话视频| 单亲妈妈韩剧在线观看全集 | 欧美精品| 口咬的10个绝招图片| 成人网站| 《湿点》未增减板相似| 少女配狗视频大全播放