配色: 字号:
基础课1-10关晚分享汇总(1)
2020-07-04 | 阅:  转:  |  分享 
  
基础课1-10关晚分享汇总01关Python初识print()函数print的中文意思是“打印”,那么在Python这门语言里面的意思是“
打印、印刷、把运行的结果展示出来?执行过程是这样的??:?2.引号的用法引号的作用就是告诉Python:我引号里面的东西你不用管
了,你不需要搞清楚它是什么意思。所以Python执行打印指令时,它会原封不动地把引号内的内容搬到屏幕上显示出来。我们可以在引号
里放任何内容交给print指令执行,包括中文、阿拉伯文、火星文甚至emoji表情。??注意:打印字符串的时候需要注意引号一定要
是??英文??的。3.转义字符我们在不需要被Python解析(理解)的引号前加上反斜杠(\),这样一来,Python在读
到\''时,就会恍然大悟:嗯,这个单引号我不要处理,把它当做要打印的内容就行了!?除了\n外,Python还有很多转义字符
,可以看下面的表格。?02关数据类型变量举个??:Name=‘孔明’意思是把‘孔明’这个字符串赋值给name这个
变量。?大家注意哈,英文的=在Python中是赋值符号,而判断相等的是:==。对于变量的命名,大家需要准守一定的规则:1)
只能包含字母、数字、下划线2)不能以数字开头3)尽量描述包含的数据内容好的变量命名可以让别人一看就能知道变量名的含义~也让代码的可
读性???和维护性??得到提升~2.字符串Python有很多数据类型。字符串是我们要学到的第一种数据类型,它是编程语言中表示文本
的数据类型。上一关已经提到了,字符串是被英文引号包裹的文字,单/双引号的效果是一样,使用的时候注意保持单双引号前后一致就行了。?英
文引号里面的内容可以是中文、英文、表情甚至火星文都是可以的~大家需要注意的是,因为Python代码是??英文??写的,所以Pyt
hon中的所有标点、符号都必须是英文的~不然计算机读不懂(不会中文??~哈哈~)同样,字符串的使用也是一样的,一定要用??英文??
的引号来包裹字符串,这样计算机才能识别哦。3.字符串拼接使用英文?+就可以把两个字符串拼接在一起啦,注意,只能是字符串哦~?
4.数值类型在Python里,最常见的数值类型有三中:字符串(str)、整数(int)、浮点数(float)。那么整数和浮点数是什
么呢?整数很容易理解,就是正整数、负整数和零的统称~是没有小数点的数字哦~相对应的,有小数点的数就是浮点数~?举个??,小贝抽屉里
薯片的包数(5)是整数,每包薯片的价格(6.8)是浮点数~5.数值运算每一种数据类型都有自己的运算规则,下面是Python中的数值
运算。?Python世界里的运算优先级和我们平时数学里的运算优先级是一样的~从左到右,先乘除后加减,括号里的要先算~6.数据类型转
换我们可以直接把整数和浮点数放在一起运算,但如果把字符串和整数/浮点数运算,计算机就会很懵啊,不知道你要干什么~然后报错??~哈哈
,这个时候,可以通过type()函数??来检查下,这个数据是什么类型。然后,再根据需要把数据变成大家想要的类型。这时候就需要使用数
据类型转换函数啦,最常见的三个转换函数有:str():把其他数据类型转化成字符串int():把其他数据类型转化成整数float()
:把其他数据类型转化成浮数?记忆这几个函数的时候,其实他们都是英文string、integer、float的缩写或者全写~Pyth
on的很多函数都是这样的~03关条件分支本关学习的主要知识点:条件判断——目的就是让计算机知道:在什么条件下,开始做什么。if.
..else…在Python里,最常见的条件判断是“如果...就..”,即if...else…语句。if...else...语句
,当if的条件为True时执行if下的语句块,否则执行else下语句块。if...else...语句格式如下:i
f<条件>:【if的语句块】else:【else的语句块】???注意:判断条件和else后面的冒号,一定不能丢掉,必须要
用英文的哦~2.缩进Python的代码块是通过缩进来定义代码块范围的。代码行的缩进决定了代码的缩进层级,相同缩进层级的代码具有相
同的缩进。缩进一般使用两个空格或者四个空格,但是一定要记住要保持一致,不能一会用两个空格,一会用四个空格。?3.注释:##后的内
容就是注释,是写给人看的,计算机会自动忽略注释的内容,不执行??~适当的注释可以提高代码的可读性,辅助大家阅读代码~~写复杂的代码
不加注释,过段时间可能自己都读不懂自己写的啥??04关input()函数input()函数你通过Python代码向计算机提
供指令,计算机执行指令,然后通过input()函数把问题显示在屏幕上,等你输入答案。这个过程就实现一个互动的程序。?2.in
put()赋值answer=input(''请从A、B、C、D中选择你要娶的姑娘:'')这行代码将input()函数的执
行结果(也就是输入的答案)赋值给变量answer。为了看到answer的内容,我们再通过print(answer)将答案打印到屏
幕上。3.input()类型对于input()函数来说,不管用户输入的回答是什么,比如整数33、小数3.14或者火星文
,Python都会统一把它转换为字符串类型。?由于我们使用赋值运算符=把input()函数的字符串结果,赋给了变量an
swer,所以这个变量也一定是字符串类型。虽然input()函数给我们的是字符串类型,但是你可以使用类型转换将结果转为你需要的
类型!第二关学过哒~第五关函数初见我们来回顾一下Python中函数的定义:由此可知,Python中的函数就是把解决某个问题
的代码放到一起并能重复使用的代码块,这样就可以减少重复代码。还记得函数的组成吗?我们再来看一下它的语法:函数定义关键字是def(
define的缩写),后面跟着函数名,用空格隔开。然后是一对英文括号,括号里面的是函数的参数。函数体内是实现函数的代码,需要注意
的是,前面一定要有统一的空格缩进,一般为2个或4个空格。很多同学在刚开始学习函数时,因为不注意,以为缩进可有可无,或者随意
缩进不保持统一。这时Python就会很生气的报错(IndentationError)。下面的这些写法都是有问题的:defma
th(x):y=2x+1returny#没有缩进defmath(x):?y=2x+1?retur
ny#缩进不统一defmath(x)?y=2x+1?returny#括号后少了冒号defmath(x):
?y=2x+1?returny#使用了中文括号大家一定要注意,不要再犯和上面同样的错误哦。使用函数可以减少代码重
复,也就是DRY原则,DRY是Don''trepeatyourself的缩写,意思是"不要重复自己"。准守DRY原
则,不仅仅是减少重复代码,还有利于代码的维护,减少bug出现的几率。在编程圈,除了DRY原则,我想再给你介绍两个原则——K
ISS原则和RuleOfThree原则。KISS原则:KISS是KeepItSimple,Stupid的首
字母缩略字,即保持简单,愚蠢。KISS原则的目的是使代码简单、清晰、易于理解。编程语言是为人类所理解的,所以保持编码的简单和直接,
让人类理解。请保证你的函数尽量很小,每个函数都不应该超过40-50行代码。每个函数应该只解决一个小问题,而不是实现很复杂的功能
。如果你的函数很复杂,可以把它们分解成更小的单独的函数。这样不仅更易于阅读和维护,而且可以更快地发现bug。Ruleofth
ree原则被称为"三次原则",指的是当某个功能第三次出现时,才进行“抽象化”。它的含义是,第一次用到某个功能时,你写一个特定的解决
方法;第二次又用到的时候,你拷贝上一次的代码;第三次出现的时候,你才着手"抽象化",写出通用的解决方法,也就是写成函数。这样做有几
个理由:1.省事。如果一种功能只有一到两个地方会用到,就不需要在“抽象化”上面耗费时间了。2.容易发现模式。“抽象化”需要找到问题
的模式,问题出现的场合越多,就越容易看出模式,从而可以更准确地“抽象化”。3.防止过度冗余。如果一种功能同时有多个实现,管理起来非
常麻烦,修改的时候需要修改多处。在实际工作中,重复实现最多可以容忍出现一次,再多就无法接受了。第六关函数进阶在第六关中,我们学习
了「函数的多参数」、「函数的多返回值」和「函数的变量作用域」。根据实际情况,我们可以给函数定义所需个数的参数。比如:只是输出一句固
定的话的函数,可以不定义参数;计算年龄的函数,只需一个出生年份作为参数;计算BMI指数的函数,则需要身高和体重两个参数等等。在
Python中,没有参数,括号内就空着。如果有多个参数,每个参数用英文逗号隔开。在调用函数时,根据参数传入的方式又分为「位置参
数」和「关键字参数」。位置参数顾名思义就是按照参数定义的位置顺序传入。需要你记住每个参数对应的位置才不会传错参数。而关键字参数可以
减轻我们的记忆负担。通过「参数名=值」的方式给参数赋值,参数的位置顺序就不影响了。而且很容易能看出每个参数的含义。Python中
,在定义函数时给参数设默认值是很常用的小技巧。需要注意的是,如果有默认参数一定要放在位置参数后,否则将会出错。原因是默认参数是可选
的,而位置参数是必选的。如果默认参数在前将会导致不知道你要传给哪个参数。接下来的函数的多返回值比较简单,语法如下:得到的(''??
'',''??'',''??'',''??'')是Python中我们还未学习到的数据类型——元组。后面关卡会细说,暂时不必深究。函数
的变量作用域可能有点绕人,简单来说,分为全局作用域和局部作用域,因此派生出全局变量和局部变量。上图蓝框内是全局作用域,黄框内是局部
作用域。全局作用域里的rule是全局变量,函数内部的rule是局部变量。你可以简单地理解为函数内定义的变量是局部变量(包括
参数),函数外定义的变量是全局变量。可以看到,全局作用域的框是框柱局部作用域的。所以局部作用域内能访问全局变量,但全局变量不能访问
到局部变量。如果你能理解下面代码及运行结果是这样的原因,你就掌握了变量作用域。当我们想要在全局作用域内访问函数内的局部变量时,也是
有方法的。需要在函数内在局部变量前加上global关键字,这样它就成了全局变量。需要注意的是,必需在函数内使用变量前单独用一行
将变量变成全局变量,如上图的globaltotal_rent。直接globaltotal_rent=nrent
这样是会报错的。第七关房贷计算器首先,我们来回顾一下函数的关键点:很多同学对print()和return傻傻分不清楚,不
知道什么时候该用print(),什么时候该用return。我们先从概念和功能上区分一下:在Python中,return只
能用于函数当中。而print()函数则没有这个限制。我们再来回顾一下第五关咖啡机的例子,我们将函数比作咖啡机,咖啡豆和水是函数
的参数,咖啡是输出。最后的咖啡就是return返回出来的结果,如果没有return,我们将什么都拿不到。如果将有retur
n咖啡机写成代码的话,会是这样的:两个参数实际上没有用到,这里只是举个例子,大家不必纠结于此。函数中用到了print(''制作咖
啡中...''),调用函数后就会在屏幕上打印出制作咖啡中...,这就是print()函数的作用,打印内容。你可以将这里的pri
nt()理解为咖啡机上的显示屏,用于显示咖啡机是否正在工作,如果咖啡机一点动静都没有,你也不知道它是不是在工作不是吗?print
()函数打印出的东西只是显示出来,我们拿不到。而return返回的东西我们是可以拿到的,最后的coffee=coffe
emaker(''咖啡豆'',''水'')就是将函数的返回值赋值给了coffee变量。在这里,coffee的值就是''咖啡'',你
可以使用print(coffee)将其打印出来看一看,确认一下是不是真的是''咖啡''。那么,什么时候该用print()函数
,什么时候该用return呢?答案是:如果你需要函数处理后的结果就用return,如果只是想打印出来看一看,或者提示一些信息
之类的就用print()函数。实际写代码的过程中,基本上都是用return。因为你输入参数给函数肯定想要拿到处理后的结果的,
我们拿到结果后再将其打印出来也是可以的。print()在实际写代码的过程中,更多的是用于调试代码。比如代码报错了,你可以将变量打
印出来看看是不是和自己预期的不太一样。或者用于提示信息,比如批处理文件时,用print()函数打印出现在正在处理第几个文件之类
的。最后我们来看看函数中常见的错误,大家一定要引以为戒,不能再犯同样的错误哦~第八关岔路口的选择第八关学习的是「条件」,我们再来
复习一下条件语句:条件语句让Python不再只是从上往下顺序执行代码,可以根据不同情况执行相对应的代码。举个例子吧:我们写了段
代码去获取当地的天气信息,如果明天下雨就提醒我带伞,否则继续监测天气情况。这里就用到了条件语句。而条件语句中的条件是我们新认识的类
型——布尔类型。布尔类型很简单,就两个值True和False。True表示为真,即满足条件,False表示为假,即不满足
条件。if…else...是判断题,只能二选一。现实情况中,可能有多种情况可供选择,Python中也是可以处理的:中间的
elif可以无限叠加,所以再多的情况也不用担心。而三元表达式可以简化if...else...语句,这在后面会学的列表
生成式中也会用到。三元表达式是个很实用的知识点,适当的使用三元表达式可以让我们的代码更加的简洁明了。第九关三顾茅庐方出山学完了第
九关,我来考考你,看看你掌握了没有。答案是:嘿嘿。你答对了吗?在非布尔类型作为条件时,会被偷偷转换成布尔类型的。我们来看一些使用
bool()函数转换的例子。发现规律了吗?简单得讲就是「空的」为False,其他为True。对字符串来说,只有两个引号,中间
什么都没有表示空的。即''''为False,其他为True。这里要注意的是上面前两个例子,''''和''''是不同的,第二个引
号中间有一个空格,就不是空的了。所以为True。对应数字来说,0表示空的。即0为Fasle,其他都为True。对于列表
、元组和字典,里面没有元素表示空的。即[]、()和{}为False,其他都为True。现在你应该对布尔类型转换很清楚了
吧!熟悉上述规则后,我们可以简化判断条件的写法。Python中的比较运算符很简单,就不再多说了。需要注意的是=和==的区
别,前者是赋值,后者才是判断是否相等。最后的布尔运算真的很常用,总共有这么些情况:怎么记呢?给你一个口诀:and运算:见到Fa
lse即为假,其它为真。or运算:见到True即为真,其它为假。and和or运算有什么用呢?可以将多个条件组合。什么
意思呢?我给你举个例子吧。and的例子:假如你写了个商品降价自动抢购的程序,你的判断条件可以写成这样:if商品降价and商
品还有库存。当它们同时满足时才去抢购。or的例子:假如你写了个假期提醒的程序,你的判断条件可以这样写:if明天是周末or明
天是节假日。只要满足其中一个条件就会发出提醒。接下来是not,not表示否定,把是非颠倒一下即可。比如:notTrue为
False,notFalse为True。最后的in可以判断是否在其中,除了用于字符串外。列表、元组和字典也都可以。字符串
、列表、元组都是判断元素是否在其中,而字典是判断键是否在其中。第十关更划算的租车方案不知不觉,我们Python学习之旅已经步入了
第十关,给认真学习的同学们发朵小红花??。努力学习的每一天都值得纪念,而我们今天课程的重点,是对前两课的学习内容进行回顾总结。期待
同学们通过今天的章节回顾,可以对「条件」的知识点形成系统性的认知。我们首先回顾了「布尔类型和布尔变量」,回忆一下,布尔类型代表的意
义是什么呢?对了,在计算机中,布尔类型是表示语句真假的数据类型,我们可以如上图所示、直接使用True(真)或者False(假)来创
建布尔变量。而在实际运用中,布尔类型更多作为条件语句中的判断条件。那么接下来,我们将回顾「分支条件」的相关知识点。if/elif/
else关键字构成了分支结构,我们可以根据不同的需求选用相应的条件判断语句——1、当我们一往无前、只有一种选择时,只需用if写出相
应的条件,即可满足我们需要实现的功能。比如公司即将举行的团建活动,当参与人数不足3人时,屏幕上将显示“抱歉啦,活动取消”。2、当我
们面临非此即彼的选择时,就可以用到if...else...语句来提供两种可能。除了刚刚提到的活动人数不足3人的情况,当参与人数于或
者等于3人时,屏幕上将显示“一起去参加团建活动吧!”3、当世界百花齐放、令我们眼花缭乱之时,这时我们就用if...elif...e
lse来实现多重选择的可能性,而且中间的elif可以根据判断条件的多少来无限增加。在上述例子中,我们用elif语句增加了判断条件,
当人数超过3但不足8人时,我们将看到屏幕上显示的结果是“欢迎来玩剧本游戏”。还记得我们先前在晚分享里提到的KISS原则吗?Keep
ItSimple!学习编程语言,我们更需要从驳杂的选择里训练“抽象化”(Abstraction)的思维。从具体问题中,提取出具有共性的模式,在使用通用的方式来合理化地解决。三元表达式帮我们实现了if/else分支结构的简化,在一行之内直观地体现我们的思维。PS.提高代码的可读性也会大大提升我们检查代码的效率哦。我们还一起回顾了布尔运算,希望同学们在理解的基础上搭配记忆口诀服用。(偷笑and运算:见到False即为假,其它为真。or运算:见到True即为真,其它为假。好了,在回顾「条件」的基本知识之后,我们还学习了一个新知识——嵌套条件。在多个判断、层次分明的条件语句中,我们可以先搭起大的框架,再在分支中进一步划分条件。请注意,if语句同等缩进为同一条件结构,同学们在书写自己的代码时,尤其要注意格式的准确。在本次课程的最后,我们还梳理一下「条件」语句的常见错误,这里再强调一下:1、不要忘记条件后或者else后的冒号;2、不要忘记代码缩进;3、不要混淆==和=;4、不要弄混bool('''')和bool('''')的区别万丈高楼平地起,一些细节的把握会帮助我们更好地实现功能哦,希望今天的章节复习课可以让大家举一反三、做到融会贯通!扇贝编程
献花(0)
+1
(本文系htmlasp首藏)