Python 之 面向对象(一)
一、dir内置函数
- 在标识符/数据后输入一个.,然后按下TAB键,ipython会 提示该对象能够调用的方法列表
- 使用内置函数dir传入标识符/数据后,可以查看对象内所有的属性及方法
#查看注释
demo.__doc_
二、类
1、定义
类名 大驼峰命名法
2、创建
对象变量= 类名()
3、self参数(哪一个对象调用方法,self就是哪一个对象的引用 类似于this)
(1)、增加属性
#在类的外部代码中直接通过.设置一个属性即可
tom.name = "Tom"
(2)、 调用属性
- self.访问对象的属性
- self.调用其他的对象方法
(PS 这种在外部赋值属性的方法 不建议使用哦)
(3)初始化方法
使用类名创建对象时会自动调用初始化方法__init()__
示例:
(4)内置方法
- __del__方法
- del 对象(可以删除一个对象) 若不主动del 则对象在执行完所有代码后进行del
- __str__方法
- 输出对象 时输出的内容(必须是字符串)
- PS(Python中一对括号内可以在换行时自动帮连接)
4、身份运算符
比较两个对象的内存地址是否一致 --- 是否对 同一个对象的引用
在Python中针对None比较时,建议使用is判断
- is 类似 id(x) == id(y)
- is not 类似 id(x) == id(y)
三、私有属性与方法
1、定义方法
在定义属性和方法时,在属性名和方法名前加两个下划线,定义的就是私有属性或方法
2、伪私有属性和私有方法
Python并没有真正意义的私有
其实只是给名称做了一些特殊处理,使得外界无法访问到
处理的方式:在名称前面加上 _类名 即 _类名__名称
Python 之 面向对象(一)的更多相关文章
- python基础——面向对象编程
python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- Python的面向对象3
接下来,我们接着讲Python的面向对象,在上一次的博客中,我们详细介绍了类与对象的属性,今天,我们来详细介绍一下面向对象中的方法! 1.定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外 ...
- Python的面向对象2
我们接着讲解Python的面向对象 1.初始化实例属性 在现实生活中,一种类型的实例会具有相同的某些属性,把这些实例划分为一个类型,则这些实例必然有相似的部分.但是,在创建实例之后,我们一个一个的为实 ...
- Python的面向对象1
今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++ ,Java ,PHP中也有大量使用! 好了,我们来步入正题! 那什么是面向对象编程呢? 1. 面向对象编程是一种程序设计 ...
- My way to Python - Day05 - 面向对象-思维导图
My way to Python - Day05 - 面向对象 思维导图
- Python进阶---面向对象的程序设计思想
Python的面向对象 一.面向过程与面向对象的对比 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
- Python之面向对象一
引子 小游戏:人狗大战 角色:人和狗 角色属性:姓名,血量,战斗力和性别(种类) 技能:打/咬 用函数实现人打狗和狗咬人的情形 def Dog(name,blood,aggr,kind): dog = ...
- python基础——面向对象进阶下
python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...
- python基础——面向对象进阶
python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...
- python基础——面向对象的程序设计
python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...
随机推荐
- drf04 drf视图类
REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写. 1.2个视图基类 1.1. APIView rest_framework.views.APIView APIView ...
- C# 发起Get和Post请求
public class ApiHelper { //contentType application/json or application/xml public string HttpGet(str ...
- STL源码分析之第一级配置器
前言 上一节我们分析了空间配置器对new的配置, 而STL将空间配置器分为了两级, 第一级是直接调用malloc分配空间, 调用free释放空间, 第二级三就是建立一个内存池, 小于128字节的申请都 ...
- linux -- 扩容 /home 空间( xfs文件系统分区扩容指定挂载点)
问题: /home空间容量不够使用,扩容卷组,扩容挂载点 方法: 1. 确认有可用的物理磁盘 fdisk -l -- 查看磁盘信息 df -h -- 查看当前挂载信息 vgs -- 查看当前卷组信息 ...
- Q&A to prepare interview of HSBC
1.How do you keep updating lastest IT knowledge? 1).keep an eye on current project technology evetho ...
- 单元测试,我在公司Web团队的分享
一.单元测试的意义 1.质量 2.效率 (短期和长远都值得)写单元测试代码,总的来说其实是更节省开发时间,更保证质量的.Controller.Service.Dao其实都可以进行测试. 通过启动 To ...
- 用户命令行方式连MYSQL数据库
现在是手工入门,就不太依赖IDE,使用MYSQL的JDBC的JAR包连数据库的方式如下: 演示文件内容: package cc.openhome; import java.sql.*; public ...
- redis-快照
rdb模式,默认模式 aof模式 如何配置aof模式 第一步:开启是否追加: Please check http://redis.io/topics/persistence for more info ...
- 洛谷——P1002 过河卒||codevs——T1010 过河卒
https://www.luogu.org/problem/show?pid=1002#sub||http://codevs.cn/problem/1010/ 题目描述 棋盘上A点有一个过河卒,需要走 ...
- 洛谷 P2534 [AHOI2012]铁盘整理
P2534 [AHOI2012]铁盘整理 题目描述 输入输出格式 输入格式: 共两行.第一行为铁盘个数N(1<=N<=50),第二行为N个不同的正整数,分别为从上到下的铁盘的半径R.(1& ...