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