ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

四 Python编程,基础中的基础,很多人其实没有搞清楚

2021-07-14 21:33:53  阅读:292  来源: 互联网

标签:缩进 编程语言 Python 代码 编程 基础 标识符 我们


目录

1 前言

2 何为标识符?

3 何为保留关键字?

4 什么是代码行 ?

5 Python独有的规则 缩进

6 注释,大佬都很重视它

7 编码表


1 前言

尝试编写Python代码前,这些非常基础的代码规则是值得认真理解的,这些规则能让老手避免一些容易犯的错误、让新手能更快更好的做到“听、说、读、写”。有些规则适用于大部分编程语言,有的是Python独有的。

这些规则要比我们在支付宝集各种福要简单得态度多。这些规则它们是:

  1. 标识符

  2. 保留关键字

  3. 缩进

  4. 注释

  5. 编码

2 何为标识符?

在我们理解这些基础游戏规则时,我们不用去纠结为什么规则要这样设定。只要知道规则本身就好。我们先来看一段简单的代码,看看我们的代码是如何由这 6 个元素组合在一起的。

img

上面的代码中,哪些是标识符?:只要符合下面这两条规则,就是标识符。

  1. 第一个字符必须是字母表中字母或下划线 “_”。

  2. 标识符的其他的部分由字母、数字和下划线组成。

在Python最新版本中,可以使用中文和非ASCII码(什么是ASCII,后面有解释)来做标识符。现在,我们把上面代码的标识符标记出来。

img

我们可以看出,标识符是我们编程语言的主要组成元素。不仅仅是Python,其他编程语言也是这样。我们可以联想一下,我们自己和周围任何事物他们都有一个“名字”,比如你叫什么?你正在做什么?你喜欢什么?等等。编程语言中的 标识符 ,和我们平常用于描述世界的“名字”是一样的,它们都代表着某些含义。

3 何为保留关键字?

在上面的代码里,有一些标识符我们是可以任意发挥的。比如 text 这个标识符,我们可以将其统一修改成 text1,tex_t,wenzi等等。修改后我们程序依然可以健康的运行。

但有一些标识符可千万不能这样!假如我们把 if 这个关键词,统一修改成,ruguo。那么Pycharm马上会给出错误提示,如下图:

img

Pycharm会提示我们,在选择结构语句里,不理解 ruguo是个什么鬼。也就是说,在整个Python代码里,有一部分标识符,它有如下特点:

  1. 它不能乱来,比如 if ,不能写成 iff,只有写成 if ,python才认识。

  2. 这些不能乱来的标识符,通常都是用在特定的语法结构里的,比如选择,循环等等。

  3. 如果我们在语法结构外用这些特殊的标识符,也是不行的。比如一个变量起名为 if 。

拥有这些特点的标识符,就叫做保留标识符,或保留关键字,它们是让Python解释器看懂我们编写代码的基石。就像是英语有26个英文字母,这些字母就是英语里的保留关键字,26个字母构成了庞大的英语知识大厦,那么Python的这些保留关键字,构成了负责丰富的软件代码。

下图,我们把保留关键字标记出来。

img

要查看Python 的所有保留关键字,我们可以启动Python的交互器,然后输入下面代码,就可以看到。

img

这些关键字,分别如下:

False,None,Ture,__peg_parser__,and,as,assert,async,await,Break,class,continue,def,del,elif,else,except,finally,for,form,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield。

在Python里,每个保留关键字都有其特殊含义和用法,在后续教程里会为大家一一解释。我把这些单词一一罗列出来是想告诉大家,只要我们弄明白这些单词在Python里的作用,那么就可以用Python做任何事情,只有你想不到,没有你做不到。

所以说学会一门编程语言并不难,难的是寻找问题的解决方案,和知道从哪里开始入手解决问题。

4 什么是代码行 ?

img

上图最左边的就是代码行的标识,比如第六行代码,是 “text = text.lstrip()”。

