Python编程快速入门 您所在的位置:网站首页 spyder运行python程序c盘空间 Python编程快速入门

Python编程快速入门

2023-05-11 07:26| 来源: 网络整理| 查看: 265

图2 Python自定义安装

作为初学者选择默认安装选项即可。安装成功后,对于Windows系统将会有一个“Disable path length limit(禁用路径长度限制)”的提示,这是因为Windows系统能够处理的文件路径长度有一定的限制(图3)。点击禁用这一限制可以避免处理长文件路径时出现的调试问题,不过这也可能导致与旧版本Windows 10的兼容性问题。对于我们初学者来说可以暂时跳过此选项,因为以后有需要时还可以修改注册表来解决。

图3 Python安装成功的界面

点击“Close”按钮关闭安装向导。现在我们测试Python是否安装成功。按Win+R键调出运行对话框,输入“cmd”后按回车键打开命令提示符窗口,然后输入“python”并按回车,如果能够显示出Python版本等信息内容,并且提示符变成了“>>>”,则表示安装成功了。此时可输入一行测试代码:

print("嗨,欢迎来到Python世界!")

按回车键执行,即可得到“嗨,欢迎来到Python世界!”的显示信息。几乎每种编程语言教程中都会展示一下“hello, world!”程序,虽然很俗套,但不得不说Python的实现是如此的简单。紧接着执行代码“exit”退出Python环境,完成此一阶段的测试(图4)。

图4 Python的“hello, world!”程序示例

命令提示符的界面过于简陋,我们可以试试Python自带的IDLE交互式开发环境。点击系统“开始”按钮,在开始菜单顶部的最近添加中就可以看到“IDLE(Pyton 3.11 64-bit)”程序了,点击即可打开。

IDLE通过不同的颜色区分代码及执行结果,清晰明了。尤其方便的是,当我们输入某个函数时,它会智能显示参数提示,辅助我们输入代码,非常方便(图5)。

图5 Python的IDLE交互式开发环境

除了一行一行的交互式执行,IDLE还可以执行扩展名为“py”的Python程序文件,下面就来做个测试。首先点击菜单命令“File→New File”打开IDLE的代码编辑器,输入以下代码:

# Python 3: 显示n个数以内的斐波纳契(Fibonacci)序列

def fib(n):

a, b = 0, 1

while a < n:

print(a, end=' ')

a, b = b, a+b

print

fib(1000)

代码解释:“#”后面的文字表示注释,是程序员对代码的说明,这是给阅读代码的人看的,Python解释器会自动忽略这一行。接下来的“def fib(n):”定义了一个名为“fib”的函数,其后缩进的几行代码就是该函数的内容,其主体是一个“while”循环,通过斐波纳契数列公式反复运算,运算结果通过“print”函数显示出来,其参数“end=' '”表示每个数字后面加几个空格,是为了将数字隔开(用来显示的print函数在后面的示例中将频繁出现)。当然,函数定义只是表明此函数能做什么,真正运行还得对它进行调用,这就是最后一行代码“fib(1000)”的作用,在调用该函数时,传递了一个参数“1000”,表示要计算1000以内的斐波纳契数列(图6)。

图6 斐波纳契数列计算

对于初学者来说可能还理解不了这段代码,没有关系,这正是后文要介绍的内容。现在按Ctrl+S键保存,在打开的保存对话框中输入文件名(本例取名为“Fibonacci”),这里无需手动添加“py”后缀,它会自动添加(图7)。

图7 保存Python程序文件

保存完毕,点击代码编辑器的菜单命令“Run→Run Module”,或者直接按F5键,即可运行这段代码了。下次在IDLE中,随时可以执行菜单命令“File→Open”打开“Fibonacci.py”文件,并按F5键运行(图8)。

图8 斐波纳契数列计算程序的输出结果

PyCharm——Python开发好伴侣

