前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hacker基础之Python篇:一、环境安装和基础知识

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

作者头像
用户1631416
发布2018-04-12 13:57:32
7810
发布2018-04-12 13:57:32
举报
文章被收录于专栏:玄魂工作室

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

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

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

print('Hello, world!')

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

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

注意,上面的是Python2

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

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

所以注意这里区别Python2和Python3

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

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

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

0x04. 算法概论

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

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

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

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

step1:找到目标网址URL step2:通过URL获得目标网站的IP地址 step3:调用nmap扫描目标IP地址的端口 step4:...

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

0x05. 数字和表达式

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

2 + 2

563287465 + 756837465

然后是除法:

1/2

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

当然,还包括整除:

10 // 3

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

10 % 3

这就是取余运算符。

最后一个就是运算符:

3 ** 2

0x06. 长整数

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

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

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

0x07. 十六进制和八进制

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

0xAF

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

0o010

0x07. 其他一些基本概念

赋值语句:

x = 3

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

获得用户输入:

x = input('x: ')

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

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

本文完

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档