python实例

python 知识回顾

两盒软妹~` 提交于 2020-03-20 22:12:04
第一章:搭建编程环境 1.在Windows系统中搭建Python编程环境。     1.1 安装Python     访问http://python.org/downloads/ ,点击下载到本地,后安装。   1.2安装文本编辑器(IDE)     访问https://www.jetbrains.com/zh/pycharm/specials/pycharm/pycharm.html? 下载pycharm,后安装。 第二章:变量和简单数据类型 1.变量    命名和使用:变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头;         变量名不能包含空格,但可使用下划线来分隔其中的单词;         不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词;         变量名应既简短又具有描述性;         慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。 2.字符串:用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。    2.1使用方法修改字符串的大小写。     title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写;     lower()将字符串先转换为小写;   2.2合并(拼接)字符串。     加号(+ )来合并字符串。   2

python之面向对象

ε祈祈猫儿з 提交于 2020-03-20 18:25:50
一、对象的定义 对象是有属性和方法组成的,在实际环境中也就是对象本身的变量和函数!比如一条鱼,眼睛和尾巴就是属性,会游泳就是他的技能! 基础类的声明: class Fish(object): eyes = 2 def get_eye(self): return self.eyes def set_eye(self, eye): self.eyes = eye 二、类的三大特性 (一)、封装 有些时候我们不希望把对象的属性公开,就可以把它设为私有,python并没有像其他语言对成员的权限控制系统,如private和protected,默认情况下,python的所有属性都是公有的,可以被访问到,要设成私有,则在前面加双下划线,如"__eye",在类外部调用的时候,早需要把他进行封装,一般是把该属性放在一个可以访问到的方法里,提供调用,如下: class Fish(object): __eyes = 2 def get_eye(self): return self.__eyesfish = Fish()print(fish.get_eye()) fish = Fish() print(fish.get_eye()) (二)、继承 继承可以使子类拥有父类的属性和方法,并且可以重些这些方法,加强代码的复用性,python中子类可以有多个父类,但是不建议这样使用,一般会产生重复调用的问题

Python类的静态属性、类方法、静态方法

本小妞迷上赌 提交于 2020-03-19 19:09:18
1、静态属性。@property。作用就是把类的函数属性,封装成类似数据属性。 class Student(object): school='szu' @property def printmassage(self): print('aaaa') s1=Student() s1.printmassage #aaaa 2、类方法:是类对象所拥有的方法,需要用修饰器 @classmethod 来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以 cls 作为第一个参数,能够通过实例对象和类对象去访问。 类方法一般有两个作用:一是访问类属性。二是修改类属性 class Student(object): school='szu' @classmethod def printmassage(cls): print(cls.school) s1=Student() Student.printmassage() #szu s1.printmassage() #szu 3、静态方法:静态方法实际上是独立的,依靠在类中,但实际是只是调取关系。只是名义上归类管理,实际上就是一个工具包,可以供类和实例调用。静态方法里不能直接调用类方法,要调用必须加上类名字去调用。 class Student(object): school='szu' @staticmethod def printmassage

python笔记二

一曲冷凌霜 提交于 2020-03-18 21:23:45
# 类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。 # 通过定义一个特殊的__init__方法,在创建实例的时候,就把属性绑上去 class Student(object): # 和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self # Python解释器自己会把实例变量传进去 def __init__(self, attr1, attr2): self.attr1 = attr1 self.attr2 = attr2 pass def get_attr(self): print(self.attr1) s = Student(111,222) s.get_attr() # 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__, # 在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问 class Student(object): def __init__(self, attr1, attr2): self.attr1 = attr1 self.__attr2 = attr2 pass s = Student(111,222) print(s.attr1) print(s.__attr2) #继承和多态

Python 基础语法

半世苍凉 提交于 2020-03-18 18:13:17
Python 标识符 在 Python 里,标识符由字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。 以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。 Python 可以同一行显示多条语句,方法是用分号 ; 分开,如: print ('hello');print ('runoob'); Python 保留字符 下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。 所有 Python 的关键字只包含小写字母。 Python保留字符表 and exec not assert finally or break for pass class from print continue global raise def if return del import try elif in while else is with except lambda

python类的静态方法和类方法区别

☆樱花仙子☆ 提交于 2020-03-18 14:52:24
先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。 # coding:utf-8 class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def static_method(): print("是静态方法") @classmethod def class_method(cls): print("是类方法") foo = Foo() foo.instance_method() foo.static_method() foo.class_method() print('----------------') Foo.static_method() Foo.class_method() 实例方法只能被实例对象调用,静态方法(由@staticmethod装饰的方法)、类方法(由@classmethod装饰的方法),可以被类或类的实例对象调用。 实例方法,第一个参数必须要默认传实例对象,一般习惯用self。 静态方法,参数没有要求。 类方法,第一个参数必须要默认传类,一般习惯用cls。 静态方法、类方法使用区别或者说使用场景 1、类方法用在模拟java定义多个构造函数的情况。

自动化测试神器 之 python unittest 断言

北慕城南 提交于 2020-03-18 11:58:06
  自动化测试的最后一步需要判断结果是否正确,而正确设置断言可以帮助判断测试用例的执行结果,从而提高自动化测试的效率,python unittest 提供了一个比较完整的断言方法。unittest框架测试框架提供的方法比较多,而且很多方法在自动化测试的时候不会使用到,所以我这边总结一下我认为比较常用的测试方法,用最直白的话解释了一下。 序号 方法 解释 1 assertEqual(a, b) 判断ab是否相等 2 assertNotEqual(a, b) 判断ab不相等 3 assertIs(a, b)  判断a是b 4 assertIsNot(a, b) 判断a不是b 5 assertIsNone(a) 判断a是不是None 6 assertIsNotNone(a) 判断a不是None 7 assertIn(a,b) 判断a在b中,此时a与b可以相等 8 assertNotIn(a, b) 判断a不在b中 9 assertIsInstance(a, b) 判断a是否属于b的实例 10 assertNotIsInstance(a, b) 判断a不属于b的实例 11 assertGreater(a, b) 判断a > b 12 assertGreaterEqual(a, b) 判断a >= b 13 assertLess(a, b) 判断a < b 14

第三章 python基础

我的未来我决定 提交于 2020-03-18 05:20:24
  花了一个星期多看了 《learn python the hard way》,只能说掌握了皮毛的皮毛,今天开始学习看《core python programming》。     同样,也分享自己的学习笔记,督促自己,激励自己。    3.1 语句和语法 Python 语句中有一些基本规则和特殊字符: 􀁺 井号(#)表示之后的字符为 Python 注释 􀁺 换行 (\n) 是标准的行分隔符(通常一个语句一行) 􀁺 反斜线 ( \ ) 继续上一行 􀁺 冒号 ( : ) 将代码块的头和体分开 􀁺 语句(代码块)用缩进块的方式体现 􀁺 不同的缩进深度分隔不同的代码块 􀁺 Python 文件以模块的形式组织 􀁺 分号 ( ; )将两个语句连接在一行中 1 print "hello world " ; print " hi world" 􀁺 反斜线 ( \ ) 继续上一行 Python 语句,一般使用换行分隔,也就是说一行一个语句。一行过长的语句可以使用反斜 杠( \ ) 分解成几行,如下例: if (weather_is_hot == 1) and \ (shark_warnings == 0): send_goto_beach_mesg_to_pager() 有两种例外情况一个语句不使用反斜线也可以跨行。在使用闭合操作符时,单一语句可以 跨多行,例如:在含有小括号、中括号

Python下简易的单例模式详解(转)

狂风中的少年 提交于 2020-03-18 03:48:10
Python 下的单例模式 要点: 1.某个类只能有一个实例; 2.它必须自行创建这个实例; 3.它必须自行向整个系统提供这个实例 方法:重写new函数 应该考虑的情况: 1.这个单例的类可能继承了别的类 2.这个单例的类还有可能要接收参数来实例化 要点: 实例化的过程其实不是直接调用init的,首先是new分配一块空间来创建实例,再由init对这个实例进行初始化.我们无法阻止new和init的调用,我们只能是限制他们的内容,以此使他们能达到单例的目的 代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 class people( object ): def __new__( cls , * args, * * kargs): return super (people, cls ).__new__( cls ) def __init__( self ,name): self .name = name def talk( self ): print ( "hello,I am %s" % self .name) class student(people): def __new__( cls , * args, * * kargs): if not hasattr ( cls ,

Python练习题(五)

*爱你&永不变心* 提交于 2020-03-18 03:47:35
1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reverse tempList = [1,2,3,4] tempList.reverse() for x in tempList: print x #如果不是list,需要手动重排 templist = (1,2,3,4) for i in range(len(templist)-1,-1,-1): print templist[i] 2.如何查询和替换一个文本中的字符串 #最简单的方法使用replace() tempstr = "hello you hello python are you ok" print tempstr.replace("you","python") #还可以使用正则,有个sub() tempstr = "hello you hello python are you ok" import re rex = r'(hello|Use)' print re.sub(rex,"Bye",tempstr) 3.使用python实现单例模式 #方法一:可以使用__new__方法 #在__new__方法中把类实例绑定到类变量_instance上,如果cls._instance为None表示该类还没有实例化过,实例化该类并返回。如果cls_instance不为None表示该类已实例化,直接返回cls