现在我们要正式开始 Python 的学习了。你将学习 Python 的数据类型、变量、运算符、条件判断与循环等基础语法,最终亲手完成一个 Python 小游戏,相信你一定能做到!
我们开始吧~
实验知识点
- print()
- 数据类型
- 变量
- input()
- 运算符
进入 Python 开发环境
python 程序的执行方式一般分为两种:
- 交互式命令行执行:在这个环境下,你输入的 Python 代码都可以立即执行,并得到输出结果,在开发中经常用于调试代码。
- 程序文件的方式执行:最常用的方式,你日常接触 99% 的程序,都是以打包成一套代码文件的方式执行的。
没看懂?不用在意,我们往下做就行了。
这节实验中,我们先在 Python3 的命令行交互式环境中学习基本语法。
进入 Python 开发环境:
在实验环境中打开终端
,在第一行 $
符号后面输入 python3
,按回车键执行。系统就进入到 Python 的交互环境中了。
>>>
是提示符,提示你在这里输入 Python 代码。
如果要退出命令行,可以使用快捷键 Ctrl + D
,或者输入 exit()
。
输入 1 + 1
试试,按下回车,可以看到 Python 自动帮你算出了结果。
第一行代码
我们再来写点代码,输入:
print('Hello World!')
( ⚠注意:️编程中标点符号要使用英文符号,请永远记住这一点 !)
再按回车执行,终端中出现了 Hello world
~
很简单对不对?
👇
print(打印)
print('Hello World!') —— 打印 Hello World!
print() 就是你学到的第一个函数 —— 「打印函数」(函数可理解为方法),它可以帮你输出任何内容 —— 只要放进 括号 内。
那么'Hello World'
为什么要用 引号 包起来呢?
用引号包起来的文字,被称为「字符串」,等于在告诉计算机:请把引号里的内容打印出来,不用管里面是什么。
观察下面的两行代码:
print(1 + 1)
print('1 + 1')
用前面学到的知识,猜一下这两行代码分别会打印什么。
然后在终端中验证一下:
可以看到,前者打印出了 1+1 的结果;而加了引号后,原封不动地打印出了「 1 + 1 」。
⚠ ️ 注意:引号可以是单引号,也可以是双引号,但必须是英文符号,且前后一致。
试试打印一行诗句:
🔥 小练习: 请打印出 床前明月光,疑是地上霜
print('床前明月光,疑是地上霜')
💡 提示:双击桌面上的搜狗拼音「sogou」,即可在桌面右下角切换成中文输出;如果没有搜狗拼音,请直接点击右下角切换成拼音输入;按「shift」键在中英文间快速切换。
如果想打印多行文字怎么办呢?
可以使用三个引号,比如:
print(''' 我去买几个橘子 你就站在此地不要走动 ''')
终端会直接打印多行内容:
我去买几个橘子 你就站在此地不要走动
数据类型
计算机不仅能处理数字之间的运算,也能对文本、图片、音频、视频等数据进行处理。在程序中,每个数据都有自己的数据类型。Python 的数据类型有 int(整数)、float(浮点数)、字符串、布尔值、None、列表、元组、字典、集合等。
下面介绍几种基本数据类型。
💡 int - 整数
即数学意义上的整数,可以是正整数或负整数,不带小数点。
💡 float - 浮点数
浮点数就是小数。所谓浮点,指的是小数的表示形式多变,3.14 可以表示为 0.314 x 10,小数点可以改变位置,故称为浮点数。
在计算机中,整数、浮点数字、字符串等所有的数据,都会被转换为二进制数值进行处理,处理完成后再转换为你想要的信息。转换的过程中可能就会出现精度的丢失,试试在 Python 命令行中输出 1.1 + 2.2
,猜猜结果是多少?
结果并不是 3.3
,而是 3.3000000000000003
。
💡 布尔值
布尔值只有 True
和 False
两种,注意大小写。布尔值通常用来比较和判断,举例如下:
💡 空值 None
None
在 Python 中是一个特殊的值,表示“无”。注意它与数值 0 不同,0 是一个整数,而 无
表示什么都没有。
变量
我们再来学习一个很重要的概念 —— 「变量」。你可以将它理解为一个盒子 —— 把常用的数据放在里面,起一个好记的名字,下次用到时可以快速找到它。
比如说在游戏中,你会频繁用到 「血量(HP)、攻击力、防御力」等数据,这些数据需要用名字储存起来。
定义这些变量的代码如下:
Level = 1 ATK = 5 HP = 100
左边是「变量名」
右边是「数据」
而等号在 Python 里的意思是「赋值符」,代表把右边的数据赋值给左边。
其实,早在小学的数学课上,你就开始使用 变量 的概念了。比如「鸡兔同笼」问题中,你可以“设鸡的数量为 x,兔子的数量为 y ”, x、y 就是变量:
- x = 鸡的数量
- y = 兔子的数量
- 则:
- x + y = 头数
- 2x + 4y = 脚数
变量中的数据,除了可以是整数,还可以是一段文字,比如:
word = 'Hello World!' print(word)
试一下上面的代码,看看会打印出什么结果。
变量的右边,甚至可以是另一个变量,如:
word2 = word print(word2)
上面这段代码的意思是把「word」中的数据,赋值给「word2」这一变量。
亲手操作一下试试:
🔥 小练习:把 「实小楼」 存入名为的「name」的变量中,并打印出来。
💡 提示:「实小楼」是字符串,需要加引号
Input() 函数
🦁️️:️“对了,还不知道你多大了,请用 Python 告诉我吧~”
输入下面的代码:
age = input('My age is :')
执行代码后,弹出「My age is :」,在后面输入你的年龄,再按回车。
这时,你的年龄就被存入了「age」这个变量中,print 一下试试:
print(age)
终端随之打印出了你的年龄。
这就是我们今天学的第二个函数 input()
,主要作用是让用户输入某个内容并接收它。比如注册时需要填写账号密码,你就可以用 input()
搞定:
ID = input('请输入你的ID:')
用户填写的信息就会被存入「ID」这个变量中。
( ⚠注意 ️:如果 input()
函数执行后,你没有在后面输入内容,程序会一直卡住,等待你输入信息。)
字符串
任何一本编程书籍之中,字符串的内容总是很长。这是因为:处理字符串是计算机程序中最普遍的需求之一 ,人和计算机交互,所用的就是字符串而不是二进制数字。
用 引号 包裹起来的数据就是字符串。计算机无法识别人类的文字,所以引号的作用就是告诉计算机:我是字符串,不用管里面是什么内容。
包裹字符串的引号必须前后对应,成对出现。如果字符串中还有引号,要特别注意,如 He said "Today's weather is good."
,直接写 print('He said "Today's weather is good."')
就会报错。因为:
正确的写法是,在 Today 后面加入转义符 \
:
亲手在终端中试一下:
转义符 \
还有一个常用形式是和 n 连起来用,\n
代表换行符,就是用 Enter(回车)键敲出来的东西。
💡 索引
字符串是一堆字符的集合,可以通过位置编号,来获得对应的字符。如 'hello_shiyanlou'
,编号 0 对应第一个字符 h,1 对应第二个字符 e,依次类推。这个位置的编号,我们称之为:索引。
这里你又学到了计算机世界的一大概念:
在计算机世界中,计数从 0 开始。
在计算机世界中,计数从 0 开始。
在计算机世界中,计数从 0 开始。
索引除了是正数,也可以是 负值,表示倒数第几个。比如最后一个字符的索引为 -1,倒数第二个字符的索引为 -2。
简单的示例:
>>> string = 'hello_shiyanlou' >>> string[0] # 获取第一个字符 'h' >>> string[1] # 获取第二个字符 'e' >>> string[2] 'l' >>> string[-1] # 获取倒数第一个字符 'u' >>> string[-2] # 获取倒数第二个字符 'o'
💡format()
format()
是专门用来 格式化字符串 的函数,它最常用的功能就是「插入数据」和「数字格式化」。
插入数据:
先看下面的代码,相信现在的你已经能看懂是什么意思了。我们让用户输入姓名和年龄,并用 name 和 age 变量接收数据。
name = input('请输入姓名:') age = input('请输入年龄')
现在我想打印 “你叫 xxx,今年 x 岁了”,代码该怎么写?
有两种写法:
print('你叫'+name+',今年' + age + '岁了')
这种方法用 + 号串联打印的内容,虽然可行,但是比较麻烦,而且有局限性。
这时,你可以使用 format()
函数,实现插入效果,用法如下:
print('你叫{},今年{}岁了'.format(name,age))
{}
为占位符,我先把这个位置占住,具体数据在后面导入。
下图可以让你有更好的理解:
数字格式化:
format()
的第二种常用功能,是格式化数字,比如我们要输出圆周率,但只保留两位小数,可以这么写:
print("{:.2f}".format(3.1415926))
如果要保留三位,则改成 {:.3f}
;不带小数,则改成 {:.0f}
,依次类推。
format()
功能还有很多,我们之后用到时在做学习。
💡注释
注释,可理解为程序的注解、提示,用来帮助他人和自己阅读、理解、编写代码。python 中,#
常被用作写单行注释,#
号后的内容会被忽略,不会被当作代码处理。
如:
# 注释可以写在开头:下面要打印 “hello shiyanlou” print("hello shiyanlou") print("hello world") # 注释也可以写在后面:这里打印 “hello world”
注释 对程序员来说非常重要,甚至直接决定了你的寿命……写注释可以帮你理清思路,提高程序的可维护性;如果没有注释,你会连自己的代码都看不懂,而且极可能会被同事、上司打死……
另外,如果有一些代码暂时不需要被执行,可以先不要删掉它(因为后面可能还会使用),而是使用 #
将其注释掉。这样代码就暂时不会被执行了,之后再需要这段代码时,删掉 #
就好了。
运算符
运算,是计算机最基本的功能,我们先来学习一下运算符。
运算符用于执行程序的运算,我们这里先学习最简单的几种:「算术运算符」、「比较运算符」、「赋值运算符」、「逻辑运算符」。
不要被这些名词吓到,其实大多都是些你小学就学过的概念……
💡 算术运算符
即小学数学中的运算符,最常用的还是「加减乘除余」这五种:
运算符 | 名称 | 描述 |
---|---|---|
+ | 加 | 两个对象相加 |
- | 减 | 得到负数或是一个数减去另一个数 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 | x 除以 y |
% | 取模 | 返回除法的余数 |
** | 幂 | 返回 x 的 y 次幂 |
// | 取整除 | 返回商的整数部分(向下取整) |
🔥 练习一下:
>>> a = 12 >>> b = 3 >>> c = 5 >>> a + b 15 >>> a - b 9 >>> a * b 36 >>> a / b 4.0 >>> a / c 2.4 >>> a % c 2
💡 比较运算符
比较运算符 就是小学课本中的「大于、小于、等于……」,通常用于程序执行 循环和判断 中:
运算符 | 描述 |
---|---|
== | 等于:比较对象是否相等 |
!= | 不等于:比较两个对象是否不相等 |
> | 大于:返回 x 是否大于 y |
< | 小于:返回 x 是否小于 y |
>= | 大于等于:返回 x 是否大于等于 y |
<= | 小于等于:返回 x 是否小于等于 y |
⚠️ 注意: 在 Python 和大多数高级语言中:一个等号代表赋值符,两个等号才代表数学意义上的“相等”。
🔥 练习一下:
>>> a = 1 >>> b = 2 >>> c = 3 >>> d = 2 >>> a == b False >>> a != b True >>> a > b False >>> a < b True >>> c >= d True >>> b <= c True
💡 赋值运算符
赋值运算符 主要是为了简写,如果看不懂可以先跳过,在以后的项目中会更容易理解。
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | c = a + b :将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a :等效于 c = c + a |
-= | 减法赋值运算符 | c -= a :等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a :等效于 c = c * a |
/= | 除法赋值运算符 | c /= a :等效于 c = c / a |
%= | 取模赋值运算符 | c %= a :等效于 c = c % a |
**= | 幂赋值运算符 | c **= a :等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a :等效于 c = c // a |
🔥 练习一下:
>>> a = 3 >>> b = 12 >>> c = 10 >>> c += a >>> print(c) 13 >>> b -= a >>> b 9 >>> c *= 5 >>> c 65
💡 逻辑运算符
如果计算机只有计算功能,那它顶多是一个计算器;而我们今天使用的计算机之所以智能、可编程,最重要的原因是:它能够进行 逻辑处理。
逻辑运算符,即高中数学中的「 且、或、非 」,Python 中用 and
、or
、not
表示这三种逻辑。
运算符 | 逻辑表达式 | 结果 |
---|---|---|
and(逻辑与) | a and b | 当 a、b 都为 True 时,返回 True;否则返回 False |
or(逻辑或) | a or b | 当 a、b 任意一个为 True,就返回 True |
not(逻辑非) | not a | 当 a 为 True 时,返回 False;反之亦然 |
🔥 练习一下:
⚠️ 补充:在逻辑运算中,数字 0
代表 False,1
代表 True。
>>> not 1 False >>> not 0 True >>> 1 and 1 1 >>> 1 and 0 0 >>> 1 or 0 1
总结
到这里,我们本节实验就学完了,总结一下今天所学的知识点:
- Python 开发环境
- print() 函数
- 变量与数据类型
- input() 函数
- 字符串
- 运算符
课下,请把这些知识点记录在你的 脑图 或 笔记 中,例如这样:
Python 基础语法的三大模块中,你已经学习了「数据」、「函数」两个,下节课中,下你将学习第三个模块——「流程控制」。
完成这三个模块的学习后,你会发现你已经能写出很多程序了~甚至在第一节实验中你体验过的对战游戏,也可以独立实现出来!胜利就在前方,我们下节课见!