Python入门系列(一)——伊始

上一个入门系列是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先从一个版本开始。

11466123-5e93a50eca8be93b.png
print对比

关于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

如果只是使用单引号的话,会出现语法报错:

11466123-a0d54b1d5495a61b.png
语法报错

这种情况我们有两种解决方案。

1,借助双引号

11466123-46ec5971c77ad5ab.png
借助双引号

2,借助转义符\

11466123-b8efc4fdca114ee2.png
借助转义符

当然,如果你要是抬杠想输出\的说,如此输入就好:\\


为什么要讲这些?作为一个强迫症,在flag的伊始绝不能怂!

虽然养成了良好的声明习惯,但是你或许觉得也会太麻烦,如果你使用的是pycharm等IDE的话,可以预设方案,当然要选择我们最推荐的方案。

11466123-c99f4f4e52783cfb.png
pycharm

emmmmm,作为基础还有什么好补充的呢,对了,你要知道你所使用的解释器是什么,官方下载的解释器为CPython,顾名思义,该解释器使用C语言编写。关于其他解释器我们作为入门系列默认无视。

然后、没啦,接下来的日子,相互督促吧~
我对着这个天、对着这个地、发肆,
我对PY一无所知,求PY大佬轻喷。

猜你喜欢

转载自blog.csdn.net/weixin_33835103/article/details/86928296