首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python编码风格、控制流程与循环嵌套的实战分享

Python基础入门篇

编码风格、流程控制和循环语句

实战经典用法秘籍

如果说编码风格是判断一个程序员是否严谨的标尺,那么流程控制与循环嵌套则是程序的骨架。后续要分享的函数、类等只有建立在流程控制和循环基础上才能显示出它们的功效。

今天的分享主要分为三个部分:

1、Python语言的编码风格;

2、控制流程语句:if...elif...else的用法;

3、while & for 循环的用法。

§

§

Python的编码风格

一、python的编码风格:

编码风格:直白地说就是我们写python代码要遵守的规范,如果想系统学习,可以参照python的编码规范PEP8.0,这里主要介绍以下三点:

(1)缩进;

(2)变量和函数的命名;

(3)打注释(注释主要作用:一是、作为自己的备忘录;二是、使别人能快速读懂你的程序,被视为一种良好的编程习惯)。

1、缩进:

如果你学过或者了解C、Java、JavaScript、R等语言,你会发现每个语句结束都会有大括号"{}"包裹起来、或者都有分号";"。如果你不了解也没关系,只需记住python的缩进就足够了。python没有大括号和其他标点符号的限制,主要靠缩进(按一下Tab键)来判断语句的开始与结束。在代码编辑器pycharm中有自动缩进的功能。

Python【缩进:indent】的代码示例:

如下图定义了一个模拟网站登陆的函数,这里先不用管什么是函数,下一节我们会具体讲解。请先记住python的缩进方式。如图中1,2,3的位置可以看出多了空当(按一下Tab键相当于按了四次空格键)但是这里特别需要注意的是:在编写程序时不要把Tab键和空格键混合使用。

问:那么问题来了,怎样缩进?这些缩进的含义是什么呢?

答:按【Tab键】来缩进;缩进是为了表示从属关系,每个层级负责控制该层级内的语句。如下图共用三层从属关系:

(1)第一层从属关系:在1的位置缩进,表示1后面所有的语句都是从属于这个函数的,换句话说,这个函数包含了1后面所有的语句。

(2)第二层从属关系:2的位置是一个while循环,表示如果用户的账号或者密码输入不正确,就让该用户一直输入直到正确为止。2的位置后面所有的语句都属于while这个循环体。

(3)第三层从属关系:在3的位置是一个if判断语句,表示如果用户的账号和密码都输入正确,就让该用户登陆成功。

输出结果:

这里我一共输入四次,前三次输入的是错误的账号密码,当然你可以多输入几次,体会一下该函数的魅力。

注:在实战中如果是缩进的原因,程序会报如下的错误:IndentationError: expected an indented block。

2、变量和函数的命名:

变量命名的作用主要有以下两点:

(1)让自己知道此变量以及其数据类型是什么。比如上图中函数名成定义为login就是说明此函数的功能是负责登录的,只要是程序员都会这个函数是干嘛用的。

(2)让其他程序开发人员通过变量名称就可以知道此变量以及其数据类型是什么。如上图中user_namepassword,别的程序员一看就知道这个是表示要输入的用户名和密码。user_name_located = "Cly"password_located = "12345",表示用户已经注册过的账号和密码,用输入的账号密码与这个已有的账号密码进行匹配,匹配成功就会让用户成功登陆。

变量命名的规范主要有以下两点:

(1)变量和函数使用小字母加下滑线的命名方式,不要采用除公认缩写以外其他的缩写方式。如上文的user_name;公认的缩写有:number--> num、attribute-->attr、object -->obj。

(2)函数命名不能采用驼峰命名的方式。假如定义一个函数命名为getMessage这样的命名是不合规范的,应该改为get_message

(3)类的命名应采用首字母大写的方式。加入我们定一个类命名get_info_from_website这样的命名是不合规范的,应该改为GetInfoFromWebsite

(4)私有变量命名采用双下划线开头加小写字母和下滑线的组合。例如。__private_var。

注:具体请参照python的编码格式PEP8.0。

3、打注释:

打注释以下两个目的:

(1)作为编程的备忘录,温故而知新;

(2)增加程序的易读性,使其他开发人员易懂和维护。

