版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Python基础——赵克玲本章目标理解程序设计的基本思想掌握Python语言的基础语法熟练使用Python官方IDLE的使用掌握JupyterNotebook的使用掌握序列和字典掌握流程控制语句掌握函数和模块的定义掌握文件的读写操作Python简介Python是一种面向对象的解释型计算机脚本(Shell)语言Python的创始人是GuidovanRossum(吉多·范罗苏姆)Python英文翻译为“蟒蛇”的意思Python语言的Logo图标是两条蟒蛇Python语言的拥有者是PSF(PythonSoftwareFoundation,Python软件基金会协议),PSF是非盈利组织,致力于保护Python语言开放、开源和发展Python语言的版本更迭2000年,Python2.x2008年,Python3.x更高级别的3.0系列不兼容早期2.0系列2008年至今,版本更迭带来大量库函数的升级替换,Python语言的版本更迭痛苦且漫长到今天,Python3.x系列已经成为主流Python语言特点Python语言是通用语言Python语言是脚本语言Python语言是开源语言
Python语言是跨平台语言Python语言是一种少有的既简单又功能强大的编程语言,注重如何解决问题而不是语言的语法和结构Python可被应用于下面的领域Web和Internet开发科学计算和统计人工智能编程教育桌面界面开发软件开发后端开发Python程序程序是是一组计算机能识别和执行的指令集程序的基本组成:输入:从键盘、文件或其他装置获取数据,如input('请输入一个整数:');输出:在屏幕上显示数据,或者是将数据保存到文件或其他装置中,如print('猜对了!');处理:处理过程有数学运算、条件判断、循环等,例如执行加法和乘法等基本的数学运算;检查特定条件、判断并执行适当的陈述序列;循环反复执行某些操作。九九乘法表下面是一段Python语言编写的程序,其功能是打印乘法表。可以看出,Python语言语法简洁、结构清晰。使用JupyterNotebook程序里有三类可能发生的错误:语法错误执行错误语意错误调试程序注释对于程序来说是必不可少的,其有助于帮助开发人员了解代码的含义、模块的工作过程,有利于提高开发速度。单行注释多行注释注释
Python中的代码缩进是必要的!不仅仅是为了代码更容易阅读,同时也是语法需要。代码缩进在程序设计语言中,标识符是一个被允许作为名字的有效字符串。Python中变量、函数、类、模块等的命名都要遵循标识符的相关规定。Python中对标识符的规定如下:标识符可以由字母、数字和下划线组成,但不能以数字开头标识符区分大小写不能使用Python的保留字做标识符以下划线开头的标识符具有特殊意义标识符anddelfromnotwhileaselifglobalorwithassertelseifpassyieldbreakexceptimportprintTrueclassexecinraiseFalsecontinuefinallyisreturndefforlambdatry标识符的命名-关键字变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。变量通常是可变的,但也有可能是不可变的。变量X变量内存空间12345Hello,Python!变量名变量的命名必须严格遵守标识符的规定,命名风格统一,做到见名知意。几种常见的命名规则:大驼峰(uppercamelcase)小驼峰(lowercamelcase)下划线(_)分隔变量赋值单变量赋值,即把一个值赋值给一个变量。多变量赋同一个值,即把一个值赋值给多个变量。多变量赋多个值,即把多个值赋值给多个变量。在Python中,定义变量不需要指定类型。
所谓“类型”是变量所指的内存中对象的类型。Python中有两种基础数据类型:数字和字符串,此外还有序列、映射等。基础数据类型
Python支持int、float、bool、complex(复数),也可以使用二进制、八进制、十六进制表示整数。数字(Number)字符串可以理解为是若干字符组成的文本。Python中可以使用单引号(’)、双引号(”)和三引号(’’’)来表示字符串。字符串(String)对字符串操作很多时候会用到字符串索引。所谓索引,即字符在字符串中的位置。字符串(String)利用索引,字符串可以完成获取指定位置的字符、字符串切片、字符串拼接、字符串格式化等操作。这些操作都用到了方括号([])。获取指定位置的字符。如,str[3]获取字符串中的第4个字符。字符串切片。如,str[3:9]获取字符串中从第4个字符开始到第10个(但不包括)字符结束的子字符串。字符串拼接。如,str1+str2会产生由这两个字符串组成的新字符串。字符串格式化。如,print(“%04d”%12)会输出0012,即在整数左侧补0凑足4位。字符串(String)字符串(String)符号描述%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g%f和%e的简写%G%F和%E的简写%p用十六进制数格式化变量的地址字符串(String)符号描述*定义宽度或者小数点精度-用做左对齐+在正数前面显示加号(+)<sp>在正数前面显示空格#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')0显示的数字前面填充'0'而不是默认的空格%'%%'输出一个单一的'%'(var)映射变量(字典参数)m.n.m是显示的最小总宽度,n是小数点后的位数(如果可用的话)算术运算符运算符运算规则实例+加,表示两个对象相加5+7输出结果12-减,表示得到负数或是一个数减去另一个数5-7输出结果-2*乘,表示两个数相乘或是返回一个被重复若干次的字符串5*7输出结果35/除,表示两个数相除7/5输出结果1.4%取模,得到两个数相除的余数7%5输出结果2**幂,得到a的n次幂5**2输出结果25//取整除,得到商的整数部分(向下取整)5//2输出结果1比较(关系)运算符运算符运算规则实例==等于,判断对象是否相等(5==5)返回True(5==4)返回False!=不等于,判断两个对象是否不相等(5!=5)返回False(5!=4)返回True>
大于,判断一个对象是否大于另一个对象(5>4)返回True<
小于,判断一个对象是否小于另一个对象。(5<4)返回False>=大于等于,判断一个对象是否大于等于另一个对象,或者说,判断一个对象是否不小于另一个对象。('123'>='1234')返回False<=小于等于,判断一个对象是否小于等于另一个对象,或者说,判断一个对象是否不大于另一个对象。('123'<='abc')返回True赋值运算符运算符运算规则实例=赋值运算符,将等号右侧的值赋给左侧的对象c=a+b将a+b的运算结果赋值为c+=加法赋值运算符c+=a等效于c=c+a-=减法赋值运算符c-=a等效于c=c-a*=乘法赋值运算符c*=a等效于c=c*a/=除法赋值运算符c/=a等效于c=c/a%=取模赋值运算符c%=a等效于c=c%a**=幂赋值运算符c**=a等效于c=c**a//=取整除赋值运算符c//=a等效于c=c//a逻辑运算符运算符运算规则实例and布尔“与”,xandy,当x为False,返回False,否则返回y的计算值20and30,返回30or布尔“或”,xory,当x为True,返回True,否则返回y的计算值20or30,返回20not布尔“非”,notx,如果x为True,返回False,如果x为False,它返回True。not20,返回Falsenot0,返回True运算符优先级运算符运算规则**指数(最高优先级)*、/、%、//乘,除,取模和取整除+、-加法减法<=、<>、>=比较运算符==、!=等于运算符=、%=、/=、//=、-=、+=、*=、**=赋值运算符notandor逻辑运算符表达式表达式是运算符和操作数所构成的序列,其结果是一个Python对象。单独的一个值是一个表达式,单独的变量也是一个表达式Python中还有三元表达式。例如:a=3b=5c=aifa>belseb三元表达式还可以写成下面的形式(字典和元组在下节会详细介绍)。c={True:a,False:b}[a>b]c=(a,b)[a>b]序列及其通用操作
Python中最基本的数据结构是序列,序列中每个元素被分配一个序号,即索引。序列中常见的两种类型是:列表和元组。列表和元组的操作方法类似,主要区别在于列表是可以修改的,而元组是不能修改的。也就是说,如果要根据要求来添加、删除元素,那么列表可能会更好用;而出于某些原因,不想让序列发生改变时,使用元组则更为合适。所有序列类型都可以进行某些特定的操作,包括:索引、切片、加、乘以及检查某个元素是否在序列中存在。此外,Python还提供了计算序列长度、找出最大元素和最小元素的内建函数。列表和元组的声明在Python中,列表使用中括号([])声明,元组使用小括号(())声明。person1是列表,person2是元组,序列中的每个元素之间使用逗号(,)进行分隔。出于某些原因,可能会创建空列表或空元组。利用索引访问元素序列中的每一个元素都可以用其索引(或负索引)来访问。切片(获取部分元素)与字符串切片操作类型,序列也可以进行切片操作。切片是通过冒号(:)隔开的两个索引来实现。序列加法、乘法(产生新序列)序列加法,即将两个序列合并为一个新序列。使用的加号(+)运算符。用数字(n)乘以一个序列会生成新序列,在新序列中,原序列的将被重复n次。检查元素是否存在为了检查一个值是否在序列中存在,可以使用in运算符(成员运算符)。这个运算符检查某个条件是否为真,然后返回相应的值:条件为真返回True,条件为假返回False。元素赋值使用索引和赋值运算符即可为列表中的元素赋值。删除元素使用del语句即可从列表中删除指定的元素。切片赋值切片赋值=切片+赋值。切片赋值意味着可以一次给列表中的多个元素赋值。列表方法
方法是一个与某些对象有紧密联系的函数,对象可能是列表、数字,也可能是或者其它类型的对象。一般来说,方法可以这样调用:
对象.方法(参数)(1)append()
(6)pop()(2)count()
(7)remove()(3)extend()
(8)reverse()(4)index()
(9)sort()(5)insert()列表和元组的相互转化列表和元组之间可以相互转化。可以使用tuple函数,将列表转化为元组,也可以使用list函数,将元组转化为列表。字典另一个非常有用的Python数据结构是字典。序列是以连续的整数为索引,与此不同的是,字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它也可以作为关键字。理解字典的最佳方式是把它看作无序的键值对(key-value)集合,键必须是互不相同的(在同一个字典之内)。创建字典字典是有多个键及与其对应的值构成的键值对组成的。每个键和它的值之间用冒号(:)分隔,键值对之间用逗号(,)隔开。使用大括号({})来创建字典。也可以使用dict函数来创建字典。字典的基本操作字典方法:(1)clear()(2)copy()(3)fromKeys()(4)get()(5)items()、keys()、values()(6)pop()和popitem()(7)update()流程控制语句常用的流程控制语句有:条件语句(if)循环语句(while)条件语句条件语句可以让程序可以选择是否执行某些语句块。单分支:if语句双分支:if…else语句多分支:if…elif…else语句if语句
if语句可以实现条件执行。即如果条件为真,那么后面的语句块就会被执行。如果条件为假,语句块就不会被执行。if语句的基本形式:
if判断条件:
执行语句If_else语句句
else子句作为if语句的一部分,用来处理判断条件不正确的情况。
if判断条件:
执行语句else:
执行语句2elif子句当判断条件为多个值时,可以elif子句,它是elseif的缩写。其形式如下:
if判断条件1:
执行语句1elif判断条件2:
执行语句2elif判断条件3:
执行语句3else:
执行语句4循环语句循环语句的作用是让程序重复执行多次。正如猜数字的小游戏,如果用户没有猜中正确的数字,程序就会不停的运行。while语句在判断条件为真的情况下,循环执行while后面的语句块,以处理需要重复处理的相同任务。其执行过程可以用下图描述。
while循环的基本结构如下:
while判断条件:执行语句for语句
while循环非常灵活,它可以用来在任何条件为真的情况下重复执行一个代码块。一般情况下这样可以了,但对于序列、映射这样的数据结构(可迭代,即可按照一定次序访问的对象),for循环更为合适。for循环的基本结构如下:
forloop_variable
in集合:
执行语句跳出循环一般来说,循环会一直执行到条件为假或者序列元素用完时结束。但有些时候,可能会提前中断一次循环继续进行下一轮循环,或者就此跳出循环。break语句
break语句用来跳出(结束)循环。continue语句
continue语句用来结束本次循环继续下一次循环,而非像break语句那样直接结束循环。函数与模块到目前为止所编写的程序都比较短小,如果想编写大型程序,很快就会遇到麻烦。比如,已经编写了一段比较复杂的代码(从中国天气网获取当前的气象数据),如果程序的多个地方都需要用到这些代码,该怎么办呢?重写一遍?复制一遍?
真正的程序员是不会这么做的,因为他们都很“懒”。函数函数是组织好的、可重复使用的、用来实现单一或相关联功能的程序块,它可以将一些数据(参数)传递进程序块进行处理,然后返回一些数据(返回值)。当然,也可以只处理数据不返回结果。
函数实现了对程序逻辑功能的封装,是程序逻辑的结构化、过程化的一种方法。
例如,当获取用户输入时,可以使用input函数,计算列表长度时,可以使用len函数,这些都是Python的内建函数。
由用户自己创建的函数被称为用户自定义函数。函数:定义函数定义函数的语法如下:deffunction_name(parameters):"函数_文档字符串"function_suitereturn[expression]函数:定义函数定义函数的规则:函数使用def关键声明,后面是合法的函数名以及参数列表;参数列表可以包含多个参数,用逗号(,)分隔;函数内容代码块要有缩进;函数内容代码块的第一行字符串被称为文档字符串;函数利用return语句返回值,不带表达式的return语句返回None。函数:调用函数当再需要计算阶乘的时候,就可以像下面这样调用函数:函数:递归(在函数内调用函数自己)仔细分析阶乘的算法,可以发现:n!=n×(n–1)!。那fact函数就可以做如下的修改:函数参数很多时候需要像函数传递数据(参数)进行处理,函数fact中的n就是一个参数。
参数可有可无、可多可少,取决于具体的问题。
当参数较多时,给每个参数赋予有意义的名字就显得尤为重要了。函数参数目前看到的函数调用,都是根据参数的位置来传递参数的,这叫做位置参数。
实际上,很多时候,参数的名字更加重要,特别是在参数较多、参数有默认值的情况下。
通过使用参数名提供的参数被称为关键字参数。模块Python模块(Module),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。模块帮助程序员有逻辑地组织Python代码。模块可以被其它Python程序导入,以使用该模块中的对象、函数等提高开发效率。导入整个模块
5的平方根怎么计算?sin(60)的值是多少?Pythonmath模块提供了许多数学运算函数。要使用该模块中的函数,首先要导入模块。import语句用来导入模块。模块:导入函数也可以根据实际需要导入模块中一个或几个函数。模块:指定别名如果导入的模块、函数与当前程序中的函数发生名称冲突,或者模块、函数名字太长影响使用,可以使用as语句给模块、函数指定别名。文件文件是指记录在存储介质上的一组相关信息的集合。在Windows操作系统下,文件名由文件主名和扩展名组成。例如:readme.txt作为文件名时,readme是文件主名,.txt是文件扩展名,通常文件扩展名与某个应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体外及体内反搏装置项目合作计划书
- 肿瘤患者的自我管理
- 护理教育中的职业素养培养
- CRT患者活动与康复护理指导
- 护理人文关怀的妇产科护理
- 急产护理:分娩过程管理要点
- 秋季防晒知识要点
- 员工培训执行力课件
- 烧伤创面护理技术详解
- 吸氧课件开场白
- 医院布草洗涤服务方案(技术方案)
- 游戏:看表情符号猜成语PPT
- 手术室医疗废物的管理
- 普通机床主传动系统的设计课程设计说明书
- 班组工程进度款申请表
- 四年级阅读训练概括文章主要内容(完美)
- JJG 1033-2007电磁流量计
- GB/T 629-1997化学试剂氢氧化钠
- GB/T 37234-2018文件鉴定通用规范
- GB/T 2895-2008塑料聚酯树脂部分酸值和总酸值的测定
- 水利工程监理规划78648
评论
0/150
提交评论