参数化: import timeimport list1 #想测试list1中的求和函数是否正确fun1import paramunittestimport unittest #先设置参数组@paramunittest.parametrized( {'a':1,'b':1,'c':2}, #前两个是参数a,b,最后一个是真确值 {'a':1,'b':0,'c':1}, {'a':1,'b':0,'c':0} ) class Testfun(unittest.TestCase): def setP…
面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把老师分为一类,把学生分为一类.具体到某一个学生就是  这类中的一个具体对象,对象的 共同属性和方法可以定义在类中.特殊的可以自己额外添加.  类也可以额外添加属性和方法 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象. 数据封装.继承和多态是面向对象的三大特点 私有属性,私有方法,在类外面禁止使用的.加上__只是修改了名字,其实在外面也可以使用. 给实例额外添…
python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的.只有当前类中才有作用 @property 把方法变成属性一样方便的调用 -------------------多重继承 通过多重继承,一个子类就可以同时获得多个父类的所有功能. ------------------定制类() 增加一个__str__方法 直接输入c…
列表和元组 list1 = [1,4,6,788,345,757]            tuple1 =      (345,234,567,878)         切记你的变量名不能和  help('keywords')中的重名 列表是[]包起来list是一种有序的集合.你还可以随意改变他的值. list1[0] = "fan" 想知道list怎么使用:help(list),一起皆对象 项目中无非就是对数据的增删改查,所以学list就是要学增删改查 python中自带的方法可以使…
python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了) python中的数:整数和浮点数(小数):整数的运算永远是精确地,小数运算可能会有四舍五入的误差.整数和浮点数在计算机内部存储的方式是不同的. 计算: 1/1 = 1.0(除法的运算结果是浮点数) 1//1 = 1  (//表示整除,整数整除结果是整数) 2.0//1.0 = 2.0 (浮点数整…
总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法: 类似__xxx__的属性和方法在Python中都是有特殊用途的,比如__len__方法返回长度.在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__()方法 仅仅把属性和方法列出来是不够的,配合geta…
在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".".pyd".".so".".dll". (要导入模块的时候,该模块会生生成一个同名的pyc文件.pyc文件是py文件预编译的文件,是二进制字节码文件,提高加载的速度.如果是商用代码,就需要先编译成pyc.文件主要是不想把源代码暴露出来.) impor…
当函数很简单的时候采用匿名函数很方便.…
把复杂的任务拆成各个小的函数,通过函数的调用来完成任务.这就是面向过程编程. 高阶函数:就是让函数的参数能够接收别的函数.把函数作为参数传入到另一个函数. 函数名也是变量.和变量用法一样的,指向一个函数内存 Python自带的高阶函数.(我怎么感觉这个部分都写过了,我一般在路上看,晚上回来写) Python内建的filter()函数用于过滤序列. 好好说说sorted 除了把函数作为参数传入另个一函数,也可以把函数作为返回值返回 闭包:当一个函数返回了一个函数后,其内部的局部变量还被新函数引用,…