Python

本教程涵盖了Python的基础知识,包括print函数、数据类型、条件判断、输入输出、函数使用等。讲解了变量、字符串、数值类型的操作,以及条件语句如if...else...的应用。此外,介绍了input函数交互、函数定义、参数传递、返回值和作用域。学习了如何通过type转换数据类型,以及使用注释提高代码可读性。还涉及到了函数的错误处理和编程原则,如DRY、KISS和RuleOfThree。通过对这些基础知识的掌握,可以更好地理解和编写Python代码。

第1关 Python初识

  1. print()函数

print的中文意思是“打印”,那么在Python这门语言里面的意思是“打印、印刷、把运行的结果展示出来

在这里插入图片描述
执行过程是这样的👇
在这里插入图片描述

2.引号的用法

引号的作用就是告诉 Python:我引号里面的东西你不用管了,你不需要搞清楚它是什么意思。所以 Python 执行打印指令时,它会原封不动地把引号内的内容搬到屏幕上显示出来。

我们可以在引号里放任何内容交给 print 指令执行,包括中文、阿拉伯文、火星文甚至emoji表情。

⚠️注意:打印字符串的时候需要注意引号一定要是 ❗️英文❗️的。

3.转义字符

我们在不需要被 Python 解析(理解)的引号前加上反斜杠( \),这样一来,Python 在读到 ’ 时,就会恍然大悟:嗯,这个单引号我不要处理,把它当做要打印的内容就行了!
在这里插入图片描述
除了 \n 外,Python 还有很多转义字符,可以看下面的表格。
在这里插入图片描述

第2关 数据类型

1. 变量

举个🌰:Name = ‘孔明’
意思是把 ‘孔明’ 这个 字符串 赋值给 name 这个变量 。
在这里插入图片描述
大家注意哈,英文的 = 在Python中是赋值符号,而判断相等的是:== 。

对于变量的命名,大家需要准守一定的规则:
① 只能包含字母、数字、下划线
② 不能以数字开头
③ 尽量描述包含的数据内容

好的变量命名可以让别人一看就能知道变量名的含义~也让代码的可读性🏷️和维护性🍃得到提升~

2.字符串

Python 有很多数据类型。字符串是我们要学到的第一种数据类型,它是编程语言中表示文本的数据类型。

上一关已经提到了,字符串是被英文引号包裹的文字,单/双引号的效果是一样,使用的时候注意保持单双引号前后一致就行了。
在这里插入图片描述
英文引号里面的内容可以是中文、英文、表情甚至火星文都是可以的 ~

大家需要注意的是,因为Python代码是🌿英文🌿写的,所以Python中的所有标点、符号都必须是英文的~不然计算机读不懂(不会中文😆~哈哈~)

同样,字符串的使用也是一样的,一定要用🌿英文🌿的引号来包裹字符串,这样计算机才能识别哦。

3. 字符串拼接

使用英文 + 就可以把两个字符串拼接在一起啦,注意,只能是字符串哦~

在这里插入图片描述

4.数值类型

在Python里,最常见的数值类型有三中:字符串(str)、整数(int)、浮点数(float)。那么整数和浮点数是什么呢?

整数很容易理解,就是正整数、负整数和零的统称~是没有小数点的数字哦~

相对应的,有小数点的数就是浮点数~

在这里插入图片描述
举个🌰,小贝抽屉里薯片的包数(5)是整数,每包薯片的价格(6.8)是浮点数~

5.数值运算

每一种数据类型都有自己的运算规则,下面是Python中的数值运算。

在这里插入图片描述
Python世界里的运算优先级和我们平时数学里的运算优先级是一样的~从左到右,先乘除后加减,括号里的要先算~

6.数据类型转换

我们可以直接把整数和浮点数放在一起运算,但如果把字符串和整数/浮点数运算,计算机就会很懵啊,不知道你要干什么~然后报错😵~

哈哈,这个时候,可以通过type()函数🌹来检查下,这个数据是什么类型。

然后,再根据需要把数据变成大家想要的类型。这时候就需要使用数据类型转换函数啦,最常见的三个转换函数有:

