面向对象:一种基于面向过程的新的编程思想。也就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。

对象: 是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件 。对象具有行为和属性。

类:实际上是一群具有相同特性(数据元素)和行为(功能)的对象抽象就是类。因此,对象抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。 当引用类的代码时,会创建一个类的实例化对象;同一个类可以在内存中创建多个具有相同属性和行为的对象。

一、类的设计

在程序开发过程中,设计一个类,通常需要满足三个要求:

1、类名:这类事物的统称,命名满足大驼峰命名法(每一个单词首字母大写)

2、属性:这类事物具有的特征

3、方法:这类事物具有的行为

当一个类定义完成之后,要使用类来创建一个对象。语法格式为: 对象名 = 类名()

二、类中常见的内置方法

1、__init__方法:当使用类名() 创建对象时,python解释器会执行以下操作:

1)为对象分配内存空间 --- 创建对象

2)调用初始化方法为对象的属性设置初始值 --- 初始化方法(init)

这个初始化方法是对象的内置方法,专门用来定义类的属性。

2、__del__内置方法:在程序结束后,将一个对象的内存空间释放掉

3、__str__内置方法: 在python中,使用python输出对象变量,默认情况下,输出变量的引用对象是有哪一个类创建的,以及该对在内存中的十六进制的地址。如果希望使用print输出对象的描述信息,且能够打印自定义内容,可以使用str内置方法。

Python面向对象 --- 类的设计和常见的内置方法的更多相关文章

  1. python day21 ——面向对像-反射 getattr,内置方法

    一.反射:用字符串数据类型的变量名来访问这个变量的值 上代码^_^ # class Student: # ROLE = 'STUDENT' # @classmethod # def check_cou ...

  2. Python面向对象-类、实例的绑定属性、绑定方法和__slots__

    绑定属性 从之前的文章中,我们知道python是动态语言——实例可以绑定任意属性. 那如果实例绑定的属性和类的属性名一样的话,会是什么情况呢? >>> class Student(o ...

  3. 小白基础Python重要的字符串详解String的内置方法

    String的内置方法: st='hello world  {name} is {age}'  {}  特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...

  4. Python基础部分:10、数据类型的内置方法和字符编码

    目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...

  5. day31 反射,内置方法,元类

    目录 一.反射 1 什么是反射 2 如何实现反射 二.内置方法 1 什么是内置方法 2 为什么要用内置方法 3 如何使用内置方法 3.1 str 3.2 del 三.元类 1 什么是元类 2 clas ...

  6. Python 数据类型常用的内置方法(二)

    目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...

  7. Python之面向对象:类的内置方法

    1.def __add__(self,other): c1+c2 两个实例的加法操作就是执行__add__()方法 2.__str__(self): print一个实例的时候,执行的是__str__( ...

  8. python补充最常见的内置函数

    最常见的内置函数是: print("Hello World!") 数学运算 abs(-5)                         # 取绝对值,也就是5 round(2. ...

  9. Python之路(第二十五篇) 面向对象初级:反射、内置方法

    [TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它 ...

随机推荐

  1. hive union all使用注意

    UNION用于联合多个select语句的结果集,合并为一个独立的结果集,结果集去重. UNION ALL也是用于联合多个select语句的结果集.但是不能消除重复行.现在hive只支持UNION AL ...

  2. Elasticsearch、MongoDB、Hadoop适用场景

    如果你仅仅想要通过关键字和简单的分析,那么Elasticsearch可以完成任务: 如果你需要查询文档,并且包含更加复杂的分析过程,那么MongoDB相当适合: 如果你有一个海量的数据,需要大量不同的 ...

  3. Phred-scale quality scores的相关内容

    phred-scale quality score起源于人类基因组计划,最初是用来评估碱基质量分数,后来,被广泛的推广到基因领域的其他内容. phred-scalequality score表示这件事 ...

  4. 【Swift实现代码】iOS架构模式之MVP

    1.什么是MVP? MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 1.1 模型 (Model):负责处理数据的加载或存储 1.2 视 ...

  5. Job流程:提交MR-Job过程

    1.一个标准 MR-Job 的执行入口: //参数 true 表示检查并打印 Job 和 Task 的运行状况 System.exit(job.waitForCompletion(true) ? 0 ...

  6. [NOIP2017]时间复杂度

    题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序 ...

  7. LeetCode——Find Largest Value in Each Tree Row

    Question You need to find the largest value in each row of a binary tree. Example: Input: 1 / \ 3 2 ...

  8. spark(三)从hbase取数据

    前言 通过spark获取hbase数据的过程中,遇到了InputFormat.文章主要围绕InputFormat介绍.会牵扯到spark,mapreduce,hbase相关内容 InputFormat ...

  9. centos cgroup配置

    centOS 6:1. 启用cgroup    查看内核是否支持cgroup功能:cat /boot/config-`uname -r` | grep -i rt_group    查看支持的子系统: ...

  10. Spring Boot的自动配置的原理

    Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器. 1.1.1.   ...