IDE是Integrated Development Environment的缩写,意为集成开发环境,主要用来辅助程序开发。Python并不一定需要IDE,因为它可以在任何文本编辑器中编写并从命令行运行。但是IDE可以提供许多辅助功能,例如代码调试、智能完成和语法高亮显示等。另外,IDE还可以提供重构、代码导航和项目管理等工具,这些工具可以帮助我们更快、更轻松地编写Python代码,并且可以更轻松地调试和维护代码。

Python开发人员有多种IDE可用,相对来说PyCharm是个非常不错的选择,它可以让Python开发过程变得更加轻松和高效。值得称道的是,PyCharm提供一个强大的社区版本,可以免费使用,并且可以在网上获得免费支持。

首先进入PyCharm主页https://www.jetbrains.com/pycharm,点击“DOWNLOAD”按钮进入下载频道,在“Windows”选项卡下可以看到“Professional(专业版)”和“Community(社区版)”两种版本,其中社区版是免费的,点击其下的“Download”按钮下载即可。比较而言,社区版缺少对科学工具、网站开发、Web框架、远程开发、数据库等的支持,不过对于一个初学者来说,这些影响不大(图9)。

图9 PyCharm专业版和社区版功能比较

双击下载所得的EXE文件启动安装向导,点击“Next”按钮进入下一步,根据向导提示选择安装位置,创建快捷方式以及关联py文件等,最后点击“Install”进行安装即可。安装完成,需要重新启动系统(图10)。

图10 PyCharm社区版安装向导

重启系统后,点击“开始”按钮,在开始菜单顶部的最近添加项中点击“PyCharm Community Edition 2022.3.2 ”启动PyCharm。第一次使用PyCharm需要进行一些设置,首先显示用户协议,只有勾选“I confirm that I have read and accept the terms of this User Agreement”(同意该协议)才可以继续。单击“Continue”按钮进入数据共享页面,如果不希望自己的数据被搜集,可以点击“Don't Send(不发送)”按钮继续,进入PyCharm的欢迎界面(图11)。

图11 PyCharm欢迎界面

在“Projects”选项卡下点击“New Project”按钮新建一个项目,接下来设置新项目的保存位置和名称(Location)。另外我们还得给PyCharm选定一个Python解释器,本例中笔者勾选了“New environment using”项,选择“Virtualenv”,可以看到其所用的解释器正是前文所安装的Python.exe(图12)。

图12 PyCharm新建项目窗口

设置完毕,点击“Create”按钮即可进入PyCharm主界面,可以看到新项目中已经自动生成了一个包含多行代码的Python文件“main.py”,这是因为本例在新建项目窗口中笔者勾选了“Create a main.py welcome ”项。点击菜单命令“Run→Run 'main.py'”,或者按Shift+F10快捷键,主界面下方即可实时运行该程序(图13)。

图13 包含了预置文件的PyCharm文档

我们可以在此项目中添加新的文件。点击菜单命令“File→New”打开新建对话框,可以选择多种文件类型,如网页文件、资源文件等,这里笔者选择创建Python文件(图14)。

图14 PyCharm可以创建多种类型的文件

接下来为新文件取一个名称,我们继续以上文中的斐波纳契数列为例,所以将文件名设置为“Fibonacci”,按回车键回到主界面,输入上文中斐波纳契数列的示例代码,然后点击菜单命令“Run→Run”,在弹出的窗口中单击刚刚创建的“Fibonacci.py”即可运行它并在主界面下方显示出运行结果了。在手动输入代码时,能够明显感受到PyCharm的智能提示、自动补全、代码检查、快速修复等功能的强大,可以大大提高工作效率(图15)。

图15 PyCharm的智能提示和自动补全功能

PyCharm功能丰富,很难在一遍短文中讲清楚,本文我们只需了解它的基本使用方法就够了。下面我们将着重分析Python的语法和程序结构。

Python的数据类型和数据结构

计算机科学领域有一个著名的公式:计算机程序=数据结构+算法。这一公式表明,数据结构是程序的核心,而算法是解决问题的步骤。所以我们在学习某一编程语言的时候,很有必要先了解一下它的数据类型和数据结构。