还记得我们在上一篇教程里提到的代码顺序结构吗? 电脑执行代码就是按照顺序结构一行一行的来。代码行很好理解。曾经有一个小伙伴,问了很多人想问但不敢开口的问题。我能否把一堆代码都写在一行代码里?

答案是可以的,如下图:

img

只要我们合理的把之前换行的地方加上“;”(Python里也可以用“;”代表语句的结束,但Python自己并不支持这样的操作)就可以了。但这样做真的好吗?把代码写成一行有如下坏处:

  1. 不方便阅读

  2. 不方便定位问题

  3. 需要一个很宽的显示器

无论是Python,还是Java这些编程语言,都不鼓励把代码写成一行,除非你对你的同事和公司有很大的意见,或者你就是偏执的想去试试看(别问为什么我知道)。

img

我在实际的开发工作中,遇到更多的情况是一行代码太长了,我们想给它一个好的阅读体验,可以把这很长的一行代码分成几行来写,但对于Python来说,它还是一行。看如下截图:

img

还有一个小白特别好奇,但又不敢问的问题。为啥代码之间要空行?不空行难道不更节省行数吗?难道不是代码越少越好吗?(这是一个严重的误区)

确实,编程语言没有规定什么时候空行、什么时候不空行。

我们来看下图:

img

左边的代码是根据语义的逻辑来空行的,没有任何规则可言,就像我们写日记有段落一样。

右边是完全没有空行的。

是不是左边的代码读起来会更清晰一些? 我们来总结一下,空行的作用。

  1. 用空行来组织代码,让代码读起来更有代入感。

  2. 也让我们在理解代码的时候,更专注于一些 “逻辑块”。

5 Python独有的规则 缩进

在大部分开发语言里,缩进不是强制性的,它和上面的空行一样,用来让代码看上去更舒服。但在Python的世界里,缩进却是一个很重要,用来控制代码层级的东西。那什么是代码层级?

层级是一种看事物的视角!大部分的代码编写设计理念,都要用到这个概念,生活中也是。

举个例子:

img

上面是一辆杜卡迪的超跑(v4),我的梦想车子。在消费者眼里,这辆车是由两个半热熔轮子、一个邮箱、一个四缸的V字发动机,和一个骚气的红色涂装,这是消费者的视角。

若我们站在发动机设计师的视角,这台四缸V字发动机,又由气缸、电喷系统、火花塞、油泵等组成。若我们站在电喷系统设计师的视角来看,又可以看到更细致的东西。

软件开发项目也可以这样,从产品线,到产品,功能,到模块,到子模块,到类,到方法,到语句块,到具体的代码等等。

在所有的开发语言里面,也有这样的视角,不同的视角对于审视一个开发项目会有不同的帮助。这些视角送“大”到“小”分别是。软件、API、插件、包、文件、类、方法、代码块。

这些晦涩难懂的词语大家不用去想象它是个什么样的东西,后面我会帮助大家去理解,到哪个场景,再来理解这些词语,就会明朗很多。

在Python里,缩进就是用来控制代码块层级关系的,直接上代码:

img

红色框里,相比第一行代码,向右边缩进了四个空格,或者叫一个“Tab”。这是Python的最小缩进单位,少一个空格都不行。

第一行代码:def test(): 回车后,来个缩进,说明下面同样缩进的代码都属于 def text(),这里的def是函数,或者方法的关键字,用来定义打包的方法的。对于函数,方法的用法,背后的思想后面会为大家详细的介绍。这里的重点是理解缩进的用法。

在看黄色框里面代码,它是黄色框外,上一行代码缩进后的代码。意思就是说它是上一行代码的子代码块。同理在看绿色框里的代码。

Python通过缩进把一个代码文件里代码的层级关系给说明了,这样的做法很想我们在用word编写文档时,整理文档大纲一样。

在Pycharm里面,我们可以把子代码收起来,只看父级代码,就像我们有些时候看书,只看标题一样,能快速浏览书中的思想。

img

点击“-”好可以收起子代码。如下图。

img

