Python面向对象 --- 类的设计和常见的内置方法
面向对象:一种基于面向过程的新的编程思想。也就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节;这种思想是将数据作为第一位,而方法或者说是算法作为其次,这是对数据一种优化,操作起来更加的方便,简化了过程。
对象: 是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件 。对象具有行为和属性。
类:实际上是一群具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。 当引用类的代码时,会创建一个类的实例化对象;同一个类可以在内存中创建多个具有相同属性和行为的对象。
一、类的设计
在程序开发过程中,设计一个类,通常需要满足三个要求:
1、类名:这类事物的统称,命名满足大驼峰命名法(每一个单词首字母大写)
2、属性:这类事物具有的特征
3、方法:这类事物具有的行为
当一个类定义完成之后,要使用类来创建一个对象。语法格式为: 对象名 = 类名()
二、类中常见的内置方法
1、__init__方法:当使用类名() 创建对象时,python解释器会执行以下操作:
1)为对象分配内存空间 --- 创建对象
2)调用初始化方法为对象的属性设置初始值 --- 初始化方法(init)
这个初始化方法是对象的内置方法,专门用来定义类的属性。
2、__del__内置方法:在程序结束后,将一个对象的内存空间释放掉
3、__str__内置方法: 在python中,使用python输出对象变量,默认情况下,输出变量的引用对象是有哪一个类创建的,以及该对在内存中的十六进制的地址。如果希望使用print输出对象的描述信息,且能够打印自定义内容,可以使用str内置方法。
Python面向对象 --- 类的设计和常见的内置方法的更多相关文章
- python day21 ——面向对像-反射 getattr,内置方法
一.反射:用字符串数据类型的变量名来访问这个变量的值 上代码^_^ # class Student: # ROLE = 'STUDENT' # @classmethod # def check_cou ...
- Python面向对象-类、实例的绑定属性、绑定方法和__slots__
绑定属性 从之前的文章中,我们知道python是动态语言——实例可以绑定任意属性. 那如果实例绑定的属性和类的属性名一样的话,会是什么情况呢? >>> class Student(o ...
- 小白基础Python重要的字符串详解String的内置方法
String的内置方法: st='hello world {name} is {age}' {} 特殊内容需要识别format print(st.count('1')) 统计元素个数 print ...
- Python基础部分:10、数据类型的内置方法和字符编码
目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...
- day31 反射,内置方法,元类
目录 一.反射 1 什么是反射 2 如何实现反射 二.内置方法 1 什么是内置方法 2 为什么要用内置方法 3 如何使用内置方法 3.1 str 3.2 del 三.元类 1 什么是元类 2 clas ...
- Python 数据类型常用的内置方法(二)
目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...
- Python之面向对象:类的内置方法
1.def __add__(self,other): c1+c2 两个实例的加法操作就是执行__add__()方法 2.__str__(self): print一个实例的时候,执行的是__str__( ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- Python之路(第二十五篇) 面向对象初级:反射、内置方法
[TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它 ...
随机推荐
- JS正则表达式从入门到入土(3)—— 范围类
范围类 在使用正则表达式时,很多时候,我们会想要匹配a~z的所有字母,很多人想到,可以使用字符类[abcdefg...z],但是,这种方法需要输入所有需要匹配的字母.那么,有没有简单点的方法呢? 所幸 ...
- Zstack中任务,事件,消息之间的关系
Zstack是Zigbee协议的具体实现,在实现的过程中为了能够更好的对各个模块和功能进行管理,所以加入了OSAL(Operating System Abstraction Layer 操作系统抽象层 ...
- localAddress
$(function(){ <% out.println("/** ip:"+request.getLocalAddr()+"("+request.get ...
- 4.9版本的linux内核中温度传感器adt7461的驱动源码在哪里
答:drivers/hwmon/lm90.c,这个文件中支持了好多芯片,内核配置项为CONFIG_SENSORS_LM90 Location: -> Device Drivers -> H ...
- 配置ssh秘钥登陆
环境2台linux服务器:node1 192.168.X.234 node2 192.168.X.242 演示用node1无密码登陆node ...
- Elasticsearch之IKAnalyzer的过滤停止词
它在哪里呢? 非常重要! [hadoop@HadoopMaster custom]$ pwd/home/hadoop/app/elasticsearch-2.4.3/plugins/ik/config ...
- 【bzoj1369】[Baltic2003]Gem(树形dp+结论)
题目传送门:bzoj1369 这题其实有个结论:节点数为n的树,对其染色使相邻节点颜色不同,且总颜色权值最小,所需的颜色数量是$ O(\log n) $的. 所以我们就可以愉快的dp了:$ f[i][ ...
- Nodejs V8引擎 fast property lookup
前言 之所以会研究这个东西,是我在网上找了一下各个语言的执行效率比较.好吧,我承认这是个无聊的东西,不过看看总是无妨,然而我惊讶的发现,有些测试声称Java,C,Nodejs是处在同一个效率级别参见链 ...
- nginx 开启rewrite thinkcmf
server{ ... 省略 location / { index index.php index.html index.htm; #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则 if ...
- JavaScript权威指南--语句
知识要点 在javascript中,表达式是短语,那么语句(statement)就是整句或命令.表达式计算出一个值,但语句用来执行以使某件事发生. 1.表达式语句 具有副作用的表达式是JavaScri ...