Python支持各种数据类型和数据结构,它们具有不同的属性和特性,可以用于不同的任务。下面是Python中常用的数据类型和数据结构的介绍。

Python简单数据类型常见的有以下几种(图16):

1、整数类型(int)

整数类型是Python中最基本的数据类型之一。它代表整数值,可以是正数、负数或零。在Python中,整数没有大小限制。

2、浮点数类型(float)

浮点数类型代表实数值,即包含小数点的数字。在Python中,浮点数也没有大小限制。

3、布尔类型(bool)

布尔类型代表真和假两个值,分别用True和False表示。布尔类型通常用于条件判断和循环控制中。

4、字符串类型(str)

字符串类型代表文本,即一系列字符的序列。字符串用单引号、双引号或三引号表示。三引号可以将多行文本括起来。Python中的字符串是不可变的,也就是说,一旦创建了字符串,就不能修改它的值。

图16 Python中常见的数据类型示例

Python常见的数据结构有以下几种(图17):

1、列表(list)

列表是Python中最常用的数据结构之一,它是一个有序、可变的集合。列表中的元素可以是不同的数据类型。可以使用索引等操作来访问和修改列表中的元素。列表用中括号“[]”表示。

2、元组(tuple)

元组是另一个有序的集合,它是不可变的。元组中的元素可以是不同的数据类型。与列表不同,元组不能修改。元组用小括号“”表示。

3、集合(set)

集合可以包含不同的元素,它是无序的,没有重复的值。集合可以用于集合运算,例如并集、交集和差集。集合用大括号“{}”表示。

4、字典(dict)

字典是Python中的映射类型,它是无序的键值对集合,没有重复的值。每个键都必须是唯一的,但值可以重复。可以使用键来访问和修改字典中的值。字典也用中括号“{}”表示,只是其中的数据都是键值对形式。

图17 Python常见的数据结构示例

以上只是Python中最基本和最常用的数据类型及数据结构。除此之外,Python还有其他一些数据类型,例如字节类型(bytes)、字节数组(bytearray)、内存视图(memoryview)、范围类型(range)、空类型(none)等等,这里不再一一细述。熟悉这些数据类型和数据结构的特性和用法,可以帮助我们更好地编写Python程序。

Python变量及赋值

如前文所述,计算机程序就是数据+算法。当一个程序运行时,其相关数据被加载到内存中。内存如同一个大仓库,被分割为一个个小库房。当程序需要使用某个库房时,首先要做一个声明,表示要占用该库房,并为其贴上一个标签。用编程术语来说,就是“声明”了一个“变量”。声明变量后,就可以在里面储存各色货物(数据)了,编程术语称之为“赋值”,这一操作通过等号运算符“=”来实现,等号左侧为变量名称,等号右侧即赋予该变量的数据。以下代码显示了Python中的几种赋值方式:

x = 1

x += 1

x, y, z = 1, 2, "Hello!"

x = y = z = 99.9

第1种是基本赋值,使用“=”将值赋给变量。

第2种是增量赋值,将一个值添加到变量的现有值中。假设变量x的初始值为1,那么“x += 2”就将x的值变成了1加2等于3了。这其实是一种复合运算符赋值,如果将等号前的加号换成减号(x -= 2)则x将被赋值为1减2等于“-1”,如果将加号换成乘号(x *= 2)将得到1乘2等于2的值,以此类推。

第3种是多元赋值,如果需要赋值的变量很多,可以将它们放到一行中进行赋值,只需用逗号将每个变量隔开即可,等号后面各变量对应的赋值也同样用逗号隔开。

第4种是链式赋值,适用于将同样一个数据同时赋值给多个变量。

理论上来说变量名可以由任意字符组成,不过Python对变量命名实际还是有一定限制的,规则要求:变量名只能由字母、数字和下划线组成,且不能以数字开头,另外变量名不能是Python关键字。比如“num_01”是合法变量名,而“01_num”则是非法变量名。再比如“my_var_name”是合法的,而带空格的“my var name”则是非法的。另外像“if”、“while”、“for”等Python所保留的关键字是不能用来做变量名的。对于Python变量名还有一点需要注意,就是它是区分大小写的,像“mytime”和“myTime”,这实际上是两个变量。

