1、完整版Python基础学习笔记Python 基础学习笔记基于Python语言程序设计基础(第2版)第一部分 初识Python语言第1章 程序设计基本方法1.1 计算机的概念 计算机是根据指令操作数据的设备,具备功能性和可编程性两个基本特性。 计算机技术发展阶段:1. 第一阶段:1946-1981年,“计算机系统结构阶段”。2. 第二阶段:1982-2007年,“计算机网络和视窗阶段”。3. 第三阶段:2008年至今,“复杂信息系统阶段”。4. 第四阶段:月20年后某个时期开始,“人工智能阶段”。1.2程序设计语言1.2.1程序设计语言概述 机器语言:直接使用二进制代码表达指令,可被计算机硬件直
2、接识别和执行。不同计算机结构的机器指令不同。 汇编语言:使用助记符对应机器语言中的指令,可直接操作计算机硬件。不同计算机结构的汇编指令不同。机器语言和汇编语言都直接操作计算机硬件并基于此设计,统称“低级语言”。 高级语言:用更接近自然语言的方式描述计算问题。代码只与编程语言有关,与计算机结构无关。1.2.2编译和解释高级语言按执行方式可分为采用编译执行的静态语言和采用解释执行的脚本语言。 编译是将源代码转换成目标代码的过程。 解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。1.2.3计算机编程 我学习Python的原因:1. 通过编程实现自动化,提高效率。2. 通过编程了解一个新的
3、广阔世界。 学习一门编程语言(重点在于练习)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.
4、x是这个语言的现在和未来。1.3.2编写Hello程序print(Hello World)1.3.3 Python语言的特点 语法简洁 可跨平台 应用广泛 支持中文 强制可读:通过强制缩进体现语句间的逻辑关系提高了程序的可读性 模式多样:语法层面同时支持面向过程和面向对象两种编程方式 粘性扩展:通过接口和函数集成其他语言编写的代码 开源理念 库类丰富1.4 Python语言开发环境配置 Python解释器 IDLE开发环境 交互式启动 文件式启动 Python语言集成开发环境PyCharm1.5 程序的基本编写方法1.5.1 IPO程序编写方法每个程序都有统一的运算模式:输入数据、处理数据和输
5、出数据。这种朴素的运算模式形成了基本的程序编写方法:IPO(Input,Process,Output)方法。IPO不仅是程序设计的基本方法,也是描述计算问题的方式。1.5.2理解问题的计算部分 使用计算机解决问题的6个步骤:1. 分析问题2. 划分边界3. 设计算法4. 编写程序5. 调试测试6. 升级维护第2章 Python程序解析2.1 Python程序语法元素分析Python程序包括格式框架、注释、变量、表达式、分支语句、循环语句、函数等语法元素。程序的格式框架 Python语言采用严格的“缩进”来表明程序的格式框架,缩进表达了所属关系 在代码编写中缩进可通过Tab键实现,也可用多个空格
6、实现,建议采用4个空格方式书写代码注释 注释是辅助性文字,不被执行 单行注释:以#开头#这是注释 多行注释:以(3个单引号)开头和结尾这是注释这也是注释这还是注释命名 命名是为变量关联标识符的过程,用于确保程序元素的唯一性 标识符由字母、数字、下划线(和汉字)等字符及其组合构成 标识符的首字符不能是数字 ,且中间不能出现空格 标识符对大小写敏感保留字 保留字(Keyword)也被称为关键字,是被编程语言内部定义并保留使用的标识符 Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字: import keyword ls=keyword.kwlist lslen(
7、ls)33Python 3 有33个保留字1. True2. False3. None4. and5. as6. assert7. break8. class9. continue10. def11. del12. elif13. else14. except15. finally16. for17. from18. global19. if20. import21. in22. is23. lambda24. nonlocal25. not26. or27. pass28. raise29. return30. try31. while32. with33. yield字符串 字符串(str
8、ing)类型在程序中表示文本 字符串是字符的序列,可以按照单个字符或字符片段进行索引 字符串包括两种序号体系:正向递增序号、反向递减序号 正向递增序号:0L-1 反向递减序号:-L-1 区间访问方式:N:M(不包含M),可以混合使用正向递增序号和反向递减序号 字符串比较本质上是字符串对应Unicode编码的比较赋值语句 Python语言中,“=”表示“赋值”,将右侧的计算结果赋给左侧变量 同步赋值语句:可同时给多个变量赋值,=,分支语句 分支语句的作用是根据判断条件选择程序执行路径if:elif:else:循环语句 循环语句的作用是根据判断条件确定一段程序是否再执行一次或多次while ()
9、:for i in range():input()函数 使用input()函数从控制台获得用户输入 input()函数以字符串类型返回结果 = input(提示性文字)input(请输入:)eval()函数 eval()函数的作用是间输入的字符串变成Python语句并执行x=eval(input(请输入:)Python语法允许在表达式内部标记之间增加空格,适当增加空格有助于提高代码可读性。但应注意,不能改变与缩进相关的空格数量、不能再变量名等命名中间增加空格。print()函数 print()函数可以输出字符信息,也可以用字符的形式输出变量 输出字符信息时,可以直接将待输出内容传递给print
10、()函数 输出变量值时,print()函数用槽格式和过format()方法将变量和字符串结合到一起输出函数 函数可以理解为对一组表达特定功能表达式的封装,将特定功能代码编写在一个函数里,使程序模块化更好,便于阅读和复用 可通过保留字def自定义函数2.2 对象(库)的调用 .()表示调用一个对象的方法(),或调用一个函数库中的函数()面向对象编程是一种基于对象的编程范式。对象是事物的一种抽象,是一个实体,包含属性和方法两部分。属性是对象中的变量,方法是对象能完成的操作。 通过保留字import引用函数库1. import :程序调用库中所有函数,使用库中函数格式如下.()import turt
11、leturtle.fd(100) #控制画笔向当前行进方向前进1002. from import :from import from import *,“ * ”是通配符,表示所有函数 调用库中函数不再需要使用库名,格式如下()from turtle import *fd(100)2.3 turtle库语法元素分析tuetle库是一个图形绘制函数图绘图坐标体系 tuetle库绘制图形的基本框架是一个海龟在坐标系中爬行(前进、后退、左转、右转),其轨迹形成了绘制图形。 初始位置位于坐标(0,0),行进方向为水平右方。 使用turtle.setup()函数设置主窗体的大小和位置。turtle.se
12、tup(width,height,startx,stary) width,height分别表示窗口宽度和高度,值是整数表示像素值,值时小数表示与屏幕的比例 startx,stary分别表示窗口左侧和顶部与屏幕左侧和顶部的像素距离,如果值是none,窗口位于屏幕水平/垂直中央turtle.setup(0.8,0.8)画笔控制函数 turtle.penup():抬起画笔,之后移动画笔不绘制形状别名:turtle.pd()、turtle.down() turtle.pensize(width):设置画笔宽度,width无参数或为None时返回当前画笔宽度别名:turtle.width() turtl
13、e.pencolor():设置画笔颜色,无参数输入时返回当前画笔颜色。(colorstring)参数表示颜色的字符串;(r,g,b)参数表示颜色对应的RGB值颜色颜色字符串GRB十六进制黑色black0,0,0#FFFFFF白色white255,255,255#000000灰色grey190,190,190#BEBEBE形状绘制函数 turtle.fd(distance):控制画笔向当前行进方向前进distance,值为负数表示向相反方向前进别名:turtle.forward(distance) turtle.seth(to_angle):控制画笔绘制方向,(to_angle)参数是绝对方向角
14、度值(turtle库的坐标体系以正东方向为绝对0度、正北方向为绝对90度) turtle.circle(radius,extent=None):根据半径radius绘制extent角度的弧形radius值为正时,半径在画笔左侧,值为负时,半径在画笔右侧;extent为正时,画笔逆时针前进,extent为负时,画笔顺时针倒退,extent不设置参数或参数为None时,绘制整圆。第二部分 深入Python语言第3章 基本数据类型3.1 数字类型 Python语言提供整数、浮点数、复数3种数字类型整数类型 整数类型共有4种进制表示:十进制、二进制、八进制和十六进制 默认情况整数采用十进制,其他进制需
15、要增加引导符号进制种类引导符号描述十进制无默认情况二进制0b或0B由字符0和1组成八进制0o或0O由字符0到7组成十六进制0x或0X由字符0到9、a到f、A到F组成浮点数类型 浮点数类型与数学中实数的概念一致,表示带有小数的数值 Python语言要求所有浮点数必须带有小数部分(可以是0),一区分浮点数和证书类型 浮点数有2中表示方法:十进制表示和科学计数法表示科学计数法使用字母e或E作为幂的符号,以10为基数,含义如下:e=a*10b2 由于计算机内部采用二进制运算,浮点数进行超过15位数字计算会产生误差使用整数表达浮点数的方法是高精确度运算的基本方法之一。 对于高精度科学计算外的绝大部分运算
16、而言,浮点数类型已足够可靠,一般认为浮点数类型没有范围限制,运算结果准确复数类型 复数类型表示数学中的复数复数可以看作是二元有序实数对(a,b),表示为a+bj,其中a是实数部分,简称实部,b是虚数部分,简称虚部。 Python 语言中,复数的虚部通过后缀j或J表示1.23e-4+5.67e+89j 复数类型中实数部分和虚数部分的数值都是浮点数类型,对于实数z,可用z.real和z.imag分别获得它的实部和虚部(1.23e-4+5.67e+89j).real(1.23e-4+5.67e+89j).imag3.2 数字类型的操作 Python 解释器为数字类型提供数值运算操作符、数值运算函数、
17、类型转换函数等操作方法内置的数值运算操作符(共9个)操作符描述x+yx与y之和x-yx与y之差x*yx与y之积x/yx与y之商x/yx与y之整数商,即不大于x与y之商的最大整数x%yx与y之商的余数,也称为模运算-xx的负值+xx本身x*yx的y次幂,即xy 操作符运算的结果可能会改变数字类型,3种数字类型之间存在一种逐渐扩展的关系:整数浮点数复数 上述9个二元数学操作符都有与之对应的增强赋值操作符x+=y 等价于 x=x+y 模运算(%)在编程中主要应用于具有周期规律的场景内置的数值运算函数(共6个)函数描述abs(x)x的绝对值divmod(x,y)(x/y,x%y),输出为二元组形式(也
18、称为元组类型)pow(x,y,z)(x*y)%z,表示该参数可省略round(x,ndigits)对x四舍五入,保留ndigits位小数,round(x)返回四舍五入的整数值max(x1,x2,xn)x1,x2,xn的最大值,n没有限定min(x1,x2,xn)x1,x2,xn的最小值,n没有限定内置的数字类型转换函数(共3个)函数描述int(x)将x转换为整数,x可以是浮点数或字符串float(x)将x转换为浮点数,x可以是整数或字符串complex(re,im)生成一个复数,实部为re,虚部为im,re可以是整数、浮点数或字符串,im可以是整数或浮点数但不能为字符串 int()函数将浮点数
19、类型转换为整数时,小数部分会直接被舍弃 复数不能直接转换为其他数字类型,可通过.real和.imag将复数的实部和虚部分别转换3.3 字符串类型及其操作字符串类型的表示 字符串是字符的序列表示 单引号字符串:单引号表示可以使用双引号作为字符串的一部分 双引号字符串:双引号表示可以使用单引号作为字符串的一部分 三引号字符串:三引号表示可以使用双引号、单引号作为字符串的一部分也可以换行 Python 字符串提供区间访问方式,采用N:M格式。表示从字符串中从N到M(不包含M)的字符串,可以混合使用正向递增序号和反向递减序号 反斜杠字符()在字符串中表示转义1. n 表示换行2. 表示反斜杠3. 表示
20、单引号4. 表示双引号5. t 表示制表符(Tab)基本的字符串操作符(共5个)操作符描述x+y连接两个字符串x与yx*n或n*x复制n次字符串xx in s如果x是s的子字符串,返回Ture,否则返回Falsestri索引,返回第i个字符strN:M切片,返回索引第N到第M个字符内置的字符串处理函数(共6个)函数描述len(x)返回字符串x的长度,也可返回其他组合数据类型元素个数str(x)返回任意类型x所对应的字符串形式chr(x)返回Unicode编码x对应的单字符ord(x)返回单字符表示的Unicode编码hex(x)返回整数x对应十六进制数的小写形式字符串oct(x)返回整数x对应
21、八进制数的小写形式字符串内置的字符串处理方法(共43个,常用16个) 在Python解释器内部,所有数据类型都采用面向对象的方式实现,封装为一个类 字符串是一个类,具有类似.()形式的字符串处理函数,称为方法方法描述str.lower()返回字符串str的副本,全部字符小写str.upper()返回字符串str的副本,全部字符大写str.islower()当str所有字符都是小写时,返回Ture,否则返回Falsestr.isprintable()当str所有字符都是可打印的,返回Ture,否则返回Falsestr.isnumeric()当str所有字符都是数字时,返回Ture,否则返回Fal
22、sestr.isspace()当str所有字符都是空格,返回Ture,否则返回Flasestr.endswith(suffix,start,end)strstart:end以suffix结尾返回Ture,否则返回Flasestr.srartswith(prefix,start,end)strstart:end以prefix开始返回Ture,否则返回Flasestr.split(sep=None,maxsplit=-1)返回一个列表,由str根据sep被分割的部分构成str.count(sub,start,end返回strstart:end中sub子串出现的次数str.replace(old,n
23、ew,count)返回字符串str的副本,所有old子串被替换为new,如果count给出,则前count次old出现被替换str.center(width,fillchar)字符串居中函数str.strip(chars)返回字符串str的副本,在其左侧和右侧去掉chars中列出的字符str.zfill(width)返回字符串str副本,长度为width。不足部分在其左侧添加0str.format()返回字符串str的一种排版格式str.join(iterable)返回一个新字符串,由组合数据类型iterable变量的每个元素组成,元素间用str分隔3.4 字符串类型的格式化 字符串通过for
24、mat()方法进行格式化处理字符串格式化用于解决字符串和变量同时输出时的格式安排format()方法的基本使用 字符串format()方法的基本使用格式:.format() 模板字符串由一系列槽组成,用来控制修改字符串中嵌入值出现的位置(槽用表示,如果中没有序号,则按照出现顺序替换) 如需输入,采用表示;表示圆周率12是0.format(无理数,3.1415926,)format()方法的格式控制 format()方法模板字符串的槽除了包括参数序号,还可包括格式控制信息。槽内部样式: 格式控制标记用于控制参数显示时的格式:引导符号用于填充的单个字符右对齐、居中对齐槽的设定输出宽度数字的千位分隔
25、符 适用于整数和浮点数浮点数小数部分的精度或字符串的最大输出长度整数类型b,c,d,o,x,X;浮点数类型e,E,f,% 指宽度内除了参数外的字符采用什么方式表示,默认为空格 指参数在宽度内输出时的对齐方式 指当前槽的设定输出字符宽度,若实际参数长度比设定值大,则使用参数实际长度 用于显示数字类型的千分位分隔符 对于浮点数,表示小数部分输出的有效位数;对于字符串,表示输出的最大长度 表示输出整数好浮点数类型的格式规划。对于整数类型,1. b:整数的二进制;2. c:整数对应的Unicode字符;3. d:整数的十进制;4. o:整数的八进制5. x:整数的小写十六进制6. X:整数的大写十六进
26、制对于浮点数类型,7. e:浮点数对应的小写字母e的指数形式8. E:浮点数对应的大写字母E的指数形式9. f:浮点数的标准浮点形式10. %:浮点数的百分形式第4章 程序的控制结构4.1 程序的基本结构程序流程图 起止框表示一个程序的开始和结束 判断框判断一个条件是否成立,并根据判断结果不同选择不同的执行路径 处理框表示一组处理过程 输入/输出框表示数据输入或结果输出 注释框增加程序的解释 流向线以带箭头的直线或曲线形式指示程序的执行路径 连接点将多个流程图连接到一起程序的基本结构 程序有3种基本结构组成:顺序结构、分支结构和循环结构 顺序结构:程序按照线性顺序依次执行 分支结构:程序根据条
27、件判断结果而选择不同向前执行路径的一种运行方式(分支结构包括单分支结构和二分支结构;p97) 循环结构:程序根据条件判断结果向后反复执行(根据触发条件不同,循环结构包括条件循环和遍历循环)4.2 程序的分支结构单分支机构:if语句if语句语法格式:if : 语句块是if条件满足后执行的一个或多个语句序列 语句块中语句通过与if所在行形成缩进表达包含关系 if语句首先评估条件的结果值,若为Ture则执行语句块中的语句序列;若为False则跳过语句块中的语句 if语句中条件部分可以使用任何能够产生Ture或False的语句或函数形成判断条件最常见的方式是采用关系操作符关系操作符数学符号操作符含义大于=大于等于=等于!=不等于 Python使用=表示赋值语句,使用=表示等于二分支结构:if-else语句if-else语句语法格式:if : else : 二分支语句用于区分条件的两种可能 if条件满足时执行语句块1 if条件不满足时执行语句块2二分支结构的简洁表达(适合通过判断返回特定值) if else 表达式1/2一般是数字类型或字符串类型的一个值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1