str():把其他数据类型转化成字符串
int():把其他数据类型转化成整数
float():把其他数据类型转化成浮数

在这里插入图片描述
记忆这几个函数的时候,其实他们都是英文string、integer、float的缩写或者全写~Python的很多函数都是这样的~

第3关 条件分支


本关学习的主要知识点:条件判断——目的就是让计算机知道:在什么条件下,开始做什么。

1. if...else… 

在Python里,最常见的条件判断是“如果…就…”,即if…else…语句。

if…else… 语句,当 if 的条件为 True 时执行 if 下的语句块,否则执行 else 下语句块。

if…else… 语句格式如下:
if <条件>:
【if 的语句块】
else:
【else 的语句块】
在这里插入图片描述

⚠️注意:判断条件和 else 后面的冒号,一定不能丢掉,必须要用英文的哦~

2.缩进

Python 的代码块是通过缩进来定义代码块范围的。

代码行的缩进决定了代码的缩进层级,相同缩进层级的代码具有相同的缩进。

缩进一般使用两个空格或者四个空格,但是一定要记住要保持一致,不能一会用两个空格,一会用四个空格。

在这里插入图片描述

3.注释:#

#后的内容就是注释,是写给人看的,计算机会自动忽略注释的内容,不执行😊~

适当的注释可以提高代码的可读性,辅助大家阅读代码~~写复杂的代码不加注释,过段时间可能自己都读不懂自己写的啥😂

第4关 input()函数


1. input() 函数

你通过 Python 代码向计算机提供指令,计算机执行指令,然后通过 input() 函数把问题显示在屏幕上,等你输入答案。这个过程就实现一个互动的程序。
在这里插入图片描述

2. input() 赋值

answer = input(‘请从 A、B、C、D 中选择你要娶的姑娘:’)

这行代码将 input() 函数的执行结果(也就是输入的答案)赋值给变量 answer。为了看到answer的内容,我们再通过print(answer)将答案打印到屏幕上。

3.input() 类型

对于 input() 函数来说,不管用户输入的回答是什么,比如整数 33、小数 3.14 或者火星文,Python 都会统一把它转换为字符串类型。

在这里插入图片描述
由于我们使用赋值运算符 = 把 input() 函数的字符串结果,赋给了变量 answer,所以这个变量也一定是字符串类型。

虽然 input() 函数给我们的是字符串类型,但是你可以使用类型转换将结果转为你需要的类型!第二关学过哒~

第5关 一杯咖啡的诞生


【本关复习】

我们来回顾一下 Python 中函数的定义:
在这里插入图片描述
由此可知,Python 中的函数就是把解决某个问题的代码放到一起并能重复使用的代码块,这样就可以减少重复代码。

还记得函数的组成吗?我们再来看一下它的语法:
在这里插入图片描述

下面的这些写法都是有问题的:

def math(x):
y = 2 * x + 1
return y
# 没有缩进

def math(x):
y = 2 * x + 1
return y
# 缩进不统一

def math(x)
y = 2 * x + 1
return y
# 括号后少了冒号

def math(x):
y = 2 * x + 1
return y
# 使用了中文括号

大家一定要注意,不要再犯和上面同样的错误哦。

使用函数可以减少代码重复,也就是 DRY 原则,DRY 是 Don’t repeat yourself 的缩写,意思是"不要重复自己"。

遵守 DRY 原则,不仅仅是减少重复代码,还有利于代码的维护,减少 bug 出现的几率。

在编程圈,除了 DRY 原则,我想再给你介绍两个原则——KISS 原则和 Rule Of Three 原则。

【扩展】

在编程圈,除了 DRY 原则,我想再给你介绍两个原则——KISS 原则和 Rule Of Three 原则。
KISS 原则:KISS 是 Keep It Simple, Stupid 的首字母缩略字,即保持简单,愚蠢。KISS原则的目的是使代码简单、清晰、易于理解。

编程语言是为人类所理解的,所以保持编码的简单和直接,让人类理解。请保证你的函数尽量很小,每个函数都不应该超过 40-50 行代码。