变量还有一个重要属性,即变量的类型,它规定了变量能够储存什么样的数据。变量类型即上文所介绍的各类数据类型。其实所谓布尔类型(bool)、整数类型(int)、浮点数类型(float)、字符串类型(str)等等,只是一个形象说法,其本质就是定义了该变量占用多大的空间,比如1个布尔变量只占用1位空间,而一个整数变量则需要8位(1字节)空间。其他编程语言,比如C++、Java等,声明一个变量时需要明确声明其数据类型,而Python则省略了这一步,它直接通过所赋值的数据来自动确定该变量的类型,比如“x = 1”自动将x设置为整数类型,而“x = 99.9”则自动将x设置为浮点数类型。

Python表达式和运算符

如果说变量是程序的“词汇”,那么表达式就是程序的“句子”。词汇量再丰富,不把它们组织成句子就毫无意义。Python中的表达式,是指由运算符、操作数(变量和值)和函数调用一起构成的组合,用以计算某种值的的公式。表达式总是会被计算并返回一个结果。

运算符是构成表达式的重要元素,它相当于粘合剂将数据连接到一起,作为算法的“执行者”它对变量和值进行操作。Python中的运算符大致分为以下七大类。

1、算术运算符:这类运算符执行基本的算术运算,如加(+)、减(-)、乘(*)、除(/)、模(%)和取幂(**)。以下代码中,首先声明了a、b两个整数变量并分别赋值,然后对它们依次进行了加、除、模等算术运算,并通过print函数打印出运算结果(见其后的注释语句,下同)。

# Arithmetic operators

a = 5

b = 2

print(a + b) # Output: 7

print(a / b) # Output: 2.5

print(a % b) # Output: 1

2、比较运算符:这类运算符比较两个值并返回一个布尔值(True或False)。它们包括等于(==)、不等于(!=)、大于(>)、小于(=)和小于或等于( y) # Output: True

print(x == y) # Output: False

3、逻辑运算符:这类运算符对布尔值执行逻辑操作。它们包括逻辑与(AND)、逻辑或(OR)和逻辑非(NOT)。以下代码首先声明了a、b两个布尔变量,分别赋值为True(真)和Flase(假)。同一件事不可能同时又真又假,这个判断显然是错误的,所以逻辑与运算“a and b”返回的结果是False(假)。而一件事或者是真或者是假,必居其一,这个判断是正确的,所以逻辑或运算“(a or b)”返回的结果为True(真)。

# Logical operators

a = True

b = False

print(a and b) # Output: False

print(a or b) # Output: True

4、位运算符:这类运算符对二进制值执行位操作。包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移()。以下代码中,首先声明了x、y两个整数变量,不过它们的赋值采用的二进制,所以数字前面加上了“0b”标志,其中二进制的1010等于十进制的10,二进制的1100等于十进制的12。最后两行代码分别对两个变量进行了按位与以及按位或运算,得到了8和14的运算结果。

# Bitwise operators

x = 0b1010 # Binary representation of 10

y = 0b1100 # Binary representation of 12

print(x & y) # Output: 0b100 (binary representation of 8)

print(x | y) # Output: 0b1110 (binary representation of 14)

5、赋值运算符:这类运算符为变量赋值。上文已有详细介绍,此处不再赘述,下面仅举一个增量赋值的简单示例,“a += 2”表示在原有的值5之上再加2,所以最终赋值结果是7。

# Assignment operators

a = 5

a += 2

print(a) # Output: 7

