python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

原标题:推荐|零基础学习Python基础知识

Python是一种面向对象、解释型计算机程序设计语言。语法简洁清晰,强制用空白符作为语句缩进。 Python具有丰富和强大的库,又被称为胶水语言。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。

1.1 介绍

1.1.1 特点

Python是一种面向对象、解释型计算机程序设计语言。语法简洁清晰,强制用空白符作为语句缩进。

Python具有丰富和强大的库,又被称为胶水语言。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。

1.1.2 应用领域

Web网站:有很多优秀的开源Web框架,比如Django(最流行)、Tornado(轻量级、异步)、Flask(微型)、Web.py(简单)等。

数据采集:有好用的http库,比如urllib2、requests等。还有高级的屏幕爬取及网页采集框架scrapy。并对网页解析也有很多库,比如lxml、xpath、BeautifulSoup等。

大数据分析:常用模块有Numpy、Pandas。并支持写MapReduce、PySpark处理Spark RDD(弹性分布式数据集)。

运维自动化:编写脚本、Web平台,自动化日常工作。

科学计算:在科学计算也应用越来越广泛,常用的模块有Numpy、SciPy。

等等...可见Python是一门通用语言!

1.1.3 为什么选择Python?

运维的目的呢,主要还是学习Python用来实现运维自动化了。大多数人除了shell脚本外有其他语言基础的应该占少数。

我们以Python作为第一门语言是很好的选择。为什么呢?

1) 语法简洁,易于学习。

2) 广泛的标准库,适合快速开发,不就追求极快处理速度。

3) 跨平台,基本所有的所有的操作系统都能运行。

4) 运维领域Python最流行。

1.2安装Python

操作系统采用CentOS6.5,默认安装了Python2.6.6,那我们升级到Python2.7最新版Python2.7.12

33cb403829ae40b69ea849ecc608bb10.jpeg

18dd7009f477468e9127c4f5f6da7c16.jpeg

34e79c57390a47c69d149f8181f9d932.png

1.3解释器

1.3.1 Python解释器几种实现版本

1) CPython

当我们装完Python后,其默认解释就是CPython,也是官方默认解释器。CPython是C语言写的,当执行代码时会将代码转化成字节码(ByteCode)。

2) IPython

基于CPython之上的一个交互式解释器,相当于默认解释器的一个增强版,最显著的功能就是自动补全,挺好用的。

3) PyPy

PyPy本身是由Python编写的,使用了JIT编译器(即时编译器)技术,当执行代码时JIT编译器将代码翻译成机器码。性能相比CPython要好。JAVA也采用了JIT编译器。

4) Jython

Jython是由JAVA编写的一个解释器,可以把JAVA模块加载到Python的模块中使用,也可以把Python代码打包成JAR包,意味着允许用Python写JAVA程序了。当执行代码时会将代码转化成JAVA字节码,然后使用JRE执行。

5) IronPython

在.NET平台上工作的Python语言。

1.3.2 Python代码执行过程

大致流程:源代码编译成字节码(.pyc文件)--> Python虚拟机 --> 执行编译好的字节码 --> Python虚拟机将字节码翻译成对应的机器指令(机器码)

运行Python程序时,先编译成字节码并保存到内存中,当程序运行结束后,Python解释器将内存中字节码对象写到.pyc文件中。

第二次再运行此程序时,先回从硬盘中寻找.pyc文件,如果找到,则直接载入,否则就重复上面的过程。

这样好处是,不重复编译,提供执行效率。

1) 字节码

字节码是一种包含执行程序、由一序列op代码/数据对组成的二进制文件。字节码是一种中间码,比机器码更抽象。

2) 机器码

机器码是一种指令集,让CPU可直接解读的数据。也称为原生码。

1.4 代码风格

1.4.1 代码风格有毛用?

个人觉得有以下几个作用:

1) 团队协作

在企业中,一个团队开发一个项目很正常不过了,刚入职是不是会先让你熟悉本公司的编码规范文档呢,作为纯开发来说,我相信大多数公司都会这么做,其中目的是让团队中的每个成员,写代码时能够统一,避免项目中出现几个编码风格版本,不利用后期维护和交接。

2) 有利于解决问题