每个函数应该只解决一个小问题,而不是实现很复杂的功能。如果你的函数很复杂,可以把它们分解成更小的单独的函数。这样不仅更易于阅读和维护,而且可以更快地发现 bug。

Rule of three原则被称为"三次原则",指的是当某个功能第三次出现时,才进行“抽象化”。
它的含义是,第一次用到某个功能时,你写一个特定的解决方法;第二次又用到的时候,你拷贝上一次的代码;第三次出现的时候,你才着手"抽象化",写出通用的解决方法,也就是写成函数。

一些常用函数:
print()
input()
len()

第6关 小新和他的朋友们


【本关复习】

在第六关中,我们学习了「函数的参数类型」、「函数的多返回值」和「函数的变量作用域」。

根据实际情况,我们可以给函数定义所需个数的参数。

比如:只是输出一句固定的话的函数,可以不定义参数;计算年龄的函数,只需一个出生年份作为参数;计算 BMI 指数的函数,则需要身高和体重两个参数等等。

在 Python 中,没有参数,括号内就空着。如果有多个参数,每个参数用英文逗号隔开。
在这里插入图片描述
在调用函数时,根据参数传入的方式又分为「位置参数」和「关键字参数」。

位置参数顾名思义就是按照参数定义的位置顺序传入。需要你记住每个参数对应的位置才不会传错参数。
在这里插入图片描述

而关键字参数可以减轻我们的记忆负担。通过「参数名=值」的方式给参数赋值,参数的位置顺序就不影响了。而且很容易能看出每个参数的含义。
在这里插入图片描述
Python 中,在定义函数时给参数设默认值是很常用的小技巧。
在这里插入图片描述
需要注意的是,如果有默认参数一定要放在位置参数后,否则将会出错。

原因是默认参数是可选的,而位置参数是必选的。如果默认参数在前将会导致不知道你要传给哪个参数。

接下来的函数的多返回值比较简单,语法如下:
在这里插入图片描述
得到的 (‘🍉’, ‘🍑’, ‘🍓’, ‘🍋’) 是 Python 中我们还未学习到的数据类型——元组。后面关卡会细说,暂时不必深究。

函数的变量作用域可能有点绕人,简单来说,分为全局作用域和局部作用域,因此派生出全局变量和局部变量。

在这里插入图片描述
上图蓝框内是全局作用域,黄框内是局部作用域。全局作用域里的 rule 是全局变量,函数内部的 rule 是局部变量。

你可以简单地理解为函数内定义的变量是局部变量(包括参数),函数外定义的变量是全局变量。

可以看到,全局作用域的框是框柱局部作用域的。所以局部作用域内能访问全局变量,但全局变量不能访问到局部变量。

如果你能理解下面代码及运行结果是这样的原因,你就掌握了变量作用域。
在这里插入图片描述
当我们想要在全局作用域内访问函数内的局部变量时,也是有方法的。需要在函数内在局部变量前加上 global 关键字,这样它就成了全局变量。
在这里插入图片描述
需要注意的是,必需在函数内使用变量前单独用一行将变量变成全局变量,如上图的 global total_rent。直接 global total_rent = n * rent 这样是会报错的。

【扩展】

需要注意的是如果想要在函数内使用全局的列表、元组(不同的数据类型)时,global可以使用也可以不用,但是变量就必须使用。

第7关 函数精通之路


【本关复习】

首先,我们来回顾一下函数的关键点:
在这里插入图片描述
很多同学对 print() 和 return 傻傻分不清楚,不知道什么时候该用 print(),什么时候该用 return。

我们先从概念和功能上区分一下:
在这里插入图片描述

在 Python 中,return 只能用于函数当中。而 print() 函数则没有这个限制。

我们再来回顾一下第五关咖啡机的例子,我们将函数比作咖啡机,咖啡豆和水是函数的参数,咖啡是输出。

最后的咖啡就是 return 返回出来的结果,如果没有 return,我们将什么都拿不到。

如果将有 return 咖啡机写成代码的话,会是这样的:
在这里插入图片描述
两个参数实际上没有用到,这里只是举个例子,大家不必纠结于此。

