Python-基础学习笔记
Python 基础学习笔记
基于《Python语言程序设计基础(第2版)》
第一部分初识Python语言
第1章程序设计基本方法
1.1 计算机的概念
?计算机是根据指令操作数据的设备,具备功能性和可编程性两个基本特性。
?计算机技术发展阶段:
1.第一阶段:1946-1981年,“计算机系统结构阶段”。
2.第二阶段:1982-2007年,“计算机网络和视窗阶段”。
3.第三阶段:2008年至今,“复杂信息系统阶段”。
4.第四阶段:月20年后某个时期开始,“人工智能阶段”。
1.2程序设计语言
1.2.1程序设计语言概述
?机器语言:直接使用二进制代码表达指令,可被计算机硬件直接识别和执行。不同计算机结构的机器指令不同。
?汇编语言:使用助记符对应机器语言中的指令,可直接操作计算机硬件。不同计算机结构的汇编指令不同。
机器语言和汇编语言都直接操作计算机硬件并基于此设计,统称“低级语言”。
?高级语言:用更接近自然语言的方式描述计算问题。代码只与编程语言有关,与计算机结构无关。
1.2.2编译和解释
高级语言按执行方式可分为采用编译执行的静态语言和采用解释执行的脚本语言。
?编译是将源代码转换成目标代码的过程。
?解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。
1.2.3计算机编程
?我学习Python的原因:
1.通过编程实现自动化,提高效率。
2.通过编程了解一个新的广阔世界。
?学习一门编程语言(重点在于练习)
1.掌握该语言的语法
2.结合问题设计程序结构
3.掌握解决问题的能力
1.3Python语言概述
1.3.1 Python语言的发展
Python语言是一个语法简洁、跨平台、可扩展的开源通用脚本语言。
?Python语言诞生于1990年,创世人为Guido。
?2000年10月,Python 2.0正式发布,2010年,Python 2.x系列发布最后一版(2.7)。
?2008年12月,Python 3.0正式发布,解释器内部采用完全面向对象的方式实现,代价是3.x系列版本无法向下兼容2.x系列的既有语法。
Python 2.x已经是遗产,Python 3.x是这个语言的现在和未来。
1.3.2编写Hello程序
1.3.3 Python语言的特点
?语法简洁
?可跨平台
?应用广泛
?支持中文
?强制可读:通过强制缩进体现语句间的逻辑关系提高了程序的可读性
?模式多样:语法层面同时支持面向过程和面向对象两种编程方式
?粘性扩展:通过接口和函数集成其他语言编写的代码
?开源理念
?库类丰富
1.4 Python语言开发环境配置
?Python解释器
?IDLE开发环境
?交互式启动
?文件式启动
?Python语言集成开发环境——PyCharm
1.5 程序的基本编写方法
1.5.1 IPO程序编写方法
每个程序都有统一的运算模式:输入数据、处理数据和输出数据。这种朴素的运算模式形成了基本的程序编写方法:IPO(Input,Process,Output)方法。
IPO不仅是程序设计的基本方法,也是描述计算问题的方式。
1.5.2理解问题的计算部分
?使用计算机解决问题的6个步骤:
1.分析问题
2.划分边界
3.设计算法
4.编写程序
5.调试测试
6.升级维护
?Python语言采用严格的“缩进”来表明程序的格式框架,缩进表达了所属关系
?在代码编写中缩进可通过Tab键实现,也可用多个空格实现,建议采用4个空格方式书写代码
注释
?注释是辅助性文字,不被执行
?单行注释:以#开头
?多行注释:以'''(3个单引号)开头和结尾
命名
?命名是为变量关联标识符的过程,用于确保程序元素的唯一性
?标识符由字母、数字、下划线(和汉字)等字符及其组合构成
?标识符的首字符不能是数字,且中间不能出现空格
?标识符对大小写敏感
保留字
?保留字(Keyword)也被称为关键字,是被编程语言内部定义并保留使用的标识符?Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
Python 3 有33个保留字
1.True
2.False
3.None
4.and
5.as
6.assert
7.break
8.class
9.continue
10.d ef
11.d el
12.e lif
13.e lse
14.e xcept
15.f inally
16.f or
17.f rom
18.g lobal
19.i f
20.i mport
21.i n
22.i s
23.l ambda
24.n onlocal
25.n ot
26.o r
27.p ass
28.r aise
29.r eturn
30.t ry
31.w hile
32.w ith
33.y ield
字符串
?字符串(string)类型在程序中表示文本
?字符串是字符的序列,可以按照单个字符或字符片段进行索引
?字符串包括两种序号体系:正向递增序号、反向递减序号
?正向递增序号:0~L-1
?反向递减序号:-L~-1
?区间访问方式:[N:M](不包含M),可以混合使用正向递增序号和反向递减序号?字符串比较本质上是字符串对应Unicode编码的比较
赋值语句
?Python语言中,“=”表示“赋值”,将右侧的计算结果赋给左侧变量?同步赋值语句:可同时给多个变量赋值
<变量1>,…,<变量N>=<表达式1>,…,<表达式N>
分支语句
?分支语句的作用是根据判断条件选择程序执行路径
if<条件1>:
<语句块1>
elif<条件2>:
<语句块2>
…
else:
<语句块N>
循环语句
?循环语句的作用是根据判断条件确定一段程序是否再执行一次或多次
while (<条件>) :
<语句块1>
<语句块2>
for i in range(<循环次数>):
<语句块1>
input()函数
?使用input()函数从控制台获得用户输入
?input()函数以字符串类型返回结果
<> = input("提示性文字")
eval()函数
?eval(<字符串>)函数的作用是间输入的字符串变成Python语句并执行
Python语法允许在表达式内部标记之间增加空格,适当增加空格有助于提高代码可读性。但应注意,不能改变与缩进相关的空格数量、不能再变量名等命名中间增加空格。
print()函数
?print()函数可以输出字符信息,也可以用字符的形式输出变量
?输出字符信息时,可以直接将待输出内容传递给print()函数
?输出变量值时,print()函数用槽格式和过format()方法将变量和字符串结合到一起输出
函数
?函数可以理解为对一组表达特定功能表达式的封装,将特定功能代码编写在一个函数里,使程序模块化更好,便于阅读和复用
?可通过保留字def自定义函数
2.2 对象(库)的调用
?.()表示调用一个对象的方法(),或调用一个函数库中的函数
()
面向对象编程是一种基于对象的编程范式。对象是事物的一种抽象,是一个实体,包含属性和方法两部分。属性是对象中的变量,方法是对象能完成的操作。
?通过保留字import引用函数库
1.import <库名>:程序调用库中所有函数,使用库中函数格式如下
<库名>.<函数名>(<函数参数>)
2.from <库名> import :
from <库名> import <函数名,函数名,…,函数名>
from <库名> import *,“ * ”是通配符,表示所有函数
?调用库中函数不再需要使用库名,格式如下
<函数名>(<函数参数>)
2.3 turtle库语法元素分析
tuetle库是一个图形绘制函数图
绘图坐标体系
?tuetle库绘制图形的基本框架是一个海龟在坐标系中爬行(前进、后退、左转、右转),其轨迹形成了绘制图形。