在其他开发语言里面比如 Java,C++,C语言里,缩进是可以随便乱用的,它们的缩进只是为了让代码排版好看。在这些语言里要来控制代码的层级关系,用的是“{”,“}”,大括号这两个字符。

6 注释,大佬都很重视它

注释就是代码的旁白,用来说明代码的含义和构思的,是给其他开发人员看的,Python不会理会它们。在一些严格的软件公司里,经验丰富,负责的工程师在编写代码的时候,差不多5,6行代码就会写一个注释,这个注释说明这5,6行代码的含义。

注释的规则很简单,在一行代码的开头,写一个#号,后面紧跟注释的内容就行。注释虽然简单,但注释非常重要。

我自己写代码的时候,就要求自己写注释,这样可以避免自己写的代码时间长了自己看不懂的情况。下图标记出来的代码就是注释。

img

不同开发语言,注释的写法不一样,但都很容易理解。

7 编码表

不关注编码这个概念,会让很多程序员在寻找“乱码”这类BUG时候毫无头绪,我自己在工作中也是经历过了很多“折磨”才慢慢对编码这个东西充满了敬仰。

img

  1. 那什么是编码?

  2. 我们在用Python编写代码的时候要注意些什么事情?才不会被编码折磨?

首先编码它不是一个语法,或者游戏规则,它是一种比编程语言还“老”的东西。我们能在电脑屏幕上看到的东西,都和编码有关。

如果现在我们手里有一个硬盘和一个特殊的显微镜,那么我们可以通过这个显微镜看到硬盘里面存储的东西。它们都是一些逻辑开关,如果用0来代表关,那么1就代表开。这些数以亿计的逻辑开关,一个一个排布在一起就形成“01011010”。

img

目前,在计算机里,“00000000”代表“空格”,“01000110”代表大写的F。通过这些01010101来定义我们现实生活中用到的符号,这个过程就叫做编码。由这些编码规则组合起来形成的表,叫做《信息交换标准代码》。

第一个国际标准的《信息交换标准代码》叫做ASCII表,诞生于1967年,那时我爸刚刚14岁。好了知道了编码表后,那它对我们编程有什么影响?

最早的ASCII表里,字符交换信息没有中文,也就意味着那个时代的编程语言,不能处理中文。慢慢的随着我国自己推出了一个字符交换的中文标准GBK2312,这个表非常巨大,毕竟要对应那么多的汉子,这个表解决了在编程语言里处理中文的问题。

但其他语言怎么办?

img

于是一个国际统一的标准 UTF-8 诞生。简单理解,UFT-8可以包括我们人类能认知的99.9%的符号。

如果这些标准,我们一开始没有注意,比如我们在ASCII编码环境下使用中文,那么中文就会出现乱码。

又或者我们的编程语言是UTF-8。但我们对接的网络接口用的是GBK2312,那么同样会出现字符乱码的问题。所以在不同平台,不同设备,不同软件间,学程序的时候,就要注意这个编码环境。目前Python3默认支持的是 UTF-8 这种格式。

假如,我们要基于一个GBK2312编码格式的数据库编程,我们就要在Python3代码前加一个代码提示符,意思是告诉Python。我们想要在GBK2312这个环境下编写代码。如下图:

img

好了,Python代码最基本的编写规则就这些了,是不是很简单? 大部分编程语言的编写规则就是这些,学习一门开发语言其实就是学习它的规则,要学好一门开发语言就要弄明白规则背后的原理。

编程语言并不难,它只是一个基本的工具,掌握它你就会编程了,但要作为一个优秀的程序员,编程语言只是其中很小的一块知识结构,重要的是编程的思想、意识、方法,也是我们后面要介绍的重点,学习这些没有任何技巧,需要的是耐心。

下面的课程开始为大家介绍 Python基础编程的知识,同样它们也不难,比起支付宝集福的规则要简单太多。

标签:缩进,编程语言,Python,代码,编程,基础,标识符,我们
来源: https://blog.csdn.net/u011511073/article/details/118737573

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有