6、标识运算符:这类运算符比较两个标识符的存储单元(内存地址),判断它们是不是引用自同一个对象(x is y),类似id(x) == id(y),如果引用的是同一个对象则返回True,如果不是则返回False。反之,则判断两个标识符是不是引用自不同的对象(x is not y)。以下代码首先声明了一个列表变量,接着又将该变量的地址赋值给了变量y,这两个变量实际指向的是同一个内存地址,所以“x is y”的标识运算结果为True(真)。反之,变量z虽然也是一个列表,并且其值和x相同,但它们并不在同一个内存地址上,所以“x is z”的标识运算结果为False(假)。

# Identity operators

x = [1, 2, 3]

y = x

z = [1, 2, 3]

print(x is y) # True

print(x is z) # False

7、成员关系运算符:这类运算符检查值是否为序列或集合的成员,它们包括in和not in。以下代码,通过“in”运算符指出2是列表numbers的成员,并以“not in”运算符指出6不是列表numbers的成员,这两个运算都是对的,所以返回的结果都为True(真)。

# Membership operators

numbers = [1, 2, 3, 4, 5]

print(2 in numbers) # Output: True

print(6 not in numbers) # Output: True

除了以上运算符表达式外,Python还有字符串表达式、函数调用表达式,以及针对列表、元组和字典进行运算的表达式。每一类表达式都有各自的特色,它们是编程的重要组成部分,理解它们如何工作对于编写有效的代码至关重要。

表达式是用来计算的,但是如何控制计算的流程和逻辑以实现特殊的算法,就需要用到控制语句了。和其他编程语言一样,Python的控制语句主要有三大类:顺序语句、条件语句(if语句)和循环语句(for语句和while语句)。其中顺序语句比较容易理解,即从先到后按顺序一条一条执行代码命令,我们上面的示例基本都是顺序语句。接下来我们重点介绍条件语句和循环语句。

条件语句

条件语句用于根据条件决定程序的执行路径,通常是实现分支选择。它的基本语法如下:

if condition:

# 如果condition为True,则执行这里的语句

elif condition2:

# 如果condition为False,但是condition2为True,则执行这里的语句

else:

# 如果上述所有条件都为False,则执行这里的语句

Python的条件语句使用if、elif和else关键字,其中if语句是必须的,elif和else语句是可选的。条件语句中的condition和condition2可以是任何返回布尔值的表达式,例如比较操作、逻辑操作或函数调用等。

下面是一个简单的例子,演示如何使用条件语句判断一个数是正数、负数还是零:

num = 5

if num > 0:

print("这个数是正数")

elif num == 0:

print("这个数是零")

else:

print("这个数是负数")

在这个例子中,如果num大于0,则打印出“这个数是正数”;否则,如果num等于0,则打印出“这个数是零”;当num小于0时,打印出“这个数是负数”。

注意,Python中缩进非常重要,因为它是区分代码块的方式。条件语句中的每个代码块必须缩进相同的空格数,通常是四个空格。

循环语句

循环语句用于重复执行一段代码。Python提供了两种循环语句:for循环和while循环。

for循环用于遍历序列(例如列表、元组、字符串等)中的每个元素。for循环的基本语法如下:

for variable in sequence:

# 在这里执行循环体代码

其中,variable是一个变量名,用于存储序列中当前遍历到的元素;sequence是一个序列,可以是列表、元组、字符串等。for循环将会遍历sequence中的每个元素,并将其赋值给variable,然后执行循环体代码,直到遍历完所有元素。

下面这个简单的例子演示了如何使用for循环遍历一个列表:

numbers = [1, 2, 3, 4, 5]

for num in numbers:

print(num)

这个例子中我们定义了一个列表numbers,然后使用for循环遍历列表中的每个元素,并将其赋值给变量num,最后打印出num的值(图18)。

图18 for循环遍历列表后输出

while循环重复执行一段代码,直到指定的条件不再满足。while循环的基本语法如下:

while condition:

# 在这里执行循环体代码

其中,condition是一个返回布尔值的表达式。只要condition为True,while循环就会一直执行循环体代码,直到condition变为False为止。

下面这个例子演示了如何使用while循环计算1到10的和:

total = 0

i = 1

while i



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有