枚举类型

Python3之使用枚举类

拜拜、爱过 提交于 2020-03-08 07:47:50
  当我们需要定义常量时,一个方法是用大写变量通过整数来定义,例如月份 JAN = 1 FEB = 2 MAR = 3 APR=4 May=5 Jun=6 Jul=7 Aug=8 Sep=9 Oct=10 NOV = 11 DEC = 12   好处是简单,缺点是类型int,并且仍然是变量。   更好的方法是为这样的枚举类型定义一个class类型,然后,每个常量都是class的一个唯一实例。Python提供了Enum类来实现这个功能: from enum import Enum Month=Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))   这样我们就获得了Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它所有成员 >>> Month.Jan <Month.Jan: 1> >>> Month.Feb <Month.Feb: 2>    >>> for name,member in Month.__members__.items(): ... print(name,'=>',member,',',member.value) ... Jan => Month.Jan , 1 Feb => Month.Feb

10th week (1)

徘徊边缘 提交于 2020-03-08 03:41:32
//1、for in 循环 / ===================================== / //=>语法: for (variable in object) {...} //for...in语句以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。 //=> variable (变量):每次迭代时,将不同的属性名分配给变量 //=> object (对象) :被迭代枚举其属性的对象 var obj = {a:'A',b:'B',1:'c',2:'d',}; //obj对象有两个属性是数字,分别为1和2,值分别为'c'和'd' for (var key in obj){ //key存储的值为字符串类型的 // console.log(typeof key); //=> string console.log(obj[key]); // = > c d A B } // 结果为 =>c d A B , 在 for in 循环遍历的时候,把对象的数字属性名排在前面 //并且排列的时候按照数字由小到大排列,非数字的属性名按照之前编写的顺序排列 //循环将遍历对象本身的所有可枚举属性,以及对象从其构造函数原型中继承的属性 //for...in 循环只遍历可枚举属性。像 Array和 Object使用内置构造函数所创建的对象都会继承自Object

JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

随声附和 提交于 2020-03-07 08:25:40
ECMAScript将对象的属性分为两种: 数据属性 和 访问器属性 。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以理解为:是否可枚举。然后根据具体的上下文环境的不同,我们又可以将属性分为: 原型属性 和 实例属性 。原型属性是定义在对象的原型(prototype)中的属性,而实例属性一方面来自己构造函数中,然后就是构造函数实例化后添加的新属性。   本文主要介绍JavaScript中获取对象属性常用到的三种方法的区别和适用场景。 一、for..in循环   使用for..in循环时,返回的是所有能够通过对象访问的、可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例。这里需要注意的是使用for-in返回的属性因各个浏览器厂商遵循的标准不一致导致对象属性遍历的顺序有可能不是当初构建时的顺序。( 实例+原型中的可枚举属性 ) 1、遍历数组   虽然for..in主要用于遍历对象的属性,但同样也可以用来遍历数组元素。 var arr = ['a', 'b', 'c', 'd']; // 使用for..in for (var i in arr) { console.log('索引:' + i + ',值:' + arr[i]); } // 使用for循环 for (var j = 0;

swift学习二:基本的语法

若如初见. 提交于 2020-03-06 18:16:27
声明本文转载自:http://www.cocoachina.com/applenews/devnews/2014/0603/8653.html Swift是什么? Swift是苹果于WWDC 2014公布的编程语言,这里引用 The Swift Programming Language 的原话: Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works. Swift is the first industrial

swift学习二:基本的语法

拜拜、爱过 提交于 2020-03-06 18:15:47
声明本文转载自:http://www.cocoachina.com/applenews/devnews/2014/0603/8653.html Swift是什么? Swift是苹果于WWDC 2014公布的编程语言,这里引用 The Swift Programming Language 的原话: Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to imagine how software development works. Swift is the first industrial

Swift 简单介绍 - 苹果最新的编程语言

倾然丶 夕夏残阳落幕 提交于 2020-03-06 18:14:40
Swift 真的能够说是最新的编程语言了,2014wwdc刚刚公布,以下来了解一下都有哪些特点。 首先感谢原作者,主要内容是借鉴他的,參考链接 http://zh.lucida.me/blog/an-introduction-to-swift/ 关于 这篇文章简要介绍了苹果于 WWDC 2014 公布的编程语言——Swift。 前言 在这里我觉得有必要提一下 Bret Victor 的 Inventing on Principle 。Swift编程环境的大部分概念都源自于 Bret 这个演讲。 接下来进入正题。 Swift是什么? Swift是苹果于WWDC 2014公布的编程语言,这里引用 The Swift Programming Language 的原话: Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible and more

