前言
本章将介绍基础语法、基本数据类型、条件判断、循环、函数、模块几部分介绍Python的基础知识。
一、基础语法
1、注释
Python中单行注释以 # 开头,实例如下:
多行注释可以用多个 # 号,还有 ‘’’ 和 “”":实例如下:
2、行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
错误的缩进
正确的缩进
3、变量
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名
等号(=)运算符右边是存储在变量中的值
【----帮助Python学习,以下所有学习资料文末免费领!----】
二、基本数据类型
Python3 中有5个标准数据类型:String(字符串)、Number(数字)、List容器、Bool(布尔)、None(空值)
容器又可分为List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)四种。
其中String(字符串)、Number(数字)、Tuple(元组)、Bool(布尔)、None(空值)为不可变数据;List(列表)、Dictionary(字典)、Set(集合)为可变数据。
(一)、字符串(String)
字符串就是表示一串字符,字符可以是中文,英文或者数字,或者混合的文本。
Python中的字符串用英文状态下的单引号 ’或双引号 " 括起来。
1、用+连接字符串
先定义变量再输出结果,例如:将namestr定义为马云,moneystr定义为有钱,输出namestr+moneystr结果为马云有钱
2、用%格式化字符串,基本用法是将值插入到%s占位符的字符串中。%s,表示格式化一个对象为字符。例如:将str1定义为’我叫%s,我爹叫%s’%(‘王思聪’,‘王健林’),输出str1结果为我叫王思聪,我爹叫王健林
(二)数字(Number)
数字类型分为整数型和浮点型
整型:像11、60这种整数
浮点型:像3.14、2.50这种带小数的
(三)容器(List)
容器是用来存放数据的,是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。容器是一种可以包含其他类型对象(如列表、元组、字典等)作为元素的对象
以下面的病例数据为例,来看容器的各项操作:
1、列表(list)
列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号[]之间、用逗号分隔开的元素列表。具体操作如下:
先定义病人姓名,查看列表长度
增加一个元素:刘帅
删除一个元素:王伟
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
查询:第一个元素namelist[0]
修改:将第2个元素陈雷修改为何欢
最终列表为
2、元祖(Tuple)
元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。
元组是不可变类型,不支持增删改,只能查询
元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:
3、集合(Set)
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用set() 而不是 { } ,因为 { } 是用来创建一个空字典。
创建格式:
删除元素‘京东’
在集合中查找是否有元素‘腾讯’
集合的修改元素,需要将要修改的元素删除然后再增加新元素
4、字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号:分割,每个对之间用逗号(,)分割,整个字典包括在花括号 { } 中 ,键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
格式如下所示:
定义字典,将病人编号和病人姓名关联成为映射关系
将上面Excel表中病人数据存储
增加005号病人信息
删除005号病人信息
查询002号病人信息
将001号病人的病情进行修改
最后病例数据如下
(四)、布尔类型
布尔值只有两个:True 和 False
布尔值加上比较运算符,与两边的数据一起构成了布尔表达式,返回布尔值。所谓布尔表达式,其实就是条件测试的别名。
注:比较运算符
等于 == 大于等于>=
小于等于<= 不等于 !=
大于 > 小于 <
(五)、空值None
与SQL中null是一个意思,表示该值是一个空对象。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。可以将None赋值给任何变量,也可以给None值变量赋值。
三、条件判断
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
Python 中用elif代替了else if,所以if语句的关键字为:if – elif – else。一般形式如下所示:
注意:
1、每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。3、在Python中没有switch – case语句。
常见的边界条件分为两种
1.值比较:即>(大于),<(小于),>=(大于等于),<=(小于等于),!=(不等于),==(等于)
2.逻辑比较:and(并且),or(或者),not(不是)
3、多条件判断:当有多个条件时,如何根据条件进行判断
四、循环
循环就是把容器中每一个的数据都按照特定的规则进行重复处理数据的方式。Python 中的循环语句有 for 和 while两种。这里主要介绍for循环。
for循环的一般格式如下:
for i in 容器:
要做的事情
例如:
continue用于跳出当前循环
例如:当key=苹果时,跳出苹果的循环,继续下一个循环
break用于退出整个循环
例如:当key=苹果时,结束循环
五、函数
函数是根据一定的规则进行运算,可以重复使用的代码段。函数的3个功能为:实现特定功能、输入数据、输出结果。大部分时候我们只需要调用系统自带的函数或者第三方包里的函数即可,有的时候在处理复杂数据时,需要自定义函数。
函数一般格式如下:
def 函数名称(参数1,参数2):
函数体
Return 输出
以下面函数为例,先输入x,y两个数,定义z是x,y两个数相加,输入z(两个数相加的和),有两种方法:方法一按照函数输入的先后顺序对应传参,方法二按照参数名对应传参,当我们定义的函数参数较多时,用参数名进行传参既不用考虑参数赋值的先后顺序,也方便阅读和理解。
方法一
方法二
当函数参数为不可变数据类型(字符串、数字,元祖,布尔,空值None),如果我们定义的是改变列表的值,传递的只是该数据类型的值,不会改变数据结果。
当函数参数为可变数据类型(列表、集合、字典)如果我们定义的是改变列表的值,传递的是该变量的引用地址,会改变数据结果。
变量作用域
Python的作用域一共有2种:全局作用域,局部作用域。
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。
六、模块
我们之前介绍函数是完成特定功能的一段程序,是可复用程序的最小组成单位;类是包含一组数据及操作这些数据或传递消息的函数的集合。模块是在函数和类的基础上,将一系列相关代码组织到一起的集合体。在 Python 中,一个模块就是一个扩展名为 .py 的源程序文件。
为了方便调用将一些功能相近的模块组织在一起,或是将一个较为复杂的模块拆分为多个组成部分,可以将这些 .py 源程序文件放在同一个文件夹下,按照 Python 的规则进行管理,这样的文件夹和其中的文件就称为包,库则是功能相关联的包的集合。python常用的模块包括内置模块和第三方工具包。
1.调用python内置模块的方式如下,使用Tab键可以读取内置模块的函数LIST
引入内模块的三种语法:
import 包名称
import 包名称 as 别名
from 包名称 Import 模块名
2、调用第三方包方式如下:
七、数据结构
除了上边提到的五种数据类型,python还有一些常用的数据结构,在集合collections这个python内建的数据模块中,我们可以定义一些常用的数据结构有队列双向链表:queue、栈,计数器counter。
1、列表作为队列使用
像排队一样先添加的元素被最先取出 (先进先出,后进后出)
2、列表作为栈使用
最后一个插入,最先取出(“后进先出”)
3、计数器(Counter)
以上便是Python的一些基础内容,看起来很简单,但还是需要多敲代码才能熟练,各位伙伴我们一起加油吧!
在如今互联网技术如日中天、迅猛发展的时代,特别是云计算、大数据、物联网、人工智能等新兴领域的快速发展,对网络安全人才的需求更为迫切。
可以说,只要是生活和工作中用到网络的时候(手机联网、办公连网、车载联网、智能家居联网等场景)就有网络安全。
目前我国高校网络安全人才的培养规模每年仅3万人,在这样的背景下,即使企业给出高额薪资,也招不够人,导致网安人才平均月薪高达26K。
如何入门学习网络安全【黑客】
【----帮助网安学习,以下所有学习资料文末免费领取!----】
> ① 网安学习成长路径思维导图
> ② 60+网安经典常用工具包
> ③ 100+SRC漏洞分析报告
> ④ 150+网安攻防实战技术电子书
> ⑤ 最权威CISSP 认证考试指南+题库
> ⑥ 超1800页CTF实战技巧手册
> ⑦ 最新网安大厂面试题合集(含答案)
> ⑧ APP客户端安全检测指南(安卓+IOS)
大纲
首先要找一份详细的大纲。
学习教程
第一阶段:零基础入门系列教程
该阶段学完即可年薪15w+
第二阶段:技术入门
弱口令与口令爆破
XSS漏洞
CSRF漏洞
SSRF漏洞
XXE漏洞
SQL注入
任意文件操作漏洞
业务逻辑漏洞
该阶段学完年薪25w+
阶段三:高阶提升
反序列化漏洞
RCE
综合靶场实操项目
内网渗透
流量分析
日志分析
恶意代码分析
应急响应
实战训练
该阶段学完即可年薪30w+
面试刷题
最后,我其实要给部分人泼冷水,因为说实话,上面讲到的资料包获取没有任何的门槛。
但是,我觉得很多人拿到了却并不会去学习。
大部分人的问题看似是“如何行动”,其实是“无法开始”。
几乎任何一个领域都是这样,所谓“万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。
如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比一切都重要。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可自动领取↓↓↓
或者
【点此链接】领取