类的命名方法

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 对象笔记的更多相关文章

  1. 03 python学习笔记-文件操作(三)

    本文内容主要包括以下方面: 1. 文件操作基本认识2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 文件的修改 一.文 ...

  2. Python学习笔记_Python对象

    Python学习笔记_Python对象 Python对象 标准类型 其它内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比較 对象身份比較 布尔类型 ...

  3. Python学习笔记之类与对象

    这篇文章介绍有关 Python 类中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中类的使用技巧 1.与类和对象相关的内置方法 issubclass(class, classinfo) ...

  4. Python入门笔记(5):对象

    一.学习目录 1.pyhton对象 2.python类型 3.类型操作符与内建函数 4.类型工厂函数 5.不支持类型 二.思考 1.Python解释执行原理? 2.Python对象机制? 3.Pyth ...

  5. python学习笔记:python对象

    一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...

  6. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  7. Python学习笔记,day5

    Python学习笔记,day5 一.time & datetime模块 import本质为将要导入的模块,先解释一遍 #_*_coding:utf-8_*_ __author__ = 'Ale ...

  8. Python机器学习笔记:使用Keras进行回归预测

    Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow.是一个高度模块化的神经网络库,支持CPU和GPU. 本文学习的目的是学习如何加载CSV文件并使其可供Keras使用,如何 ...

  9. Python机器学习笔记:sklearn库的学习

    网上有很多关于sklearn的学习教程,大部分都是简单的讲清楚某一方面,其实最好的教程就是官方文档. 官方文档地址:https://scikit-learn.org/stable/ (可是官方文档非常 ...

随机推荐

  1. vue+vue-resource设置请求头(带上token)

    前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...

  2. 第十七周助教工作总结——NWNU李泓毅

    助教博客链接:https://www.cnblogs.com/NWNU-LHY/ 本次作业的要求:软件测试与ALPHA冲刺:https://www.cnblogs.com/nwnu-daizh/p/1 ...

  3. intellij idea tomcat 启动不生成war包

    intellij idea tomcat 启动不生成war包 想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Str ...

  4. 多层If语句 和 表格驱动 的对比

    网文提到表格驱动,总喜欢拿一层if做例子,然而这样未免也太简单. 下文是三层缩进的if和表驱动比较,大家可自行判断优劣. 业务是这样的,某景点分旺季票价和淡季票价,淡季票为旺季的一半,15岁以下孩子再 ...

  5. IDEA一些自动补全方式

    第一种:系统自带:可以CTRL + j 可以查看 psvm 也就是public static void main的首字母. 依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自 ...

  6. SpringCloud-Eureka配置instanceId显示IP

    eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: preferIpAddress: tr ...

  7. mac php7.2 安装mcrypt扩展

    安装: brew install libmcrypt 下载mcrypt扩展源码 http://pecl.php.net/package/mcrypt 解压后 进入目录: phpize ./config ...

  8. 教你玩转Linux—用户账号的管理

    用户账号的管理工作主要涉及到用户账号的添加.修改和删除.添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,无法使用. 1.添 ...

  9. 算法习题---5.1大理石在哪(UVa10474)

    一:题目 现有N个大理石,每个大理石上写了一个非负整数.首先把各数从小到大排序,然后回答Q个问题.每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x.排序后的大理石从左到右编 ...

  10. Qt编写数据可视化大屏界面电子看板13-基础版

    一.前言 之前发布的Qt编写的可视化大屏电子看板系统,很多开发者比较感兴趣,也收到了很多反馈意见,纵观市面上的大屏系统,基本上都是B/S结构的web版本,需要在后台进行自定义配置模块,绑定数据源等,其 ...