函数中用到了 print(‘制作咖啡中…’),调用函数后就会在屏幕上打印出制作咖啡中…,这就是 print() 函数的作用,打印内容。

你可以将这里的 print() 理解为咖啡机上的显示屏,用于显示咖啡机是否正在工作,如果咖啡机一点动静都没有,你也不知道它是不是在工作不是吗?

print() 函数打印出的东西只是显示出来,我们拿不到。而 return 返回的东西我们是可以拿到的,最后的 coffee = coffeemaker(‘咖啡豆’, ‘水’) 就是将函数的返回值赋值给了 coffee 变量。

在这里,coffee 的值就是 ‘咖啡’,你可以使用 print(coffee) 将其打印出来看一看,确认一下是不是真的是 ‘咖啡’。

那么,什么时候该用 print() 函数,什么时候该用 return 呢?

答案是:如果你需要函数处理后的结果就用 return,如果只是想打印出来看一看,或者提示一些信息之类的就用 print() 函数。

实际写代码的过程中,基本上都是用 return。因为你输入参数给函数肯定想要拿到处理后的结果的,我们拿到结果后再将其打印出来也是可以的。

print() 在实际写代码的过程中,更多的是用于调试代码。比如代码报错了,你可以将变量打印出来看看是不是和自己预期的不太一样。

或者用于提示信息,比如批处理文件时,用 print() 函数打印出现在正在处理第几个文件之类的。

最后我们来看看函数中常见的错误,大家一定要引以为戒,不能再犯同样的错误哦~
在这里插入图片描述
【扩展】
常用函数:
type(object) 查看一个object的类型
help() 函数用于查看函数或模块用途的详细说明
round() 方法返回浮点数x的四舍五入值

第8关 逃离北上广


【本关复习】

第八关学习的是「条件」,我们再来复习一下条件语句:

在这里插入图片描述
条件语句让 Python 不再只是从上往下顺序执行代码,可以根据不同情况执行相对应的代码。

举个例子吧:我们写了段代码去获取当地的天气信息,如果明天下雨就提醒我带伞,否则继续监测天气情况。这里就用到了条件语句。

而条件语句中的条件是我们新认识的类型——布尔类型。

布尔类型很简单,就两个值 True 和 False。True 表示为真,即满足条件,False 表示为假,即不满足条件。

if … else … 是判断题,只能二选一。现实情况中,可能有多种情况可供选择,Python 中也是可以处理的:

在这里插入图片描述
中间的 elif 可以无限叠加,所以再多的情况也不用担心。
接下来学习了比较运算符,包括以下:
在这里插入图片描述
最后,还提到了bool()函数可以进行强制布尔类型转换,另外,if自动有这个功能。
这是一些常见的bool值:在这里插入图片描述
【扩展】

学会了条件分支语句,再结合前面学习的函数定义,大家肯定都发现了这些代码块有一个共同点,就是都需要缩进。不同于其他一些语言会用大括号来圈定一个代码块,python只使用缩进来控制,所以,对于缩进一定要细心严格。

第9关 刘星的烦恼)

【本关复习】

第9关首先学习了多路分支,可以用来实现多个条件的选择,可以通过下图来理解:
在这里插入图片描述
接下来学习了逻辑运算符,包括and、or、not:
在这里插入图片描述
怎么记呢?给你一个口诀:

and 运算:见到 False 即为假,其它为真。or 运算:见到 True 即为真,其它为假。

and 和 or 运算有什么用呢?可以将多个条件组合。

什么意思呢?我给你举个例子吧。

and 的例子:假如你写了个商品降价自动抢购的程序,你的判断条件可以写成这样:if 商品降价 and 商品还有库存。当它们同时满足时才去抢购。

or 的例子:假如你写了个假期提醒的程序,你的判断条件可以这样写:if 明天是周末 or 明天是节假日。只要满足其中一个条件就会发出提醒。

接下来是 not,not 表示否定,把是非颠倒一下即可。比如:not True 为 False,not False 为 True。
除了逻辑运算符,可以得到布尔值的还有成员运算符in、not in:

1	print('He' in 'Hello world')
2	# 输出:True
3
4	print('x' in 'Hello world')
5	# 输出:False
1	print('He' not in 'Hello world')
2	# 输出:False
3
4	print('x' not in 'Hello world')
5	# 输出:True

用来判断元素是否在其中,除了用于字符串外。列表、元组和字典也都可以。
最后就是三元表达式:在这里插入图片描述
【扩展】

in通常可以与for循环连用,用来实现列表等序列的遍历。
三元表达式则通常用于求最值、绝对值后赋值的问题。

第10关 小红帽历险记


【本关复习】

不知不觉,我们Python学习之旅已经步入了第十关,给认真学习的同学们发朵小红花🌹。

努力学习的每一天都值得纪念,而我们今天课程的重点,是对前两课的学习内容进行回顾总结。

期待同学们通过今天的章节回顾,可以对「条件」的知识点形成系统性的认知。

我们首先回顾了「布尔类型和布尔变量」,回忆一下,布尔类型代表的意义是什么呢?

在这里插入图片描述
对了,在计算机中,布尔类型是表示语句真假的数据类型,我们可以如上图所示、直接使用True(真)或者False(假)来创建布尔变量。

而在实际运用中,布尔类型更多作为条件语句中的判断条件。

那么接下来,我们将回顾「分支条件」的相关知识点。在这里插入图片描述
if/elif/else关键字构成了分支结构,我们可以根据不同的需求选用相应的条件判断语句——

1、当我们一往无前、只有一种选择时,只需用if写出相应的条件,即可满足我们需要实现的功能。

比如公司即将举行的团建活动,当参与人数不足3人时,屏幕上将显示“抱歉啦,活动取消”。
在这里插入图片描述
2、当我们面临非此即彼的选择时,就可以用到if…else…语句来提供两种可能。

除了刚刚提到的活动人数不足3人的情况,当参与人数于或者等于3人时,屏幕上将显示“一起去参加团建活动吧!”
在这里插入图片描述
3、当世界百花齐放、令我们眼花缭乱之时,这时我们就用if…elif…else来实现多重选择的可能性,而且中间的elif可以根据判断条件的多少来无限增加。

在上述例子中,我们用elif语句增加了判断条件,当人数超过3但不足8人时,我们将看到屏幕上显示的结果是“欢迎来玩剧本游戏”。
在这里插入图片描述
还记得我们先前在晚分享里提到的KISS原则吗?Keep It Simple!

学习编程语言,我们更需要从驳杂的选择里训练“抽象化”(Abstraction)的思维。

从具体问题中,提取出具有共性的模式,在使用通用的方式来合理化地解决。

三元表达式帮我们实现了if/else分支结构的简化,在一行之内直观地体现我们的思维。

PS. 提高代码的可读性也会大大提升我们检查代码的效率哦。
在这里插入图片描述
我们还一起回顾了布尔运算,希望同学们在理解的基础上搭配记忆口诀服用。(偷笑
在这里插入图片描述
and 运算:见到 False 即为假,其它为真。

or 运算:见到 True 即为真,其它为假。

好了,在回顾「条件」的基本知识之后,我们还学习了一个新知识——嵌套条件。

在这里插入图片描述
在多个判断、层次分明的条件语句中,我们可以先搭起大的框架,再在分支中进一步划分条件。

请注意,if语句同等缩进为同一条件结构,同学们在书写自己的代码时,尤其要注意格式的准确。

在本次课程的最后,我们还梳理一下「条件」语句的常见错误,这里再强调一下:

1、不要忘记条件后或者else后的冒号;
2、不要忘记代码缩进;
3、不要混淆== 和 = ;
4、不要弄混bool(’’)和bool(’ ')的区别

万丈高楼平地起,一些细节的把握会帮助我们更好地实现功能哦,希望今天的章节复习课可以让大家举一反三、做到融会贯通!

【扩展】

条件分支的一些学习笔记:
https://www.youkuaiyun.com/gather_2a/MtTaIg0sOTIzMzgtYmxvZwO0O0OO0O0O.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值