我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python面向对象编程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python面向对象编程

 

面向对象最重要的概念就是类(Class)和实例(Instance),Java比较熟了,下面贴代码注释

 

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score
----------------------------------------------------
1、class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的
2、类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
3、 注意:特殊方法“__init__”前后分别有两个下划线!!!
4、注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
5、类中定义的函数和普通函数定义一样,def 定义 , 不过注意的是类中定义的函数的第一个参数必须为self,并且,调用时,不用传递该参数
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去: 示例: >>> bart = Student('Bart Simpson', 59) >>> bart.name 'Bart Simpson' >>> bart.score 59

 

普通类的定义和使用示例:

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def get_grade(self):
        if self.score >= 90:
            return 'A'
        elif self.score >= 60:
            return 'B'
        else:
            return 'C'



---------------------------------------------


lisa = Student('Lisa', 99)
bart = Student('Bart', 59)
print(lisa.name, lisa.get_grade())
print(bart.name, bart.get_grade())


>>>

Lisa A
Bart C

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

类变量的访问限制:

类似于Java , 发现4个变量 都设置为了private修饰符,而且对四个变量都进行了get和set操作,在之后对这个类的对象进行属性操作的时候都用getX和setX方法处理。

public class WorkDayState {
    private int state;          //工作状态   1、有方案  2.无方案
    private int day ;           //日期
    private int month;          //属于的月份
    private int year;           //属于的年份

    public WorkDayState(int year, int month, int day, int state) {
        this.year = year;
        this.month = month;
        this.day = day;
        this.state = state;
    }

    public int getState() {
        return state;
    }

    public void setState(int state) {
        this.state = state;
    }

    public int getDay() {
        return day;
    }

    public void setDay(int day) {
        this.day = day;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

}

 

从最开始的类的定义可以看到Python没有private 私有访问修饰符这种操作,要做到同样的效果 ,代码应该如下写法:

class Student(object):

    def __init__(self, name, score):
        self.__name = name
        self.__score = score

    def print_score(self):
        print('%s: %s' % (self.__name, self.__score))

    def get_name(self):
        return self.__name

    def get_score(self):
        return self.__score

    def set_score(self, score):
        self.__score = score

-----------------------------------------------------
以上对name和score变量进行了前面加了连个下划线__操作,

在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问

如果想访问私有变量,也不能直接对象.属性调用了,如上加了几个get 和 set方法

使用如下:
>>> bart = Student('Bart Simpson', 59)
>>> bart.get_name()
'Bart Simpson'

即可获取变量的值了

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

继承和多态

看了看,和Java没多大区别,不再记录了 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python面向对象编程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python面向对象编程

面向对象最重要的概念就是类(Class)和实例(Instance),Java比较熟了,下面贴代码注释 class Student(object): def __init__(self, name, score): sel
2023-01-30

Python-面向对象编程

面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板,比如人类、动物类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。以人类为例,创建一个实例为 xiaoming
2023-01-31

Python面向对象编程 一

一、类    面向对象是对函数进行分类和封装,其主要目的是提高程序的重复实用性,让开发更方便快捷。    在我们的认知中,我们会根据属性相近的东西归为一类。例如:鱼类,鱼类的共同属性是呼吸,卵生。任何一个鱼都在此鱼类基础上创建的。    定
2023-01-31

Python OOP 面向对象编程

参考:黑马程序员教程 - Python基础 面向对象OOP三大特性,且三个特性是有顺序的:封装继承多态封装指的就是把现实世界的事务,封装、抽象成编程里的对象,包括各种属性和方法。这个一般都很简单,不需要多讲。唯一要注意的就是:推荐从小往大开
2023-01-31

Python面向对象编程基础

面向对象编程是Python中的核心之一,面向对象的核心并不是概念,语法,使用有多么复杂,而是一种编程思想,并不是掌握了类创建与使用就真正掌握了面向对象编程,这需要在不断工作与练习中逐步提升;抛去代码,我们先来看现实世界的基本概念:类:我们最
2023-01-31

python面向对象编程小结

这个是跟着教程一步一步走过来的,所以记下自己学习的过程。一、类基础1、类的定义class <类名>:    <其他语句>class <类名>(父类名):    <其他语句>>>> class human:  ...     age=0 ..
2023-01-31

Python 面向对象编程详解

这篇文章主要介绍了Python 面向对象编程详解的相关资料,需要的朋友可以参考下
2022-12-30

【python】面向对象编程之@prop

@property装饰器作用:把一个方法变成属性调用使用@property可以实现将类方法转换为只读属性,同时可以自定义setter、getter、deleter方法 @property&@.setterclass Person(objec
2023-01-31

Python面向对象高级编程

1、__slots__Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性class Student(object): __slots__ = ('name', 'age')
2023-01-30

Python基础(六)——面向对象编程

这一部分难得和 Java 较为一致,直接写个例子:1 class Stu:2 def __init__(self, name, id): # 构造方法3 self.name = name4 self.
2023-01-31

Python 高级编程之面向对象

如果学过java的同学再来学习python面向对象就会感觉非常简单。所以本篇文章就让我带着大家来学习一下什么是面向对象编程。

PHP面向对象编程:面向事务编程

事务编程是一种设计模式,用于同时操作多个资源,如果任何操作失败,则自动回滚所有更改,确保数据一致性。在 php 中,使用 pdo 类进行事务编程,通过 pdo::begintransaction() 启动事务,pdo::commit() 提
PHP面向对象编程:面向事务编程
2024-05-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录