上一个入门系列是MSF系列,可谓是真正意义上的从零开始的,至少现在的metasploit已经足够日常所需了。
现在,新的一期入门系列要开始了!如果有想接触python但面对网络上各种教程迷茫的小伙伴们,我们可以一起出发啦!
在2019的伊始,从零开始学习python。
喏,我的flag:flag{ 20天、赶在春节前结束入门课程 } ,上车!
我们此次学习选择了python3,毕竟python2还可以坚持多久,谁也说不好。python3也并未考虑向下兼容的问题,涉及到的改变也是相当之多,有兴趣的小伙伴可以去下面的链接仔细对比。
http://www.runoob.com/python/python-2x-3x.html
概况一点说的话,python3的改动更多的是摒弃了一些规则,也替换了一些模块名称。例如下图最常见的print语句,在python3中已经摒弃,只保留了print()函数。所以为了一定程度上避免干扰,建议大家学习python先从一个版本开始。
关于IDE的问题,毕竟我们在shell命令中的输入是无法及时保存的,所以一个趁手的IDE也是有必要的。原则上你只要不使用window自带的记事本(会有中文编码问题),notepad++、Sublime Text之类的大家自行选择,比较适合新手手动不全代码(估计每一个写教程的人都会这么推荐吧,不论什么语言的学习)。当然,你如果犯懒或者有编程基础的话可以选择一个主流自动化IDE,如pycharm。
之前已经在parrot上预装了pycharm,我们开始所有语言通用的起步工作吧!
#!/usr/bin/env python3
#_*_ coding:utf-8 _*_
'''
____ _ _ _ _ __ __ _
| _ \ __ _| |__ | |__ (_) |_| \/ | __ _ ___| | __
| |_) / _` | '_ \| '_ \| | __| |\/| |/ _` / __| |/ /
| _ < (_| | |_) | |_) | | |_| | | | (_| \__ \ <
|_| \_\__,_|_.__/|_.__/|_|\__|_| |_|\__,_|___/_|\_\
'''
print('hello,world')
关于这个最起初的“hello,world”,我们来说点网上不常解释的东西。
一:#!/usr/bin/env python3
& #!/usr/bin/python3
大家都习惯性地模仿,在文件首行加一个特殊的注释,大家考虑过有什么用么?一定程度上,它方便区分是python2 or python3,但这只是凑巧,毕竟python3的环境也可以叫python。
其实该注释是为了方便在linux下不加python直接运行一个.py文件,即自动根据首行注释选择python解释器。换句话说,如果你是windows环境,这句话完全没有任何意义,但加上它就意味着更好的跨平台性。
而此处的两种写法大家在各种开源代码中都遇见过,他们的区别是前者是从环境变量中读取python3解释器的安装路径,而后者路径是写死的,直接从该目录读取python3解释器,至于为什么在这里,大家可以参考之前的《linux下的python共存》了解该目录下的软链接建立问题。
小结一下,后者目录写死,前者意味着更好的灵活性,所以我们在此选择逼格更高的,即前者#!/usr/bin/env python3
二:#_*_ coding:utf-8 _*_
& #coding:utf-8
首先在这里丢出官方文档:
https://www.python.org/dev/peps/pep-0263/
研究了一下,官方给出的结论是,效果相同。
但是如与vim齐名的Emacs编辑器不能很好的识别后者,所以代码兼容性上来讲,推荐前者,即#_*_ coding:utf-8 _*_
三:单引号 & 双引号
也许大家也已经了解过了,python下的单引号双引号几乎是等价的。但不可混用,但是你是否考虑过既然用法完全一致,同时存在的意义又是什么?
我们来看一下下面的例子:
我们尝试打印出I'm rabbit
如果只是使用单引号的话,会出现语法报错:
这种情况我们有两种解决方案。
1,借助双引号
2,借助转义符\
当然,如果你要是抬杠想输出\
的说,如此输入就好:\\
为什么要讲这些?作为一个强迫症,在flag的伊始绝不能怂!
虽然养成了良好的声明习惯,但是你或许觉得也会太麻烦,如果你使用的是pycharm等IDE的话,可以预设方案,当然要选择我们最推荐的方案。
emmmmm,作为基础还有什么好补充的呢,对了,你要知道你所使用的解释器是什么,官方下载的解释器为CPython,顾名思义,该解释器使用C语言编写。关于其他解释器我们作为入门系列默认无视。
然后、没啦,接下来的日子,相互督促吧~
我对着这个天、对着这个地、发肆,
我对PY一无所知,求PY大佬轻喷。