栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python面向对象之类和对象的创建

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python面向对象之类和对象的创建

        Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。

         如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程。

面向对象的由来:

60年代中期的软件危机

  1. 落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列问题的现象
  2. 软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用。

面向对象的优点:

  1. 一种全新的组织代码的方式
  2. 更加符合人类的思维习惯
类定义
class Person:
    def __init__(self, name, sex, job,age):
        self.name = name        # 创建属性并赋值
        self.sex = sex            # self.name 和name 的从属范围是不一样的
        self.job = job
        self.age = age
    #共有行为
    def performs(self):
        # self可以调用当前对象的属性和方法
        print(self.name + "正在表演拿手好戏")
    def fight(self, other):
        pass

        使用变量name,sex,job存储数据域,表示状态和属性。为了便于理解,可以把self翻译成自己,后面的点翻译成的。比如自己的名字是name。接下来有定义了两个函数,在类中称为类的方法,用来定义对象的行为或动作。 强调一下,类的属性和方法的选取是根据实际的应用需要而选取的。

创建对象

        类会提供一种特殊的方法:__init__,被称为初始化程序,它在创建和初始化这个新对象时被调用。一旦定义了类,就可以使用构造方法由类来创建对象person = Person(“小鱼儿”,“男”,“侠客”)。这相当于我们使用了构造方法在内存中创建了对象,这个对象包含了name,sex等数据域(变量)。这时,就会自动调用__init__(sels, ....)初始化对象,self参数自动引用刚创建的对象。然后创建的对象person就指向了内存空间的地址。

绘制类图  

        在编写程序时,首先需要对程序进行设计,因此在设计面向对象的程序之前,往往需要借助软件绘制类图,以便我们更好的理清思路,方便我们编写代码。类图中,-号表示属性,+号表示方法。每个属性都有对应的数据类型,每个方法都有对应的参数和返回值。这里我向大家推荐一下类图绘制工具-----Astah UML,可自行百度下载。

        下面是在Pycharm中的代码展示

class Actor:
    def __init__(self, name, sex, job, age):
        self.name = name   # 创建属性并赋值
        self.sex = sex     # self.name 和name 的从属范围是不一样的
        self.job = job
        self.age = age

    def performs(self):
        # self可以调用当前对象的属性和方法
        print(self.name + "正在表演拿手好戏")
    def action(self):
        # self可以调用当前对象的属性和方法
        print(self.name + "正在练习功法")
    def fight(self, other):
        pass

if __name__=='__main__':
    actor1 = Actor("佟湘玉", "女", "掌柜的", "21")
    print("姓名:" + actor1.name)
    print("性别:" + actor1.sex)
    print("职业:" + actor1.job)
    print("年龄:" + actor1.age)
    actor1.performs()
    actor2 = Actor("小鱼儿", "男", "侠客", "20")
    print("姓名:" + actor2.name)
    print("性别:" + actor2.sex)
    print("职业:" + actor2.job)
    print("年龄:" + actor2.age)
    actor2.action()
D:Anaconda3envsPyTorchpython.exe "E:/pycharm project/actor.py"
姓名:佟湘玉
性别:女
职业:掌柜的
年龄:21
佟湘玉正在表演拿手好戏
姓名:小鱼儿
性别:男
职业:侠客
年龄:20
小鱼儿正在练习功法

Process finished with exit code 0

   

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号