Python_10 debug、类和对象
一、查缺补漏
APP测试流程梳理https://www.cnblogs.com/dengqing9393/p/6497068.html
if _ name _ == '_ main _' 是什么http://testingpai.com/article/1618471963781
if _ name _ == '_ main _'的快捷方式:输入main 按tab
二、debug
下一步操作:Step over F8
跳进函数内部操作:Step into F7
程序快速执行,直接到下一个断点停住,在断点之间来回跳动 F9
退出断点,点击debug右侧红色方块
三、类和对象
类(种类):拥有相同特点或者属性的一类事务的集合(抽象) 如:人类、动物(猫、狗)、车(汽车、自行车)
对象(具体的东西):类的实体,实例 如: 具体是什么狗、具体是什么车
封装:对某些功能内部实现的封装,提供一个接口,调用某个接口然后就能实现某些特定的功能
如:python的函数、app、提款机、计算器
四、类
类的定义
python2.x 写法:class 类名称(): 不更新
python3.x 写法:class 类名称: 现在使用的 如:class TestCase:
类实例方法和实例化(类实例化之后就叫类实例/类对象)最好不要对一个类实例化多次
类实例化:cl = TestCase() 用是任意名称cl对象来接收这个类,表示调用这个类,cl为类实例对象
类实例方法:就是写在类里面的普通方法,主要是函数
访问调用方法:在类的外部可使用类实例名称.方法名称()方法调用,在类的内部使用self.方法名称()调用
self解释:在类中定义函数时,规定第一个传的参数必须是函数本身,self中保存的是该类的内存地址
if _ name _ == '_ main _' 解释:是个入口,但是如果不写他也可以调用类中函数,实例化和调用需要顶格写
类属性:类属性写在类里面,需单独写出来的,不用写在函数里面
类属性的访问不需要实例化,可以直接通过类进行访问
访问调用方法:在类外部可使用类名称.类属性名称和类实例.类属性名称,类实例就是实例化之后的名称
在类内部可使用self.类属性名称
实例属性:写在类里面的def _ init _(self):下面的变量self.变量名,实例属性必须实例化之后访问,自动执行访问
访问调用方法:在类的外部可使用类实例.实例属性名称,类不能直接访问实例属性
在类的内部使用self.实例属性名称
当实例化属性有多个参数时调用需要在实例化的括号里面加实参
当类属性和实例属性同名,使用类实例去访问的时候,优先使用类实例属性
def _ init _(self):实例属性是初始化方法,当类实例化之后就自动执行,未调用的时也执行,当类后加()已经是实例化了,所以实例属性中不能使用实例化对象
类方法:使用@classmethod来修饰函数的方法就叫类方法
类方法的self名称(类名称)应与类实例方法的self名称(类地址)不一致
访问调用方法:类名.方法名称
私有属性 可作用于类属性、类实例属性
外部不可访问,但是可以使用类实例.类名 _想要访问的私有对象访问对象
私有属性是以_ _(双下划线开头)的属性,不能在类外面进行访问,只能在类内部进行访问
私有方法:私有方法是以双下划线开头的方法
五、一些帮助理解的东西
类实例化:就像人类是一个统称,人类有可以吃饭的方法,但是要具体到一个实例也就是某一个人才能真正实现这个吃饭的方法,人类这个统称是不能吃饭的
不论什么方法调用时最好都要实例化对象,因为对象调用一切
以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”导入
以双下划线开头的(_ _foo)代表类的私有成员
以双下划线开头和结尾的(_ foo )代表python里特殊方法专用的标识,如 _ _init _()代表类的构造函数
要取类中函数的对象的值时用新对象接收,要调用类函数里面的对象时后面加()括号
我们学的函数,在类里面不叫函数,叫方法
类属性、实例属性、私有属性,其实本质就是变量
Python_10 debug、类和对象的更多相关文章
- php类与对象
1.类与对象 对象:实际存在该类事物中每个实物的个体.$a =new User(); 实例化后的$a 引用:php的别名,两个不同的变量名字指向相同的内容 封装: 把对象的属性和方法组织在一个类(逻辑 ...
- C#跟踪和调试程序-Debug类使用
摘要: 怎样在 Visual C# .NET 中跟踪和调试?当程序运行时,您可以使用 Debug 类的方法来生成消息,以帮助您监视程序执行顺序.检测故障或提供性能度量信息.默认情况下,Debug 类产 ...
- php 类与对象
1.类与对象 对象:实际存在该类事物中每个实物的个体.$a =new User(); 实例化后的$a引用:PHP的别名,两个不同的变量名字指向相同的内容 封装: 把对象的属性和方法组织在一个类(逻辑单 ...
- C++类和对象(一)&&实现offsetof宏&&this指针
一.目录 1.对象的相关知识 2.类的定义 3.类的实例化 4.类对象模型 5.模拟实现offsetof宏 6.this指针 二.正文 1.对象的相关知识 C语言是面向过程的,关注的是过程,分析求解问 ...
- 【转】PHP 类与对象
原文:http://blog.csdn.net/e421083458/article/details/8217650 1.类与对象 对象:实际存在该类事物中每个实物的个体.$a =new User() ...
- PHP 类与对象 全解析(三)
目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 13.魔术方法 定义:PHP把所有以__(两个下划线)开头的类方法当成魔术方法 __ ...
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...
- Python - 类与对象的方法
类与对象的方法
- C++基础知识(5)---类和对象
终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好.类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
随机推荐
- computed计算属性和watch的区别:
计算 ' 单价 x 数量 = 总价 ' watch:就不写了,没意思 computed: computed:{ allPrice:function(){ return this.price*this. ...
- 记录一个vue路由拦截效果的小技巧
使用一句三元表达式, <router-link class="flex-left left" tag="div" :to="loginState ...
- 程序员天天 CURD,怎么才能成长,职业发展的思考 ?
前言 关于程序员成长的话题,我前面写过一篇文章 - 程序员天天CURD,职业生涯怎么发展的思考. 现在回头看,对程序员这个职业发展的认识以及怎么发展还是有一些局限性.有一句话是这么说的:人的成长就是不 ...
- C#开源的两款功能强大的录屏神器
ScreenToGif ScreenToGif是一款由C#语言开发且开源的操作简单.免费的屏幕录制和GIF动画制作神器.它可以帮助用户捕捉计算机屏幕上的实时动画,并将其保存为高质量的 GIF 图像格式 ...
- mod操作符效率高吗?
编程语言中mod取余操作符%的效率不是很高,比如M = N % 10,它花费得时间本机测试是1ms,而如果使用M = N - N / 10 * 10,则只需要0.1ms. 所以平时变成得时候,可以尽量 ...
- VNC 远程桌面很卡,替代方案如下
VNC 远程桌面是一款古老的远程桌面软件,是基于 Unix 和 Linux 操作系统的免费的开源软件.免费开源很好,但是 VNC 也存在一些缺点. 1.VNC 远程桌面很卡 想白嫖 VNC,就要接受卡 ...
- 从油猴脚本管理器的角度审视Chrome扩展
从油猴脚本管理器的角度审视Chrome扩展 在之前一段时间,我需要借助Chrome扩展来完成一个需求,当时还在使用油猴脚本与浏览器扩展之间调研了一波,而此时恰好我又有一些做的还可以的油猴脚本 TKSc ...
- tar和zip包加密解密压缩
1.概述 嗯,最近有些机密文件无处安放,因为太机密了,后来确定加密后放到服务器上.研究一番后发现tar和zip命令都能实现,所以在此记录一下. 压缩:tar -zcvf - ./packageTest ...
- WPF自定义控件,如何使得xaml涉及器中的修改能立即反应到预览
这是我无意中发现的,xaml中设置的是依赖属性而不是包装器,所以我们可以直接在注册依赖属性那里设置回调,触发某个控件重绘,比如本身或父控件重绘. xaml设计器就会实时更新 1 // !!!由于xam ...
- jupyter notebook无法找到自己的虚拟环境
1:打开cmd/Anaconda Prompt/Anaconda Powershell Prompt 2:进入虚拟环境conda activate 环境名 3:conda list查看有无ipyker ...