原文地址: Kotlin学习快速入门(7)--扩展的妙用 - Stars-One的杂货小窝 之前也模模糊糊地在用这个功能,也是十分方便,可以不用继承,快速给某个类增加新的方法,本篇便是来讲解下Kotlin中扩展这一概念的使用 说明 先解释一下,扩展的说明,官方文档上解释: Kotlin 能够扩展一个类的新功能,而无需继承该类或者使用像装饰者这样的设计模式 简单来说,就是可以不用继承来让一个类多出一个方法或属性(成员变量),可能这样说比较抽象,我们以一个简单的例子来说 比如说,我们需要用到以下功能…
类 参考链接 类定义格式 使用class关键字定义,格式如下: class T{ //属性 //构造函数 //函数 //内部类 } Java Bean类 java bean类 //java bean类 public class Student { private String name; private int age; public Student() { } public Student(String name) { this.name = name; } public Student(St…
List,Set,Map都是集合 List 是一个有序集合,可通过索引(反映元素位置的整数)访问元素.元素可以在 list 中出现多次.列表的一个示例是一句话:有一组字.这些字的顺序很重要并且字可以重复. Set 是唯一元素的集合.它反映了集合(set)的数学抽象:一组无重复的对象.一般来说 set 中元素的顺序并不重要.例如,字母表是字母的集合(set). Map(或者字典)是一组键值对.键是唯一的,每个键都刚好映射到一个值.值可以重复.map 对于存储对象之间的逻辑连接非常有用,例如,员工的…
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之前的java那般,还要定义个类,写上main方法 fun main(args: Array<String>) { println("hello world") } 基本数据类型 这是说是基本数据类型,其实下面的这些都是kotlin封装好的类,就是相当于Java中的Integer…
条件 if条件判断 常用的判断和Java一样,这里提一下不同的用法 1.if可以作为三元运算符 val max = if (a > b) a else b 2.使用in判断是否在某个区间 val x = 1 //相当于条件 1<= x <=8 if(x in 1..8){ println("在区间内") } //与上面的条件相反 if(x !in 1..8){ ... } 3.is关键字类型转换 相当于Java中instanceof关键字 使用了is,kotlin已经…
介绍 kotlin中,对象可分为两种类型,可为空的对象和不可为空对象 默认为不可为空对象,代码检测如果发现不可为空对象赋予了null,则会标红报错. 可为空的对象,如果调用了方法,代码检测也会标红报错 var s: String = "hello" //不可为空 s = null//标红报错 var s: String? = "hello" s=null //代码检测通过 println(s.length)//标红报错 调用可为空对象的属性或方法 这样的好处就是,如…
一.pytest简介 Pytest是python的一种单元测试框架. pytest的特点: 入门简单,文档丰富 支持单元测试,功能测试 支持参数化,重复执行,部分执行,测试跳过 兼容其他测试框架(nose,unittest 等) 支持生成html报告 可集成CI环境(Jenkins 等) 第三方插件丰富,良好的自定义扩展性 二.pycharm中使用pytest 1.pytest安装:对于测试而言,特别是在持续集成环境中,我们的所有测试最好是在虚拟环境中.这样不同的虚拟环境中的测试不会相互干扰的.…
工具函数 dir函数,让我们直到工具箱,以及工具箱中的分隔区有什么东西 help函数,让我们直到每个工具是如何使用的,工具的使用方法 示例:在pycharm的console环境,输入 import torch dir(torch.cuda.is_available()) 即可查看该工具包 help(torch.cuda.is_available()) DataSet DataSet提供一种方式去获取数据及其label DataLoader为网络提供不同数据形式 使用PIL的Image来读取图片:…
引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏动画效果的原理是怎样的?本篇文章将带您在20分钟内快速了解和上手HTML5游戏开发的神器:Canvas绘制API. 一.Canvas是什么? Canvas就是一个画布,可以进行画任何的线.图形.填充等一系列的操作,而且操作的画图就是js,所以让js编程到了嗑药的地步.另外Canvas不仅仅提供简单的…
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin 请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作…