test

装饰器的应用

℡╲_俬逩灬. 提交于 2020-02-06 07:22:06
装饰器的应用 1. 装饰器实现一个函数计时器 2. 创建add_log装饰器 3. 层层装饰的装饰器 4. 利用装饰器实现登陆系统 5. 利用装饰器实现整形数的输入 6. 带参数的装饰器 7. 多个装饰器的练习 1. 装饰器实现一个函数计时器 1.被装饰的函数有返回值怎么办 2.如何保留被装饰函数的函数名和帮助信息文档 @functools.wraps(func) 这是python提供的装饰器。它能把原函数的元信息拷贝到装饰器里面的 func 函数中。函数的元信息包括docstring、name、参数列表等等。可以尝试去除@functools.wraps(func),你会发现test.__name__的输出变成了wrapper import time import random import string import functools #保留被装饰函数的函数名和帮助信息文档(注释) #不处理时,被装饰函数的函数名和注释不会显示 li = [ random . choice ( string . ascii_letters ) for i in range ( 100 ) ] #定义一个装饰器 def timeit ( func ) : #给装饰器一个系统的装饰器,这样的话,被这个装饰器装饰的函数名就不会被覆盖 @functools . wraps ( func ) def

Java第二次作业

帅比萌擦擦* 提交于 2020-02-06 05:32:51
(一)学习总结 1.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么? 构造方法是一种特殊的方法,与一般的方法不同是: 1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。 构造方法的重载应满足在同一个类中,参数个数或类型不同。 public class Test { public static void main(String args[]) { Foo obj = new Foo(); } } class Foo{ int value; public Foo(int intValue){ value = intValue; } } 上述代码不可编译,因为其对有参方法使用了无参数调用。 2.运行下列程序,结果是什么?分析原因,应如何修改。 public class Test { public static void main(String[] args) { MyClass[] arr=new MyClass[3]; arr[1].value=100; } } class MyClass{ public int

《java第二次实验》

自作多情 提交于 2020-02-06 05:28:33
(一)学习总结 1.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么? public class Test { public static void main(String args[]) { Foo obj = new Foo(); } } class Foo{ int value; public Foo(int intValue){ value = intValue; } } 构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。 (1)在Java中,允许在一个类中定义多个构造方法。 (2)在创建对象时,系统会自动根据所调用的构造方法中包含的参数类型,个数,选择匹配的构造方法创建对象。 (3)构造方法的注意事项 (4)如果在类中没有明确定义构造方法,系统会自动调用默认的构造方法。 (5)如果指定了构造方法,则不调用默认的构造方法。 (6)如果已经指定了有参的构造方法,而又要调用无参的构造方法,则要在类中追加无参构造。 下面的程序不能通过编译,new Foo()错误,应创建构造函数Foo()。 2.运行下列程序,结果是什么?分析原因,应如何修改 public class Test { public

java第二次作业

半城伤御伤魂 提交于 2020-02-06 05:27:41
(一)学习总结 1.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么? public class Test { public static void main(String args[]) { Foo obj = new Foo(); } } class Foo{ int value; public Foo(int intValue){ value = intValue; } } 构造方法:构造方法的作用是初始化对象。构造方法的名称必须与类名称一致;构造方法的声明除不能有任何的返回值类型的声明;不能再构造方法中使用return返回一个值。 构造方法的重载:方法名称相同,参数的类型和个数不同。 此程序不能经过编译。 在一个类中如果已经明确的声明了一个构造方法,那么程序在编译时就不会在生成默认的构造方法,即一个类中应保证至少有一个构造方法。 public class Test { public static void main(String args[]) { Foo obj = new Foo(); } } class Foo{ int value; public Foo( ){ } public Foo(int intValue){ value = intValue; } } 2.运行下列程序,结果是什么?分析原因,应如何修改。 public class

knn手写识别

人走茶凉 提交于 2020-02-06 04:22:34
# coding=utf-8 import matplotlib matplotlib.use('Qt4Agg') # 手写数字分类 from sklearn.model_selection import train_test_split from sklearn import preprocessing from sklearn.metrics import accuracy_score from sklearn.datasets import load_digits from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC from sklearn.naive_bayes import MultinomialNB from sklearn.tree import DecisionTreeClassifier import matplotlib.pyplot as plt # 加载数据 digits = load_digits() data = digits.data # 数据探索 print(data.shape) # 查看第一幅图像 print(digits.images[0]) # 第一幅图像代表的数字含义 print(digits.target[0]) #

【Python】测试套件TestSuite执行完unittest测试用例后,TextTestRunner打印生成测试报告

自作多情 提交于 2020-02-06 04:17:27
根据之前的一段代码,生成运行后的测试报告。 https://blog.csdn.net/woshiyigerenlaide/article/details/104117384 文件名称:Calculator.py。一段用python编写的计算器Calculator代码 def add(x,y): return x + y def sub(x,y): return x - y 文件名称:test36.py 。这是单元测试代码:测试用例代码 # _*_ coding: utf-8 _*_ from unittest import TestCase, main, skip from test35 import add, sub x, y = 5, 3 class MyTestCase(TestCase): def setUp(self): pass def test_01(self): result1 = add(x, y) self.assertEqual(result1, 8, "add方法,执行结果不正确") @skip("stop test_02") def test_02(self): print('test-02') # test_03的断言刻意写错了,让大家可以看看执行结果 def test_03(self): result2 = sub(x, y) self

三步安装单机Hbase

…衆ロ難τιáo~ 提交于 2020-02-06 04:08:54
下载stable版本 http://www.apache.org/dyn/closer.cgi/hbase/ 我下载的时候hbase-2.2.3-bin.tar.gz tar -zvxf hbase-2.2.3-bin.tar.gz cd hbase-2.2.3 决定将 HBase 写入到哪里目录 vi conf/hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>/Users/ge/mysoft/hbase-2.2.3/data</value> </property> </configuration> 设置JAVA_HOME export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib 这么命令行输入,只能起效一次 cd ~ vi .bash_profile 加在底部 export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$JAVA_HOME/bin:$PATH export CLASS_PATH=$JAVA_HOME/lib localhost:~ $ source

Hadoop——HDFS的Java API操作

心已入冬 提交于 2020-02-06 03:35:18
HDFS的Java API操作 一、HDFS客户端环境准备 1)根据自己电脑的操作系统拷贝对应的编译后的hadoop jar包到非中文路径 2)配置HADOOP_HOME环境变量和path路径 二、HDFS的API操作 新建Maven工程并添加依赖 < dependencies > < dependency > < groupId > junit </ groupId > < artifactId > junit </ artifactId > < version > RELEASE </ version > </ dependency > < dependency > < groupId > org.apache.logging.log4j </ groupId > < artifactId > log4j-core </ artifactId > < version > 2.8.2 </ version > </ dependency > < dependency > < groupId > org.apache.hadoop </ groupId > < artifactId > hadoop-common </ artifactId > < version > 2.7.2 </ version > </ dependency > < dependency > <