SQLMAP 命令详解

筅森魡賤 提交于 2020-03-06 07:22:54
Options(选项): –version 显示程序的版本号并退出 -h, –help 显示此帮助消息并退出 -v VERBOSE 详细级别:0-6(默认为 1) Target(目标): 以下至少需要设置其中一个选项,设置目标 URL。 -d DIRECT 直接连接到数据库。 -u URL, –url=URL 目标 URL。 -l LIST 从 Burp 或 WebScarab 代理的日志中解析目标。 -r REQUESTFILE 从一个文件中载入 HTTP 请求。 -g GOOGLEDORK 处理 Google dork 的结果作为目标 URL。 -c CONFIGFILE 从 INI 配置文件中加载选项。 Request(请求):: 这些选项可以用来指定如何连接到目标 URL。 –data=DATA 通过 POST 发送的数据字符串 –cookie=COOKIE HTTP Cookie 头 –cookie-urlencode URL 编码生成的 cookie 注入 –drop-set-cookie 忽略响应的 Set – Cookie 头信息 –user-agent=AGENT 指定 HTTP User – Agent 头 –random-agent 使用随机选定的 HTTP User – Agent 头 –referer=REFERER 指定 HTTP Referer 头

SQLmap命令详解

為{幸葍}努か 提交于 2020-03-06 07:22:24
SQLmap命令详解 来源于网络,侵权请通知我删除,*请不要转载 Options(选项): --version 显示程序的版本号并退出 -h, --help 显示此帮助消息并退出 -v VERBOSE 详细级别:0-6(默认为 1) Target(目标): 以下至少需要设置其中一个选项,设置目标 URL 。 -d DIRECT 直接连接到数据库。 -u URL, --url=URL 目标 URL。 -l LIST 从Burp 或WebScarab 代理的日志中解析目标。 -r REQUESTFILE 从一个文件中载入 HTTP 请求。 -g GOOGLEDORK 处理 Google dork 的结果作为目标 URL。 -c CONFIGFILE 从INI 配置文件中加载选项。 Request(请求):: 这些选项可以用来指定如何连接到目标 URL。 --data=DATA 通过 POST 发送的数据字符串 --cookie=COOKIE HTTP Cookie 头 --cookie-urlencode URL 编码生成的 cookie 注入 --drop-set-cookie 忽略响应的 Set - Cookie 头信息 --user-agent=AGENT 指定 HTTP User - Agent 头 --random-agent 使用随机选定的 HTTP User -

SQLmap是一款用来检测与利用SQL漏洞的注入神器。

给你一囗甜甜゛ 提交于 2020-03-06 07:15:56
sqlmap 重要参考 http://www.kali.org.cn/forum-75-1.html SQLmap是一款用来检测与利用SQL漏洞的注入神器。开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。 支持自动识别密码哈希格式并通过字典破解密码哈希。 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。 支持在数据库管理系统中搜索指定的数据库名、表名或列名 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。 安装

C#实现枚举的相关操作

て烟熏妆下的殇ゞ 提交于 2020-03-06 06:04:00
枚举中的Descript()描述值,以及枚举值是一种一一对应的关系。我们可以获取其描述值和枚举值,存放到字典中, 在实际的使用中我们就可以轻松的根据枚举值来获取其描述值,也可以通过枚举的描述值来获取其枚举值。 根据枚举值来获取其描述值如下: /// <summary> /// 根据枚举值来获取描述信息 /// </summary> /// <param name="e">枚举值</param> /// <returns></returns> public static string GetEnumDesc(Enum e) { DescriptionAttribute[] descAttribute = (DescriptionAttribute[])e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false); return descAttribute == null || descAttribute.Length == 0 ? string.Empty : descAttribute[0].Description; } 但是这种方法是比较单一的,只能根据一个枚举值来获取一个描述信息。 以下便可以实现获取所有的枚举值和秒速信息 /// <summary> ///