IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python面向对象之类和对象的创建 -> 正文阅读

[Python知识库]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:\Anaconda3\envs\PyTorch\python.exe "E:/pycharm project/actor.py"
姓名:佟湘玉
性别:女
职业:掌柜的
年龄:21
佟湘玉正在表演拿手好戏
姓名:小鱼儿
性别:男
职业:侠客
年龄:20
小鱼儿正在练习功法

Process finished with exit code 0

? ?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:14:15  更:2021-10-09 16:15:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:51:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码