03 python 对象笔记
类的命名方法
1.使用大驼峰命名法:每一个单词的首字母大写(第一个的也要)
2.单词之间不需要下划线
对象的内置函数和属性
1.使用dir()函数来获取对象的内置方法和属性。返回值是一个列表。
2.返回中的__方法名__代表该对象的内置方法和属性
类的定义
class 类名:
#与java不同的是,java 的类名后面有括号,python的没有
类中的方法
1.类中的方法默认参数为self,即类自身
2.类汇中的方法若想访问类中的变量,使用self.变量名 即可(java中是this)
通过对象给自身添加新的属性
对象名.新属性=属性值
添加的属性不会再类中,不会影响到同类下的其它对象
类的构造方法-无参
def __init__(self):
#这里可以对初始化方法进行编辑,如
self.name = "tom"# 为这个类的每一个对象创建一个值为“tom”的属性
类的构造方法-有参
class Human:
def __init__(self,new_name):
self.name=new_name
对象的销毁方法__del__
对象在被销毁时(从内存中)会自动调用此对象,若不适用del <对象名>方法删除对象,则对象将在程序执行完后被销毁
class Human:
def __del__(self):
print("%s对象被销毁了!" % self.name)
对象的__str__方法
类似于java中的toString方法,__str__方法在python中起到同样的作用
默认的__str__方法返回’包含该对象所在的类以及在内存中的地址‘的字符串
可在类中对此方法进行修改,但必须返回一个字符串
def __str__(self):
return "我的名字是%s" % self.name的
类的私有属性和私有方法
类的私有属性和方法不能被调用,它仅在类的内部被使用。
class Women:
def __init__(self,name,age):
self.name=name
self.__age=age # 私有属性和方法的定义方法就是在名称前加两个下划线 def secret(self):
print("%s的年龄是%d" % (self.name,self.__age))# 私有属性和方法可以在内部调用 xiaofang = Women("小芳",18)
xiaofang.secret()
输出结果:
E:\python3\python3.exe F:/PycharmProjects/project3-class/xh_09_私有属性和方法.py
小芳的年龄是18
如果在外部尝试调用私有属性
age = xiaofang.__age
则报错:
Traceback (most recent call last):
File "F:/PycharmProjects/project3-class/xh_09_私有属性和方法.py", line 11, in <module>
age = xiaofang.__age
AttributeError: 'Women' object has no attribute '__age'
私有方法同理不再累述。
如何强制调用私有方法?
使用 对象._类名__属性或方法名 可以强制调用方法,但开发中不适用此方法,强烈不推荐。
age = xiaofang._Women__age
杂七杂八
%d输出十进制数字
%x输出十六进制
03 python 对象笔记的更多相关文章
- 03 python学习笔记-文件操作(三)
本文内容主要包括以下方面: 1. 文件操作基本认识2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 文件的修改 一.文 ...
- Python学习笔记_Python对象
Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...
- Python学习笔记之类与对象
这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...
- Python入门笔记(5):对象
一.学习目录 1.pyhton对象 2.python类型 3.类型操作符与内建函数 4.类型工厂函数 5.不支持类型 二.思考 1.Python解释执行原理? 2.Python对象机制? 3.Pyth ...
- python学习笔记:python对象
一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记,day5
Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...
- Python机器学习笔记:使用Keras进行回归预测
Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow.是一个高度模块化的神经网络库,支持CPU和GPU. 本文学习的目的是学习如何加载CSV文件并使其可供Keras使用,如何 ...
- Python机器学习笔记:sklearn库的学习
网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...
随机推荐
- vue+vue-resource设置请求头(带上token)
前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...
- 第十七周助教工作总结——NWNU李泓毅
助教博客链接:https://www.cnblogs.com/NWNU-LHY/ 本次作业的要求:软件测试与ALPHA冲刺:https://www.cnblogs.com/nwnu-daizh/p/1 ...
- intellij idea tomcat 启动不生成war包
intellij idea tomcat 启动不生成war包 想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Str ...
- 多层If语句 和 表格驱动 的对比
网文提到表格驱动,总喜欢拿一层if做例子,然而这样未免也太简单. 下文是三层缩进的if和表驱动比较,大家可自行判断优劣. 业务是这样的,某景点分旺季票价和淡季票价,淡季票为旺季的一半,15岁以下孩子再 ...
- IDEA一些自动补全方式
第一种:系统自带:可以CTRL + j 可以查看 psvm 也就是public static void main的首字母. 依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自 ...
- SpringCloud-Eureka配置instanceId显示IP
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: preferIpAddress: tr ...
- mac php7.2 安装mcrypt扩展
安装: brew install libmcrypt 下载mcrypt扩展源码 http://pecl.php.net/package/mcrypt 解压后 进入目录: phpize ./config ...
- 教你玩转Linux—用户账号的管理
用户账号的管理工作主要涉及到用户账号的添加.修改和删除.添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1.添 ...
- 算法习题---5.1大理石在哪(UVa10474)
一:题目 现有N个大理石,每个大理石上写了一个非负整数.首先把各数从小到大排序,然后回答Q个问题.每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x.排序后的大理石从左到右编 ...
- Qt编写数据可视化大屏界面电子看板13-基础版
一.前言 之前发布的Qt编写的可视化大屏电子看板系统,很多开发者比较感兴趣,也收到了很多反馈意见,纵观市面上的大屏系统,基本上都是B/S结构的web版本,需要在后台进行自定义配置模块,绑定数据源等,其 ...