原文地址: Kotlin学习快速入门(7)--扩展的妙用 - Stars-One的杂货小窝 之前也模模糊糊地在用这个功能,也是十分方便,可以不用继承,快速给某个类增加新的方法,本篇便是来讲解下Kotlin中扩展这一概念的使用 说明 先解释一下,扩展的说明,官方文档上解释: Kotlin 能够扩展一个类的新功能,而无需继承该类或者使用像装饰者这样的设计模式 简单来说,就是可以不用继承来让一个类多出一个方法或属性(成员变量),可能这样说比较抽象,我们以一个简单的例子来说 比如说,我们需要用到以下功能…
本文适合有Java基础的人 Kotlin语法特点 相比java,省略括号,可以自动判断类型,省略new关键字,空指针捕获 主函数 kotlin文件(kt文件)中,只有要下列的方法,就可以运行,无需像之前的java那般,还要定义个类,写上main方法 fun main(args: Array<String>) { println("hello world") } 基本数据类型 这是说是基本数据类型,其实下面的这些都是kotlin封装好的类,就是相当于Java中的Integer…
List,Set,Map都是集合 List 是一个有序集合,可通过索引(反映元素位置的整数)访问元素.元素可以在 list 中出现多次.列表的一个示例是一句话:有一组字.这些字的顺序很重要并且字可以重复. Set 是唯一元素的集合.它反映了集合(set)的数学抽象:一组无重复的对象.一般来说 set 中元素的顺序并不重要.例如,字母表是字母的集合(set). Map(或者字典)是一组键值对.键是唯一的,每个键都刚好映射到一个值.值可以重复.map 对于存储对象之间的逻辑连接非常有用,例如,员工的…
条件 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已经…
类 参考链接 类定义格式 使用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…
介绍 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来读取图片:…
1.变量命名和使用 变量命名规则:a.变量名只能包含(字母    数字   下划线),且变量不能以数字开头,例如:变量 s_1(正确),变量1_s(错误) b.变量名不能包含空格,可以使用下划线来间隔 c.变量不能以关键字和函数名来命名,例如:print d.变量名应该简短而且具有标识性.(看见变量名就知道其大概表示啥) e.避免使用容易混淆的字母和数字,例如0和1,O和I  (代码量很大的的时候,这种小错误不容易发现,尽量不要给自己挖坑) 2.简单数据类型 String字符串:python中使…
string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象.从内部实现来看其实string可以看作byte数组,最大上限是1G字节.下面是string类型的定义. struct sdshdr {  long len;  long free;  char buf[]; }; buf是个char数组用于存贮实际的字符串内容.其实char和c#中的byte是等价的,都是一个字节.len是buf数组的长度,fr…