定义类;类变量、成员变量、局部变量;构造函数、类方法;实例化对象:

# -*- coding: utf-8 -*-
'''
Created on 2019-6-25 @author: adminstrator
''' class ClassTest(object):
'''
定义一个类
'''
count=0 #类中定义的变量,叫类变量,也叫全局变量 def __init__(self, params,x,y):
'''
构造函数,把类赋给一个实例化对象的时候,即实例化类的时候,就会执行,其中params参数可以去掉
'''
print('执行构造函数,参数为:'+params)
self.x=x #在类的构造函数内以self.开头来定义的,叫实例变量(成员变量)
self.y=y
self.fuc(self.x,self.y) def countNumber(self,num1,num2):
'''
类中的方法,叫做类方法,定义在外面叫函数
'''
num3=num1+num2 #定义在方法中的变量叫局部变量
print(num3)
self.count=self.count+1 def fuc(self,a,b):
self.varc=a #成员变量,他们在类方法fuc()中定义,但是在构造函数中调用了fuc()
self.vard=b def outPut(self):
print(self.count)
# print(num3) #局部变量无法在方法外使用 if __name__ == '__main__':
ctopr=ClassTest('Hello',1,2) #类的实例对象
ctopr.countNumber(10, 20) #实例化对象可以调用类方法
print('调用成员变量count=',ctopr.count) #实例化对象调用类变量
ctopr.outPut()

类继承、方法重写、私有变量、私有方法:

# -*- coding: utf-8 -*-
'''
Created on 2019-6-26 @author: adminstrator
'''
from src.ClassTest import ClassTest #引入基类 class ClassTestTwo(ClassTest):
'''
类继承演示
'''
__privateNum=10 #在类中定义私有变量,以两个下划线开头,类的私有变量只能在类中使用,使用时以self.调用 def __init__(self, params, x, y):
'''
继承基类的构造函数
'''
super().__init__(params, x, y) def __changePrivateNum(self):
'''
定义私有方法,以2个下划线开头,带有self参数
'''
self.__privateNum=self.__privateNum+1
print('通过私有方法改变后的私有变量的值是:',self.__privateNum) def outPut(self):
'''
把基类中的方法重新
'''
print('I am in ClassTestTwo' )
print('类的私有变量值为:',self.__privateNum) #调用类的私有变量
self.__changePrivateNum() #调用类的私有方法 def divOper(self,num1,num2): num6=0
if num2==0:
return num6
else:
num6=num1/num2
return num6 if __name__ == "__main__":
cttpor=ClassTestTwo('world',2,3)
print('12除3的值是:',cttpor.divOper(12, 3))
cttpor.count #继承类的实例化对象调用基类的类变量
cttpor.outPut() #继承类的实例化对象调用基类的方法,方法如果没有重新,则执行基类中的方法体,如果在继承类中重写,则覆盖基类中的方法

App自动化-python基础的更多相关文章

  1. 移动端穿插着PC端自动化-Python基础(干货)

    1.前面已经把所有前期工作完成了 下面进行一些简单的小脚本来更好的了解Python.对Python有一些基础的童鞋理解起来会比较容易,我刚接触的时候也会有点懵的,现在简单的也是没问题了. 大牛请不要喷 ...

  2. Python自动化 【第七篇】:Python基础-面向对象高级语法、异常处理、Scoket开发基础

    本节内容: 1.     面向对象高级语法部分 1.1   静态方法.类方法.属性方法 1.2   类的特殊方法 1.3   反射 2.     异常处理 3.     Socket开发基础 1.   ...

  3. Appium + Python App自动化第一个脚本

    今天跟大家讲解一个Appium和Python App自动化的脚本.[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面[4]拖动你 ...

  4. [python]Appium+python +pytest 实现APP自动化,基于安卓

    1.安卓环境搭建 &关于app自动化,个人觉得安装过程比较复杂,脚本难度实现和web自动化差不多封装关键字即可,因此,下面会写安装.启动APP以及过程中遇到的一些坑(这一篇偏向解释给个人) & ...

  5. 用python和unittest编写app自动化测试用例

    import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpCl ...

  6. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  7. 第一篇:python基础

    python基础   python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...

  8. 『Python基础-1 』 编程语言Python的基础背景知识

    #『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...

  9. python基础面试题整理---从零开始 每天十题(01)

    最近在弄flask的东西,好久没写博客的,感觉少了点什么,感觉被别人落下好多,可能渐渐的养成了写博客的习惯吧.也是自己想学的东西太多了(说白了就是基础太差了,只是know how,不能做到konw w ...

随机推荐

  1. 【转载】MyBatis批量插入数据(insert)

    介绍:MyBatis批量插入数据,原理就是在xml文件中添加 foreach 语句,然后MyBatis自动在values后面添加多个括号: XML文件如下: <?xml version=&quo ...

  2. codeforces 1249D1/D2 Too Many Segments (贪心)

    (点击此处查看原题) 题意说明 有n个区间,第i个区间覆盖范围[li,ri]内所有点,问删除最少哪些区间,使得所有点被区间覆盖的次数少于等于k次 解题思路 看到这个题的时候,觉得和开关(反转)问题很像 ...

  3. git 使用2

    安装 1.下载对应版本:https://git-scm.com/download 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console wi ...

  4. Redis 使用指南:深度解析 info 命令

    Redis 是一个使用  ANSI C 编写的开源.基于内存.可选持久性的键值对存储数据库,被广泛应用于大型电商网站.视频网站和游戏应用等场景,能够有效减少数据库磁盘 IO, 提高数据查询效率,减轻管 ...

  5. jQuery Validation ,调用valid方法时,不验证remote

    1.问题描述 model代码如下: remote对应的action如下: view代码如下: 单击按钮时,执行如下动作 当点击按钮时,我们发现,虽然后台action验证失败,但 还是执行返回true, ...

  6. Java Web-JSP学习

    Java Web-JSP学习 概念 Java Server Pages:Java服务器端页面.可以在其中直接定义HTML标签,也可以在其中直接定义java代码. 关于JSP和JAVASCRIPT的区别 ...

  7. Graphics与Canvas

    Graphics: 1. java.awt.Graphics;2.android.graphics Canvas:1.java.awt.Canvas;2.android.graphics.Canvas ...

  8. 在Android8.0以上收不到广播问题(AppWidget)

    对Intent指定组件 //安卓8.0必须添加 intent.setComponent(new ComponentName(context,MyAppWidgetProvider.class)); 问 ...

  9. JS 编程艺术

    JS艺术片段剪贴 getFullDate: function (date) { //返回 YYYY年MM月DD日 var year = month = day = ' '; if (isNaN(dat ...

  10. asp.net mvc4 学习1

    1 简介:微软在很早就看到了基于windows系统的web开发平台的需求,这时便开始提出自己的解决方案即微软的第一个基于web开发的平台ASP.再后来随着需求和性能的要求再2002年推出第二个解决方案 ...