安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

Python流程控制和导入模块语句详解

4月16日 听雨眠投稿
  一、流程控制语句
  1。程序结构
  计算机在解决问题时,分别是顺序执行所有语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。如下图:
  2。选择语句2。1最简单的if语句
  Python使用保留字if来组成选择语句,其格式如下:if表达式:代码块
  表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行代码块;如果值为假,就跳过代码块,执行后面语句,如图
  注:1。在Python中,当表达式的值为非零的数或者非空的字符串时,if语句也认为是条件成立(即为真值)。
  2。使用if语句时,如果只有一条语句,那么语句块可以直接写到冒号:的右侧。但为了代码可读性不建议这么做。
  3。常见错误:1。if语句后面未加冒号number3ifnumber3后面未加冒号,正确的是结尾处添加英文半角的冒号:ifnumber3:print(number)2。使用if语句时,如果在符合条件时,需要执行多个语句,一定要记得按照逻辑顺序进行代码缩进,否则程序的本意会有变化,但程序不会报错,且bug不容易发现。代码1:number3ifnumber3:print(number)print(这个是5)代码2:number3ifnumber3:print(number)print(这个是52。2。ifelse语句
  Python中提供ifelse语句来解决两个选择问题,其格式如下:if表达式:语句块1else:语句块2
  使用ifelse语句时,表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行代码块;如果值为假,执行else后面的代码块。如图所示:
  技巧:ifelse额语句可以使用条件表达式进行简化,如下:a5ifa0:baelse:baprint(b)简化:a5baifa0elseaprint(b)
  注:1。在使用else语句时,else一定不可以单独使用,它必须和保留字if一起搭配使用。
  2。程序中使用ifelse语句时,如果出现多个if语句多余else语句的情况,那么该else语句将会根据确定该else语句属于哪个if语句。2。3。ifelifelse语句
  在开发程序时遇到多选一的情况,则可以使用ifelifelse语句,具体情况如下:if表达式1:语句块1elif表达式2:语句块2elif表达式3:语句块3else:语句块n
  使用ifelifelse语句时,表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行语句;如果值为假,则跳过该执行语句,进行下一个elif判断,只有表达式全部为假的情况下,执行else后面的代码块。如图所示:
  注:1。if和elif都需要判断表达式的真假,而else则不需要判断;另外elif和elif都需要跟if一起使用,不能单独使用。
  2。使用if语句时尽量遵循以下原则:(1)。当使用布尔类型的变量作为判断条件时,假设布尔类型变量为flag,较为规范格式;ifflag:表示为真ifnotflag表示为假不符合规范格式:ifflagTrue:ifflagFalse:(2)。使用if1a:这样的书写格式可以防止错写成ifa1:这种形式,从而避免出错2。4if语句的嵌套
  前面已经介绍了3种形式的if语句,这三种都可以进行相互嵌套:
  (1)。在最简单的if语句中嵌套ifelse语句,形式如下:if表达式1:if表达式2:语句块1else:语句块2
  (2)。在ifelse中嵌套ifelse语句,形式如下:if表达式1:if表达式2:语句块1else:语句块2else:if表达式3:语句块3else:语句块4
  注:if选择语句可以有多种嵌套方式,开发时可以可以根据自身的需要进行选择合适的嵌套方式,但一定要严格控制好不同级别代码的缩进量。3。条件表达式
  在程序开发过程中,经常会根据表达式的结果,有条件的进行赋值,例如返回最大值:a6b3ifab:caelse:cb
  针对以上代码,使用条件表达式进行简化,如下:a6b3caifabelseb4。循环语句4。1while循环
  while循环是通过一个条件来控制是否要继续反复执行循环体(循环体是指一组被重复执行的语句)中的语句。while条件表达式:循环体
  当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假是退出循环体。
  注:在使用while循环语句时,一定不要忘记添加将循环条件改变为Flase的代码,否则,将产生死循环。但开发中也离不开死循环,可根据情况进行编写。4。2。for循环
  for循环是一个依次重复执行的循环,通常适用于枚举、遍历序列和对象中的元素。语法如下:for迭代变量in可迭代对象:循环体
  迭代变量用于保存读除的值,对象为遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串,列表,元组等,循环体为一组被重复执行的语句。
  for循环语句可以最基本的应用就是进行数值循环和遍历字符串。还可以进行遍历列表、元组、集合和字典。4。3。循环嵌套
  在Python中,是允许在一个循环体中嵌套另一个循环。
  (1)。在while循环中嵌套while循环while条件表达式1:while条件表达式2:循环体2循环体1
  (2)。在for循环中嵌套for循环for迭代变量1in对象1:for迭代变量2in对象2:循环体2循环体1
  (3)。在while循环中嵌套for循环while条件表达式:for迭代变量in对象:循环体2循环体1
  (4)。在for循环中嵌套while循环for迭代变量in对象:while条件表达式:循环体2循环体1
  特殊案例:九九乘法表foriinrange(0,10):forjinrange(1,i1):print(str(j)str(i)str(ij),endprint()5。跳转语句
  当循环满足一定条件时,程序会一直执行下去,如果需要在中间离开循环,也就是for循环结束重复之前,或者while循环找到结束条件之前,即break语句和continue语句。5。1break语句
  break可以终止当前循环,包括for循环和while循环在内的所有控制语句。
  在while中使用break语句:while条件表达式1:执行语句if条件表达式2:break
  在for中使用break语句for迭代变量in对象:if条件表达式:break
  while语句使用breakfor语句中使用break5。2。continue语句
  continue语句的作用没有break语句强大,他只能终止本次循环而提前进入下次循环中。
  在while中使用continue语句while条件表达式1:执行代码if条件表达式2:continue
  在for中使用continue语句for迭代变量in对象:if条件表达式:continue
  while语句使用continuefor语句中使用continue
  注:break与continue的区别
  break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层循环。
  continue语句一般也会结合if语句进行搭配使用,表示在某种条件下,跳出当前循环的剩下语句,继续进行下一轮循环,如果使用嵌套循环,continue语句将只跳过最内层循环中剩余语句。6。pass语句
  在Python中pass语句表示空语句,它不做任何事情,一般起到站位作用,常用在代码调试等。例:foriinrange(1,10):输出110的数不包含10ifi20:判断是否是偶数print(i,end)在同一行打印偶数else:不是偶数pass占位符,不做任何事情,直接跳过输出结果为:2468
  二、导入模块语句import,fromimport解析
  python代码,一般第一行代码都是import或fromimport,作用是导入功能模块,然后利用模块内的函数编写代码,减少大量的代码编写时间,是python的一大特色。但是,在实际写码过程中,初学者往往因对import处于一知半解,导致经常出现一些莫名其妙的问题,严重影响学习心情和效果。本文特对此进行详细解读,帮助避坑。
  导入的是什么?
  用import导入时,代表的是模块,也就是说,import导入的是模块,不是包、类、函数。
  用fromimport时,第一个代表的也是模块,第二个代表的则是模块内的类或函数。意思是从模块里导入其中的某个函数或类。具体下面有详解。
  什么叫模块
  模块是含有类或函数的py文件,也就是说,我们写的每一个py文件,都是模块。只不过专门的模块文件里面必须有函数或类,而我们一般写的py文件,是直接写功能代码,不一定需要有函数或类。举个例子:
  不含函数直接写功能代码的Py文件:
  print(hellow)
  运行结果:hellow
  含函数的功能模块Py文件:
  def打印():print(hellow)ifnamemain:打印()
  运行结果:hellow
  其中,def打印()就是定义名为打印的函数。通过ifnamemain:在本模块文件内调用打印函数,执行函数内的print(hellow)代码。为何要用if语句,本号在ifnamemain的作用文章里已经讲解,有疑问的可移步查看。
  将上面含函数的功能模块py文件取文件名为试验,保存后得到试验。py文件,就是一个可供其他py文件导入调用的模块。调用方法为:
  import试验试验。打印()
  运行结果:hellow,注意调用是文件后缀。py不要写,只写文件名。
  另一种调用方法为:
  from试验import打印打印()
  运行结果:hellow,from试验import打印:意思就是从试验模块文件里导入打印函数到本文件,导入后,就可直接使用函数名,函数名前面不加模块名。
  专门用作模块的py文件,一般没有if语句,只能被调用,独自不能运行。比如上面的试验。py文件,如果我们删掉if语句,变成下面的代码:
  def打印():print(hellow)
  直接运行得不到hellow的结果,用上面的两个调用方法,则不受影响。
  什么叫函数
  通过上面的例子,我们不仅知道了py文件都是模块文件,而且知道了在调用模块时,最终使用的是模块文件里的函数,比如上面案例里的打印就是函数。所以,函数其实就是包含了具体功能代码,用def函数名()定义的功能代码块。
  在模块导入方面,类的性质和函数是一样的,只不过类有其专有的属性和方法,此处不细讲。
  什么叫包
  我们知道了import后面的号代表的都是模块,但有时候我们会遇到这种用法:
  importtkinter。filedialogtkinter。filedialog。askopenfilenames(filetypes〔(excel文件,。xlsx)〕)
  import后面代码的中间有个小点,这就是导入包内模块的用法:小黑点前面是包的名称,后面是包含在包内的模块名称。
  tkinter:就是一个功能包,包内含有多个子包或模块。
  filedialog:是包含在tkinter包内的其中一个模块。
  askopenfilenames:是包含在filedialog模块内的其中一个函数。
  初学者有时候依葫芦画瓢会弄成这种用法:
  importfiledialog。askopenfilenames
  这就是误将函数作为模块进行导入了,程序会报错。如果真想导入askopenfilenames函数,可用formimport用法,但注意,模块名必须带上包名,写成下面的样子:
  formtkinter。filedialogimportaskopenfilenames
  若漏了包名:
  formfiledialogimportaskopenfilenames,也会报错
  了解这些概念和用法后,严格按这个用法,基本就没有问题了。但有时也会遇到报错,这是因为模块导入顺序的问题。
  模块分类
  python的模块函数分4类:
  1、python自带函数:不需进行import导入可直接使用,比如print()函数,就是直接用。
  2、python标准函数库:安装Python时,会随带着安装一些标准函数,在python安装路径下的lib文件夹里,打开lib文件夹会发现很多py文件,这些就是标准函数,通过import导入后就可使用。
  3、第三方库:有很多功能强大的模块函数,没有在标准库里,比如操作excel用到的openpyxl模块。这时用import导入时,会提示找不到这个模块文件。需要将其提前下载安装到lib文件夹里,然后再导入。下载方法为:打开cmd,输入pipinstallopenpyxl,回车即可。
  4、自己写的py文件模块:自己写的含有def函数的py文件,可作为模块导入使用。前面的含有打印函数的试验。py文件,就是使用自建模块的例子。
  import试验试验。打印()
  模块导入顺序
  我们知道,python标准库里有很多模块文件,比如下面的这个文件:
  其实这是我自建的一个模块文件,功能是拆分合并excel文件。导入该功能模块后,拆分或合并excel文件的代码为:
  importcfjoinimporttkinter。filedialogasaifnamemain:ffa。askopenfilenames(filetypes〔(excel文件,。xlsx)〕)cfjoin。breakfile(ff)拆分选中的excel文件
  在运行时,上面的代码有时候可以,有时候却报错,对新手来说,这是很费解的。但其实,问题很简单。检查一下,是不是运行的Py文件所在文件夹里是否也存在一个与导入的模块文件同名的cfjoin。py文件,如果有,而且这个文件里的内容与lib文件夹里的cfjoin。py内容不同。则运行时会报错,如果没有、或者与lib文件夹里的cfjoin。py完全相同,则运行正常。这就是模块导入顺序造成的问题。
  python导入模块时,不是直接从lib库里导入,而是先从当前py文件所在文件夹里找需要导入的模块文件,找到后则导入使用;如果没找到,再到lib文件夹里找,如果还没找到,则提示未找到。如果当前文件夹下某个py文件名正好与lib库里的模块文件同名,则会导入当前文件夹下的py文件而不是导入lib库里的模块文件,导致出错。避免的方法就是将自己写的py文件取名不要与一些常用lib库模块文件同名。
  另外,python导入模块时只从当前文件夹下和lib库里导入,如果模块文件放在其他位置,则会提示找不到模块。移到当前文件夹或lib库中任何一个位置就可以了,如果是成熟的py功能文件,最好放在lib库里,可以避免编辑器误报错误。
  比如,我上面的cfjoin。py文件,如果我将其放在当前文件夹下,删掉lib库里的该文件,上面的拆分excel表格代码运行功能没任何问题,但编辑器里会报错:
  虽然是误报错,但对强迫症患者来说,看到那些黄波浪号会很不好受。这时,我们将cfjoin。py文件移到lib库里就可以了。
投诉 评论 转载

40横扫日本伊藤美诚夺冠?国乒8大主力参赛,马龙陈梦领衔出战北京时间7月3日消息,2022年国际乒联WTT欧洲夏季系列赛即将开赛。中国乒乓球队派出了马龙、梁靖崑、王楚钦、林高远、陈梦、孙颖莎、王曼昱、王艺迪等主力球员参赛。女单方面,4大……关于睡眠面膜你要知道的3个雷区,厚敷效果好,敷完不清洗文小啾Hi,大家好,我是小啾,帮你纠正变美误区,正确开启你的变美之旅面膜是很多女人的必需品,它也是我们给肌肤最快喝饱水的护肤品。到了冬季皮肤也越发干燥,我们也……85岁马玉琴再当新娘,婚纱破破烂烂像蚊帐,网友哪个垃圾堆捡的众所周知,85岁的马玉琴在59岁的时候梅开二度,遇上当时仅27岁的李玉成,两人不顾家人反对,毅然决然地生活在一起。在李玉成最近的视频中,57岁的李玉成决定给85岁的马玉琴……由谁带大的孩子更聪明?是妈妈?还是奶奶?答案值得父母知道中午和同事一起吃饭,然后聊天。同事说前段时间把孩子从老家接回来了,准备好了会抽出更多时间来照顾。她之前和老公在城里打拼。当时夫妻俩真的很忙,但是家里老人催着要孩子。可是孩……王者荣耀各位置意识理解打野篇各位好,昨天给大家分享完意识理解对抗路篇,今天就来说说与对抗路很大联系的打野了打野总体来说可以分为以下几类第1类:野核野核细分也有两种第一种是节奏型野核……iBassoAudio发布旗舰随身播放器DX320中国HiFi厂商iBassoAudio在今天发布了一台旗舰级随身播放器:DX320。DX320采用了两枚来自ROHM的BD34301EKV作为解码芯片,在声音饱满浓郁密度……退圈消失8年,被儿子嫌弃是普通人,如今48岁再复出,她后悔了她是很多人心中的白月光,人们希望她能多在大荧幕上露脸,不要浪费自己的美貌。但比起经营事业和美貌,她选择了家庭,全身心学习如何做一名合格的妈妈。女神的选择Cho……30岁后的C罗打进352球76次助攻,30岁后的梅西数据怎么C罗30之后位置开始靠前,变成了一名纯中锋、射手!而梅西30岁以后位置开始靠后,变成一名中前场自由人,任务开始由进球变为组织者,看助攻就能看出来。两个不同位置,不同性格,不同风……小糯米即将回到内地?刘丹称孙女可能移居到杨幂身边读书最近这几年有不少港台明星纷纷来到大陆发展,甚至在大陆定居,这些明星不仅将自己事业的重心转向内地,就连孩子也一起带过来上学。之前阿sa还曾在节目里提到过交社保的问题,让网友们忍俊……首秀对阵布莱顿失利后,三问滕哈赫新赛季首秀完败,而且是主场,无数魔迷心碎,这支红魔怎么了?曾经在荷甲大红大紫的滕帅,为何在英超不灵了?一问滕帅,为何明明有中锋,非要在首秀中排出无锋阵?是研究透了对手还是……把纯演成了蠢,林允忽上忽下的演技,是梦华录的败笔《梦华录》赢麻了,连带着剧中一众配角都火了起来,包括褪下性感外壳的柳岩,从广告小视频转正的管云鹏,喜剧人代旭等等。大多数人的演技都在观众的预期之内,甚至有不少惊喜。……Python流程控制和导入模块语句详解一、流程控制语句1。程序结构计算机在解决问题时,分别是顺序执行所有语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。如下图:2。……
眼睛的保健穴位王者荣耀x西游记联动皮肤公孙离玉兔正式公布我的一封道歉信早上是养肝的黄金期,坚持吃3种早餐,或让肝功慢慢好转成本10元的敷尔佳,到底有多赚钱?科技革新IoT人脸识别智能门锁,震撼登场源藏宇宙数藏平台7月初发布白皮书1。0版本北京2022年冬奥会和冬残奥会国家高山滑雪中心医疗官梁学亚荣冰火两重天!中国芯破冰成功,而西方芯片产业却陷入萧条你和时髦女王的距离,就只差一套手工定制西装了乳腺癌吃哪些东西好?知性气质风才是真高级,学会半身裙穿搭术,年纪越大越迷人如何包韩式书皮他们潮他们酷,他们是非洲大陆的时尚氛围组赠何明府秋季运动会的新闻稿战略绩效体系设计8大步骤(附带案例详解)亲爱的药王大人根据什么小说改编的亲爱的药王大人原著在哪看百度国内4款不起眼平价酒,100纯粮酿,可惜很多人不懂喝古今医案研读著名中医内科专家董德樊教授治疗溃疡性结肠炎蓝色西装配什么衬衫好看这几件穿出型男气质发电厂的名词解释网站解析上线之前必须确定并且在网站中设置好关键词山伯临终歌词山伯临终歌词是什么

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利