Hacker基础之Python篇:一、环境安装和基础知识

Hacker基础之Python篇:一、环境安装和基础知识

0x01. 前言

        emmmmmmm…你只需知道这是一门用途很广的语言,上到大数据AI,下到Linux运维,都可以使用Python,当然,黑客也用Python。


0x02. 环境安装

        学习Python之前,希望你具备了一定的Linux基础,一定的C语言基础,所有的操作都是在Linux上完成,Python的版本是Python3 (注:Python2将在2020年停止支持)。

        为啥是在Linux上?

        因为Windows有大量的非ASCII字符,举个栗子:比如英文的|和中文的|,你看上去就是完全一样啊,但是其实他们这两个符号在系统中的编码是不一样的~

        所以很多Python (当然还有其他语言的) 新手写代码时候经常就会莫名其妙,明明就是照着书上抄的代码,和书上一模一样,为什么总是运行出错 (黑人疑问脸 )???然后这种事情一多之后,对学习的热情就断崖式下降了。

        所以我建议各位未来的黑客,使用Linux(英文版)作为你学习Python(还有其他语言)的操作系统,然后我们就开始Python安装。


        Windows(不建议):

        从Python的官网下载安装文件msi之后,点击安装,然后在Path里面加入Python的文件目录就行(具体请Bing)。


        Linux:

        Linux已经自带了包括Python2.7和Python3.5,所以如果你安装了一个Linux的虚拟机或者物理机,这里的安装就会非常非常非常简单(这里你什么也不用做)。


0x03. 基础知识之初步了解Python

        此处直接默认系统为Linux,我们首先尝试着打开Python3,打开Terminal,输入


python3


Hacker基础之Python篇:一、环境安装和基础知识

        然后我们就可以进入Python的交互式解释器,这看起来不是很有趣,但是,请相信我,它确实是充满了趣味,这是进入Hacker殿堂的大门,是控制计算做你想做的事的第一步。

        我们试着输入下面命令看看它是否正常工作。


print(‘Hello, world!’)


当按下回车键之后,会得到下面的输出:


Hacker基础之Python篇:一、环境安装和基础知识


这里说明一下,在Python2中,print不是个函数,也就是你可以这样输入一个字符串:


Hacker基础之Python篇:一、环境安装和基础知识

注意,上面的是Python2

但是在Python3中,print已经被成了一个函数,也就是可以接受参数了


如果我们在Python3中还是延续Python2的语法,就会报错:


Hacker基础之Python篇:一、环境安装和基础知识

所以注意这里区别Python2和Python3


那个>>>符号就是提示符,在后面写入正确的命令按回车之后就可以执行,并在下面显示执行结构,前提是命令有回显


如果我们随便输点什么内容,试试看:


Hacker基础之Python篇:一、环境安装和基础知识


Python的解释器就会不明白你的输入,并且释出了一个NameError


0x04. 算法概论

        在开始学习Python编程之前,我们首先解释一下什么是计算机程序设计。

        简单的说,就是告诉计算机要做什么,怎么做。

        所以,算法就是告诉计算做这个东西步骤或者做这个菜谱是怎样的。

        如设计一个自动化攻击渗透的程序,我们可以得出下面的流程:


step1:找到目标网址URL

step2:通过URL获得目标网站的IP地址

step3:调用nmap扫描目标IP地址的端口

step4:…


以上就是一个广义上的算法,本质和计算机狭义的冒泡排序算法,最短路径算法没什么区别。


0x05. 数字和表达式

        交互式的Python解释器可以当作非常强大的计算器使用,当然,这就意味着做数据分析时候很方便,试试以下例子:


2 + 2


563287465 + 756837465


Hacker基础之Python篇:一、环境安装和基础知识


然后是除法:


1/2


Hacker基础之Python篇:一、环境安装和基础知识

如果在Python2里面执行的话,这个1/2操纵只会留下0,因为除数和被除数都是int,所以结果也只取int类型,故在Python2里面执行1/2=0


当然,还包括整除:


10 // 3


Hacker基础之Python篇:一、环境安装和基础知识


处理加减乘除之后,还有一个非常有用的运算符:


10 % 3


Hacker基础之Python篇:一、环境安装和基础知识


这就是取余运算符。


最后一个就是运算符:


3 ** 2


Hacker基础之Python篇:一、环境安装和基础知识


0x06. 长整数

        Python可以处理非常大的数,这和C语言里面不一样,C语言里面int类型取值范围是[-2147483648, 2147483647],但是在Python里面你可以不用受这限制:


Hacker基础之Python篇:一、环境安装和基础知识

你可以输入你希望的任意大小的值,所以这对于进行科学计算来说相当容易,你不用担心int类型的变量会不会溢出。


Hacker基础之Python篇:一、环境安装和基础知识

同样的大数运算也是可以的。


0x07. 十六进制和八进制

    在Python中,十六进制的数字可以这样书写:


0xAF


Hacker基础之Python篇:一、环境安装和基础知识


而八进制的数字可以如下书写,注意第二个字母为o,不是0


0o010


Hacker基础之Python篇:一、环境安装和基础知识


0x07. 其他一些基本概念

        赋值语句:


x = 3


        这句话的意思就是将3这个值赋值给了x变量。

        获得用户输入:


x = input(‘x: ‘)


Hacker基础之Python篇:一、环境安装和基础知识


在你按下回车键之后,交互式解释器会输出你对input函数的入参,然后等待用户输入一个值:


Hacker基础之Python篇:一、环境安装和基础知识

我们输入一个值之后,x就被赋值等于了3,现在,你可以用x做一些基本的操作,包括加减乘除等等。


本文完

发表评论

电子邮件地址不会被公开。 必填项已用*标注