JS条件语句优化

强颜欢笑 提交于 2020-02-06 02:47:19
1.对多个条件使用Array.includes eg: function test(fruit){ function test(fruit){ if(fruit=='apple' || fruit=='cherry' ){ 可改写为 console.log('red') =================================>> const redFruits=['apple','cherry','strawberry']; } if(redFruits.includes(fruit)){ console.log('red') } } } 2.更少的嵌套,尽早的返回 eg: 如果没有水果名称,抛出错误 如果红色水果数量超过10个,接受并打印 function test(fruit, quantity){ const redFruits=['apple','cherry','strawberry']; if(!fruit) throw new Error('No fruit!'); if(!redFruits.includes(fruit)) return; console.log('red''); if(quantity >10){ console.log('big quantity') } } 3.使用默认的函数参数和结构 4.选择Map或对象字面量

Linux防火墙之iptables入门

假如想象 提交于 2020-02-06 02:05:16
一、防火墙的概念   什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略;事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更高的层次中对某应用程序实现某一策略,或做更多类似的事情。防火墙的功能主要是隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则定义的行为进行处理的一组功能组件,基本上的实现都是默认情况下关闭所有的访问,只开放允许访问的策略;防火墙分主机防火墙、网络防火墙、硬件防火墙、软件防火墙、网络层防火墙、应用层防火墙等;主机防火墙指定的是针对服务当前主机做的访问策略的防火墙;网络防火墙指服务范围为防火墙一侧的局域网;硬件防火墙指在专用硬件级别实现部分功能的防火墙,另一部分功能基于软件实现;软件防火墙指运行于通用硬件平台之上的防火墙应用软件;网络层防火墙指OSI模型下四层的防火墙,主要针对OSI模型下四层的网络报文的访问策略控制;应用层防火墙/代理服务器指OSI模型中的应用层的防火墙,它主要在应用层进行操作,针对应用层的程序数据报文进行访问策略控制; 二、网络型防火墙和应用层防火墙的优缺点   网络层防火墙主要是包过滤,网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目标地址