随着计算机的快速发展与普及,如今,几乎每家每户都有一台甚至两台计算机。也因此,计算机编程这一学科正逐渐被重视。相信只要会使用计算机的人,多少都听说过这几个常见计算机语言:比如C++,Java,HTML,Python等。而其中,最令人耳熟的可能就是Python了。Python上手简单,速度快的话,学习三至四个月即可编写出一个小游戏或小程序。
如果你是Python初学者,而且又想自学。那么,这份手册一定要留好,因为它或许可以解答你一段时间内很多关于此的问题。值得在此声明的是,此手册不会过于深入的去讲解每一个函数和语句,所以单靠这份手册来自学是不够的,建议配合一些书籍来学习。
(注:本手册内容深度及“循环语句”部分,适合纯新手)
print('so, welcome to the world of python') #欢迎来到python的世界
什么是Python?
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。随着版本的不断更新和语言新功能的增加,Python逐渐被用于独立的、大型项目的开发。
Python语言易学,易理解,是计算机编程初学者的第一大选择。相较于其它的计算机语言而言,Python的语法结构更加简洁,因此可读性也就更高。
搭建Python编程环境
Python的编程环境易于搭建,因此这里不多费笔墨。
建议访问官网:Welcome to Python.org
详细安装过程可见:超详细的Python安装和环境搭建教程(2022) - 哔哩哔哩 (bilibili.com)
安装前,务必注意下载的版本是否正确。Python区分macOS版和Windows版,版本的错误或对应系统位数的错误都会导致安装失败或无法使用。目前最新版本为3.10.4,如果电脑系统版本允许,建议下载最新版(因为最新版的问题是相对最少的,功能也是相对最多的)。
严格按照教程安装完成后,下一步就是找到你的IDLE。IDLE是开发Python程序的基本IDE,具备基本的IDE的功能,是非商业Python开发的不错的选择。因此也建议初学者使用IDLE来编写Python程序。一般地,当安装好Python以后,IDLE就会自动安装,不需要另外去找。同时,使用Eclipse这个强大的框架式IDLE也可以非常方便的调试Python程序。除了IDLE,常见的开发Python程序的IDE还有VSCode,PyCharm,Sublime Text,Wing等。
这是我在Python下载完成后,桌面上自动生成的IDLE的快捷方式,双击即可编程。当然你可能会发现你的桌面上并没有生成这个快捷。不要慌,因为不出意外,安装Python后IDLE会附带安装。你的IDLE可能只是隐藏了起来。以Windows 10系统为例,打开搜索栏,搜索“idle”。
找到你刚才下载的版本对应的IDLE(图中,即3.10版),单击打开,也可运行IDLE。
(注意:3.11尚未发布,图中的3.11版IDLE是我在Microsoft Store中获取的beta测试版!!)
若双击后出现这样的UI窗口,说明这就是正确的IDLE。接下来,你就可以用它来编写你的Python程序啦!
开始
编写你的第一个程序
首先,你需要新建一个.py文件。
如图,点击“New File”(或直接按Ctrl+N)以新建文件。单击后,会弹出如下窗口。
这个名为“untitled”的窗口即为你的文件。你可以在里面编写代码。现在,你可以试着将下面的代码复制进去,并按F5键运行。注意,运行前会要求你保存程序代码,将它保存到你想要的位置,然后给它取一个好听的文件名就好了(如test),这里不再截图展示。
a = int(input('enter a number: ')) #要求用户输入一个整数*
for i in range(a):
print('hello world') #输出a(由用户定义)次“hello world”
'''
*若用户输入的不是整数,运行后面的程序时会报错,这点关系到“错误处理”的内容,暂不作讲解。
'''
运行效果应为:让你输入一个整数,然后屏幕上会显示你输入的整数次“hello world”。
先让我们用大白话再来写一遍这个程序,它就变成了:
-程序开始-
请你输入一个整数,我会将它赋值给变量a
我循环输出a次“hello world”
-程序结束-
(这里的“我”和“你”指谁,相信不用多说,自己想象即可。 )
现在,结合翻译成大白话的“程序”,让我们在来剖析一下这个程序。第一行是一个赋值语句,input()是一个函数(计算机函数),input()括号中的内容为输入提示语。接下来是一个for的控制语句(后期会讲到),range()也是一个函数,其返回值为一个可迭代对象。目前可简单理解为range()函数用于for语句时,括号内的数是多少,代码块内的语句就会被执行多少次。而此程序中的range()后的括号内为a,因此它会执行a次代码块内的语句,即输出a次“hello world”。此处的print()为输出函数。
准备:基础语法
在对Python有了个初步了解并分析完了上面这个程序后,让我们一起来看一看Python的几大语法点。本手册将概括性的讲解每一个函数与控制语句,但对于初学者,足矣。
真正的开始
print()函数
print,原意为“打印”。函数原型为:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
目前,我们只需用print()函数来完成简单输出,即:
print(' ')
单引号内的内容为你要输出的内容,比如在里面填写“charleschen”就会输出“charleschen”。下面请你自己尝试编写程序,来完成以下练习:
- 输出“helloworld”;
- 输出5次“helloworld”(可以不使用for语句)。
这里将不给出答案。
input()函数
input,原意为“输入”。函数原型为:
input([prompt])
其中promt为提示语。input()函数一般与变量赋值函数配合使用。变量一内容在后期会讲解到。
eval()函数
eval()函数,函数原型为:
eval(expression, globals=None, locals=None)
目前,我们只需用到参数expression,即“表达式”。它的返回值为表达式的计算结果。如:
print(eval('12-7+5')) #运行结果为输出10
基本数据类型
下面列出的是目前阶段建议掌握的Python几大数据类型。相同的数据类型可以作数学运算或拼接操作等,但不同的数据类型基本不可以作整合操作。如123+456得结果579,而123+'hello'是不可运行的(会报错),但是123*'hello'是可以操作的,结果为由123个'hello'相拼接而成的一个超长字符串。
数据类型之间也可以相互转化,这里不做讲解。
想了解的可以参考文章:python数据类型的转换_详解-CSDN博客
或进入链接:python数据类型转化详解_百度搜索 (baidu.com)
int
整型。如10、192、888、-28等都属于int。
float
浮点型。如0.5、3.14159、333.333、-10248.1958等都属于float。
long
长整型。如51924361L、535633629843L、-4721885298529L等都属于long。
str
即string,字符串。如'string'、'michael jackson'、'csdn is the best'、'www.python.org'等都属于string。Python中,string型数据必须由一对引号所包括,它可以是单引号,也可是双引号(取决于个人习惯),当然必要时也可以写成这样:
print("""csdn""")
bool
布尔型。如True、1 == 1、'mouse' < 'elephant'、0.5 == 0.5 or 1 != 1、0等都属于bool。其中,0表示False。详细可配合下文中的“运算符”板块加以理解。
变量
变量,在Python中是一个很有讲头的玩意儿,在其它大部分语言中也是。首先要了解什么是变量。变量相当于一个房间,这个房间里什么都可以存。那它总得有个房间号吧?否则怎么找到对应的房间地址呢?而这个房间号,正是我们所说的“变量名”。在Python中,定义并赋值变量很简单,格式为:
'''
变量名 = 变量值
'''
比如:
var1 = 'hello'
var2 = 'world'
var3 = var1+var2
var4 = 2022
var5 = 2021
var6 = var4-var5
根据以上代码,试着思考并口答以下问题:
- var3的值是什么?
- var6的值是什么?
- var1可以与var4相加吗?能的话,结果是什么?不能的话,为什么?
(鼠标选中下方红色区域以查看答案)
- 'helloworld';
- 1;
- 不能。因为int型数据与str型数据不能相加,会报错。
*以前这个字体在不被选中的情况下是看不见的,不知道现在怎么回事,下文中也有相同问题。。
除此之外,变量名的定义也是有讲究的。它可以由字母、数字、下划线(_)组成,其中数字不能打头。不能是 Python 关键字,但可以包含关键字 。不能包含空格。下面列出的是Python 3.10.4中的关键字,以供参考。
- False class from or
- None continue global pass
- True def if raise
- and del import return
- as elif in try
- assert else is while
- async except lambda with
- await finally nonlocal yield
- break for not
来判断一下下列变量名分别是否合法(选中红色区域以查看答案):
- var 合法
- else 不合法
- __hello__ 合法
- 24k 不合法
- print 合法
- cs dn 不合法
- TrueOrFalse 合法
运算符
Python中常见的运算符如下:
名称 | 表达 | 描述 | 示例 |
加 | + | 将两数据相加 | 10.1+20→30.1 |
减 | - | 将两数据相减 | 99-71.8→27.2 |
乘 | * | 将两数据相乘 | 7*2.111→14.777 |
除 | / | 将两数据相除 | 10/5→2 |
取余 | % | 将两数据相除后取其余数 | 60%7→4 |
等于 | == | 两数据相等返回True,否则返回False | 1.1 == 1.1→True |
大于 | > | 两数据前者大于后者返回True,否则返回False | 5 > 2→True |
小于 | < | 两数据前者小于后者返回True,否则返回False | 7 < 0→False |
大于等于 | >= | 两数据前者大于或等于后者返回True,否则返回False | 100 >= 100→True |
小于等于 | <= | 两数据前者小于或等于后者返回True,否则返回False | 50 <= 999→True |
不等于 | != | 两数据不相等返回True,否则返回False | 28.8 != 28.8→False |
或 | or | 用于连接布尔表达式,两者中至少其一为True,结果即为True,否则为False | 1 == 1 or 1 > 5→True |
与 | and | 用于连接布尔表达式,两者中两者都为True,结果即为True,否则为False | 1 == 1 and 1 > 5→False |
非 | not | 用于一布尔表达式前,若其表达式值为True,则整个表达式为False,反之亦然 | not 0→True |
练习
请编写Python程序完成以下练习(答案资源仍在开发):
- 长方体的体积:要求用户输入三个int型数据,作为一个长方体的长、宽、高,随后输出这个长方体的体积,不做异常处理;
- 简易计算器:要求用户输入一个数学表达式,其次返回运算结果,不作异常处理。
条件语句
在Python中,条件语句一般指控制语句中的if语句。它一般与elif(else if的缩写)和else配合使用,其一般形式为:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
可将其逻辑顺序简单概括为:
- 如果condition_1为True,将执行statement_block_1块语句
- 如果condition_1为False,将判断condition_2
- 如果condition_2为True,将执行statement_block_2块语句
- 如果condition_2为False,将执行statement_block_3块语句
以下是一个示例程序,方便大家理解:
age = input('your age: ')
if age < 9:
print('sorry, you cannot play this game')
elif age >= 9 and age < 18:
print('you can play this game, but you cannot recharge')
else:
print('welcome, my friend')
注意:Python中的控制语句后必须要加“:”,表示代码块开始,使用缩进来划分代码块。
循环语句
Python中,循环语句可分为while循环语句与for循环语句。如果介绍的话,篇幅可能会极长(最主要没时间写),因此我就在这里挂上几个链接,供大家前往自学。
- Python3 循环语句 | 菜鸟教程 (runoob.com)
- python循环控制语句 (baidu.com)
- python循环执行语句怎么写-Python常见问题-Python学习网
- Python学习之while 循环语句_python_脚本之家 (jb51.net)
- 第八章:Python入门之“控制语句(for循环语句)” (baidu.com)
就是这样了
这篇手册的内容就到此结束了,想要继续深造的小伙伴可以继续上网查找资料,或查阅参考书。当然,我之后也会推出Python进阶手册,以供大家进一步学习和参考。我也会不断完善本手册,让内容更加精确、完美。如果有什么编写意见或建议可以致邮:csy009123@outlook.com。本手册内的编程题还会继续增加,答案资源目前尚在开发中,敬请期待!!
最后,感谢您能够耐心阅读完本手册。这是我的第一篇博客,如果喜欢的话就给个三连吧!你的三连是我最大的创作动力!谢谢!!