草泥马,又出问题了,代码运行不起来了,怎么办?百度、谷歌无解...是时候求助大神了,来看看我的代码吧!大神一看,琢磨了一会,你想多了,不是再想你的问题,而是在梳理你的代码实现的功能和逻辑关系。结果发现,多了括号。擦,我怎么就没看到呢!~

3) 未雨绸缪

功能终于实现了,发布到线上运行也挺正常,过了半年后,突然跑不起来了,赶紧排查问题,代码看着看着自己就懵逼了,这还是自己写的代码嘛,长的这么不像我,是亲生的嘛!

小结:只要人人都献出一点爱,世界将会变成美好的人间。

1.4.2 编写代码怎么能更规范化?

1) 缩进

Python以空白符作为语句缩进,意味着语句没有结尾符,给往往因为少写个fi的人带来了福利,在Python中最好以4个空格作为缩进符。

2) 代码注释

据说优质的代码,注释说明要比代码量多,详细的代码说明不管对自己后期维护还是开源,都是有必要的。就像一个流行的软件,如果没有丰富的使用文档,你认为会有多少耐心的人去花大把的时间研究它呢!

3) 空格使用

在操作符两边,以及逗号后面,加1个空格。但是在括号左右不加空格。

在函数、类、以及某些功能代码块,空出一行,来分隔它们。

4) 命名

模块:自己写的模块,文件名全部小写,长名字单词以下划线分隔。

类:大/小驼峰命名。我一般采用大驼峰命名,也就是每个单词首字母大写。类中私有属性、私有方法,以双下划线作为前缀。

函数:首单词小写,其余首字母大写。

变量:都小写,单词以下划线分隔。

提醒:所有的命名必须能简要说明此代码意义。

5) 代码换行

按照语法规则去换行,比如一个很长的表达式,可以在其中某个小表达式两边进行换行,而不是将小表达式拆分,这样更容易阅读。

1.5 交互式解释器

直接执行Python命令就启动默认的CPython解释器:

4b6c61bd21cf40fe97504eb1a7f053c5.jpeg

1.6 运算操作符

994d86f27e4540baa4441464eecb595f.png

1.7 赋值操作符

fb999081559748b9aea75021cad54f4b.png

赋值操作符,操作符左边运算右边,然后将结果赋值给操作符左边。

1.8 变量

1.8.1 变量赋值

f06aaffd509b45f2b37529eee3fd890e.png

1.8.2 变量引用

上面打印时就是在引用变量了,可见Python引用变量不用加$什么特殊字符,不像Shell、PHP那样,还要加$。

的确,直接用变量名即是引用,下面说一种常用的字符串格式输出时引用变量的方法。

4357f5f0a01b4463a6d3f13273cf86f6.png

说明:双引号里面%操作符算是占位符吧,d代表数字,s代表字符串。双引号外面%加上后面的变量名对应里面的第一个%。

下面同时引用了两个变量,外面%()里变量名位置对应双引号里面的%位置。

1.8.3 局部变量

a1c97931ac2645b6a3a7533cdf1251e3.png

1.8.4 全局变量

ab93878400104b4ebe128c94827af469.png

说明:从上面并不能看出什么区别,后续在函数章节中会讲解局部变量和全局变量的区别和使用。

1.9 转义字符(列出一些常用的)

3b69803e7c4a4c1a8a185899817bf3b7.png

示例:

f685616e31e04b9789728e658b60b28c.png

如果不想让转义字符生效,可以用r指定显示原始字符串:

b72e03fff2584ca8b098a9d8aad011d2.png

1.10 获取用户输入

1.10.1 raw_input()

3b2445d752e34f3ca192057a36e0cf64.png

1.10.2 input()

a0681c5bc8704d99baffab4aca6e7c6c.jpeg

1.10.3 raw_input()与input()函数区别

可以看到两个函数用同样的方式输入,结果input()报错!

原因是因为raw_input()把任何输入的都转成字符串存储。

而input()接受输入的是一个表达式,否则就报错。

1.11 运行第一个程序

7a6044203b324526a380087b77f4bedb.png

easy!打印Hello world已经没什么难度了,那改进下刚学接受用户输入。

e0aa4a97adb647fa902df0386b245c14.png

1.12 注释

单行注释:井号("#")开头

多行注释:三单引号或三双引号

6066a62fe0034385bdb1e145f60df7c2.png

原文:http://lizhenliang.blog.51cto.com and https://yq.aliyun.com/u/lizhenliang返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值