所以学习编程一定要养成打注释的习惯,不然工作时会被老大骂死的。

那怎么打注释呢?主要有两种方法。

(1)用井号键加一个空格(# ),可以看上图中login函数中的注释样例。

(2)利用6个英文的双引号或者单引号('''''' 或 """""")在引号中间写入注释内容。此方法一般是用来说明函数的功能,和类的功能时用的最多。可以参照上图中login的注释样例。

特别注意的是:在工作时,打注释的方式要和项目组开发人员打注释格式要保持一致哦!

§

§

Python的控制流程语句

二、控制流程语句:if...elif...else的用法:

用法说明:if [condition],只有condition成立时才能执行if层级下的语句;如果此condition不成立,就会进入elif[condition]语句进行判断,如果elif的condition成立,就会执行elif层级下的语句。如果if和

elif的condition都不成立,就会执行else层级下的语句。

控制流程语句类似人类思考问题的方式:

以生活中的一个例子开始对此语句进行代码实现。例子:”如果我有钱了,我就要环游世界,如果我有足够多的钱就给我的爱人买个大house,否则我就加倍努力变成有钱人实现这些愿望。”

代码实现如下图:

运行程序,输入有钱的标准,在这里我输入的是一百万。由于if的条件是金钱的数量小于等于一百万,这正好符合我们输入的1000000,此时条件成立,程序就会告诉你“你也太没有追求了,就这麽点钱看个电影都不够”。

如果我们输入一千万到一亿之间的数,那么满足第一个elif的条件,程序输出“我要去旅行”。

如果我们输入一亿及以上,那么满足第二个elif的条件,程序输出“我要给我的爱人买个大house”。

如果我们输入值都不满足条件,那么else语句就会执行,程序输出“我就加倍努力变成有钱人实现这些愿望。”

输出结果:

注:一般我们用的最多的是if语句,或者if...else语句,在多条件的情况下可使用if...elif...else语句。

§

§

Python的while&for循环语句

三、while & for循环的用法:

循环在日常生活中表现在:背书要重复背10遍;有100个表格需要汇总,要重复地复制、粘贴100次等。但是在程序中的循环,并不仅仅的

表示重复次数,还可以在每次重复时加入if判断语句和相关的方法,来处理问题或者分析提取数据。

1、while循环:

while[condition],只有condition成立(为True时)while循环才开始执行,并直到某个条件满足时才会终止。

代码示例:

如下图while的条件为True,此时while循环开始一直执行,当用户输入正确的账号和密码时程序才会终止,终止循环的方法是break。这里加入if...elif帮助你达到你想要的目标。

第一次输入正确,程序就会自动终止。

输出结果:

第一次输入错误,程序就会一直让你输入,直到正确为止。

输出结果:

2、for循环:

for循环很简单这里直接上代码了

比如我一直想吃胖,我每天都会碎念念10遍:“我有个梦想---就是想吃胖”,那么我可以用for循环帮我实现心里的愿望,代码如下图。注:range(10)专业解释是"迭代器",管他呢!你就理解为:它是与for循环搭配使用的表示重复操作的一种方法就好啦!

代码示例:

输出结果:

3、有朋友会问for和while有什么区别吗?

答:并没有太大的区别,就看你在编程中怎么运用。当循环需要在开始时加入判断语句,那可能用while循环会好一点。

4、循环嵌套:

我们用for循环实现九九乘法表的打印输出

代码示例:

输出结果:

注意:这里不要看到输出结果就万事大吉了,还要分析两层循环是怎么执行的。我的总结是:第一层循环走一步,第二层循环走完全过程,明白这一点至关重要,不然以后编程中运到更多层循环嵌套时,可能会把自己绕进去!

四、大总结:

(1)想作为一名严谨的程序员请多看python的编码规范,PEP8.0。

(2) if...else、if...elif...else等控制流程语句,在我们判断和提取信息时特别有用。

(3)while & for循环语句在做重复的事情时,必然会用到。而且还可以在循环体内嵌套if...elif...else的语句和其他方法,辅助我们完成更复杂的操作;终止循环的方式是在循序体中加入break。

§

§

下一节,我们开始Python函数分享,欢迎大家继续跟贴,一起学习交流。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190113G112OA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券