Python面向对象编程及内置方法
在程序开发中,要设计一个类,通常需要满足以下三个要求:
【1】类名 这类事物的名字,满足大驼峰命名法
【2】属性 这类事物具有什么样的特征
【3】方法 这类事物具有什么样的行为
定义简单的类:
定义只包含方法的类:
当一个类定义完成之后,要使用这个类来创建对象,语法格式如下:
对象变量=类名()
需求:小猫爱吃鱼,小猫要喝水
不同打印格式:
哪一个对象调用的方法,self就是哪一个对象的引用
【1】基础概念
我们现在已经知道了使用 类名() 就可以创建一个对象
当使用类名()创建对象时,python的解释器会自动执行以下操作:
1.为对象在内存中分配空间–创建对象
2.调用初始化方法为对象的属性设置初始值–初始化方法()
这个初始化方法就是方法是对象的内置方法
方法是专门用来定义一个类具有哪些属性的方法
【2】实例演示
使用 类名() 创建对象的时候,会自动调用初始化方法
注:不推荐在类的外部给对象增加属性。如果在运行时,没有找到属性,程序会报错
【1】基础概念
在python中,当使用类名()创建对象时,为对象分配完空间后,自动调用方法
当一个对象被从内存中销毁后,会自动调用方法托福网络课程
【2】实例演示
【1】基础概念
在python中,使用python输出对象变量,
默认情况下,会输出这个变量引用的对象是由哪一个类创建的对象,
以及在内存中的地址(十六进制表示)
如果在开发中,希望使用print输出对象变量时,
能够打印自定义的内容,就可以利用str这个内置方法了
【2】实例演示
Python面向对象编程及内置方法的更多相关文章
- python面向对象 : 反射和内置方法
一. 反射 1. isinstance()和issubclass() isinstance( 对象名, 类名) : 判断对象所属关系,包括父类 (注:type(对象名) is 类名 : 判断对象所属 ...
- python 面向对象反射以及内置方法
一.反射 什么是反射:可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),python中一切皆对象,都可以使用放射. 反射的四种方法: hasattr:hasattr(objec ...
- python 面向对象 类的内置方法
判断是不是类cls的对象 class A: pass a = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A: pass class B(A) ...
- python面向对象--类的内置方法
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class B ...
- 铁乐学python_day24_面向对象进阶1_内置方法
铁乐学python_day24_面向对象进阶1_内置方法 题外话1: 学习方法[wwwh] what where why how 是什么,用在哪里,为什么,怎么用 学习到一个新知识点的时候,多问问上面 ...
- Python 数据类型常用的内置方法(三)
目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...
- Python 数据类型常用的内置方法(二)
目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...
- Python 数据类型常用的内置方法(一)
目录 Python 数据类型常用的内置方法 1.整型 int 2.浮点型 float 字符串转浮点型: 3.字符串 str 多种类型转字符型: 索引 切片 len( )方法:统计字符串长度/个数 移除 ...
- Python之路(第二十九篇) 面向对象进阶:内置方法补充、异常处理
一.__new__方法 __init__()是初始化方法,__new__()方法是构造方法,创建一个新的对象 实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法 __ ...
随机推荐
- python里面的==,is的区别
python中对象的三个要素:id(身份标示),type(数据类型).value(值) == 比较操作符:用来比较两个对象值是否相等. is 同一性运算符:比较两个对象的id值是否相等,即是否是同 ...
- 在Python中执行普通除法
如果希望Python只执行普通的除法,那么可以在程序前加上以下语句: 1 from _future_ import division 如果通过命令行(比如在Linux系统上)运行Python,可以使用 ...
- At 、Crontabl定时任务
之前笔者是在本地写的博客,然后用 windows 定时任务启动写的脚本上传到 Github 上,现在又遇到了 Linux 上的定时任务,项目还要用到 Quartz 定时任务框架 1. 一次性定时任务 ...
- SpringBoot自动装配-Condition
1. 简介 @Conditional注解在Spring4.0中引入,其主要作用就是判断条件是否满足,从而决定是否初始化并向容器注册Bean. 2. 定义 2.1 @Conditional @Condi ...
- 大数据学习(03)——HDFS的高可用
高可用架构图 先上一张搜索来的图. 如上图,HDFS的高可用其实就是NameNode的高可用. 上一篇里,SecondaryNameNode是NameNode单节点部署才会有的角色,它只帮助NameN ...
- Hyper-V下Internal vSwitch的配置和Linux虚拟机的SSH连接
最近工作中要在Windows Server 2016/Hyper-V 10中运行Ubuntu16实例,需要制作出"即插即用"的镜像文件,也就是安装好后即可从外部SSH进去.之前我使 ...
- 记录21.07.24 —— Vue的组件与路由
VUE组件 作用:复用性 创建组件的三种方式 第一种:使用extends搭配component方法 第二种:直接使用component方法 只有用vue声明且命名的才称之为创建组件 注意:templa ...
- ERROR: database "db" is being accessed by other users
执行DROP DATABASE testdb;的时候提示: ERROR: database "testdb" is being accessed by other users DE ...
- 工作中后端是如何将API提供出去的?swaggo很不错
工作中后端是如何将API提供出去的?swaggo很不错 咱们上一次简单分享了 GO 权限管理之 Casbin ,他一般指根据系统设置的安全规则或者安全策略 分享了权限管理是什么 Casbin 是什么 ...
- 『Java』StringBuilder类使用方法
String类存在的问题 String类的底层是一个被final修饰的byte[],不能改变. 为了解决以上问题,可以使用java.lang.StringBuilder类. StringBuilder ...