每天学一点 Kotlin -- 集合:Set

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天学一点 Kotlin -- 集合:Set相关的知识,希望对你有一定的参考价值。

参考技术A ----《第一季Kotlin崛起:次世代android开发 》学习笔记

总目录: 每天学一点 Kotlin ---- 目录
上一篇: 每天学一点 Kotlin -- 集合:MutableList
下一篇: 每天学一点 Kotlin -- 集合:MutableSet

1.1 根据集合类型的整体特性,Kotlin 中分为3种集合:
(1) 有序可重复: Array -- 数组
(2) 有序不重复: Set
(3) 无序不重复: Map

2.1 Set 特点: 大小固定,元素类型也固定

2.2 定义 Set:

2.3 Set 的两大特性:
(1) 包含关系: 如果集合A中所有的元素都在另一个集合B中,那么就说A是B的子集,也就是B包含A,或者A包含于B中。
(2) 两个集合的运算:
①交集:a.intersect(b)
②差集:a.subtract(b)
③并集:a.union(b)
④补集:a.union(b) - a.intersect(b)

2.4 举个栗子:

Python每天学一点之argparse

前言

Python之每天学习一点专栏,为后面分析各位大师傅编写的一系列安全工具打基础,并且为未来自己写一款WEB方面的安全工具打基础。

argparse --- 命令行选项、参数和子命令解析器

学习链接:

https://docs.python.org/zh-cn/3/library/argparse.html?highlight=argparse

https://www.cnblogs.com/iMX8mm/p/10821468.html

最近看了一些公众号上师傅用python写的小工具,虽然没有开发成一个项目,不过也是一种python的学习成果,这里打点基础

argparse介绍

argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

第一步:创建一个解析器

parser=argparse.ArgumentParser(epilog=\'\\tExample: \\r\\npython3 \' + sys.argv[0] + " -n 拳愿阿修罗 2")

第二部:添加参数

给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的。通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储和使用。例如:

parser=argparse.ArgumentParser(epilog=\'\\tExample: \\r\\npython3 \' + sys.argv[0] + " -n 拳愿阿修罗 2")

第三步:解析参数

>>> parser.parse_args([\'--sum\', \'7\', \'-1\', \'42\'])
Namespace(accumulate=<built-in function sum>, integers=[7, -1, 42])

这是sublistr3.py中的命令行选项

def parse_args():
    # parse the arguments
    parser = argparse.ArgumentParser(epilog=\'\\tExample: \\r\\npython \' + sys.argv[0] + " -d google.com")
    parser.error = parser_error
    parser._optionals.title = "OPTIONS"
    parser.add_argument(\'-d\', \'--domain\', help="Domain name to enumerate it\'s subdomains", required=True)
    parser.add_argument(\'-b\', \'--bruteforce\', help=\'Enable the subbrute bruteforce module\', nargs=\'?\', default=False)
    parser.add_argument(\'-p\', \'--ports\', help=\'Scan the found subdomains against specified tcp ports\')
    parser.add_argument(\'-v\', \'--verbose\', help=\'Enable Verbosity and display results in realtime\', nargs=\'?\', default=False)
    parser.add_argument(\'-t\', \'--threads\', help=\'Number of threads to use for subbrute bruteforce\', type=int, default=30)
    parser.add_argument(\'-e\', \'--engines\', help=\'Specify a comma-separated list of search engines\')
    parser.add_argument(\'-o\', \'--output\', help=\'Save the results to text file\')
    return parser.parse_args()

这里我随便写一个,明天修缮修缮我之前爬动漫站的脚本,叫上这个命令行选项。

这个模块不重要,会就好。

明儿补上加上命令行选项的动漫站的爬虫代码

 

以上是关于每天学一点 Kotlin -- 集合:Set的主要内容,如果未能解决你的问题,请参考以下文章

每天学一点 Kotlin -- 集合:Array 数组

每天学一点 Kotlin -- 函数:泛型函数

每天学一点 Kotlin -- 字符串和字符

每天学一点Scala之 高阶函数 flatten

Python每天学一点之argparse

每天学一点JAVA