Python科学计算与数据处理第一章.ppt
《Python科学计算与数据处理第一章.ppt》由会员分享,可在线阅读,更多相关《Python科学计算与数据处理第一章.ppt(128页珍藏版)》请在三一办公上搜索。
1、Python基础,2,本节目录,Python语言数据类型、运算符和表达式Python的数据结构Python的流程控制Python函数Python模块Python的输入、输出异常处理,3,Python语言数据类型、运算符和表达式,Python基础,4,Python语法基础,文件类型Python程序基本概念Python运算符和表达式,文件类型,在交互模式下,想输入多少Python命令,就输入多少;每个命令在输入回车后都立即运行。只要不重新开启新的解释器,我们都在同一个会话中运行,因此,前面定义的变量,后面的语句都可以使用。一旦关闭解释器,会话中的所有变量和敲入的语句将不复存在。,5,文件类型,为了
2、能够永久保存程序,并且能够被重复执行,我们必须要将代码保存在文件中,因此,就需要用编辑器来进行代码的编写,和其他编程语言一样,不同的Python的源代码可以直接执行而不需要像编译型语言一样编译成二进制代码。Python源代码文件就是普通的文本文件,只要是能编辑文本文件的编辑器都可以用来编写Python程序,如notepad/word等。,6,7,文件类型,Python的文件类型分为三种:源代码、字节代码、优化代码。源代码 Python源代码文件,即py脚本文件,由python.exe解释,可在控制台下运行。pyw脚本文件是图形用户接口(Graphicaluserinterface)的源文件,专
3、门用来开发图形界面,由pythonw.exe解释运行。,8,文件类型,字节代码 Python源文件经过编译后生成的pyc文件,即字节文件。它与平台无关,所以可以移植到其他系统上。下面这段脚本可以把example.py编译为example.pyc#compilepytopycimportpy_compilepy_pile(example.py)运行此脚本即可得到example.pyc,文件类型,不能在python的交互界面中运行。只能够在DOS屏幕上运行:python example.pyc 在程序中调用可以用:os.system(python example.pyc)优化代码 经过优化的源文件
4、生成扩展名为pyo的文件,即优化文件。下面步骤可以把example.py编译为example.pyo启动命令行窗口,进入example.py所在目录:D:cdD:pathexamples,9,文件类型,在命令行中输入python-O-mpy_compileexample.py参数-O表示生成优化代码参数-m表示导入的py_compile模块作为脚本运行。编译example.pyo需要调用py_compile模块中的compile()方法参数example.py是待编译的文件名。能够在DOS屏幕上运行:python example.pyo,10,文件类型,当程序比较大的时候,可以将程序划分成多个
5、模块编写,每个模块用一个文件保存。模块之间可以通过导入互相调用(import)。模块也可以导入库中的其他模块。Python是以模块进行重用的,模块中可以包括类、函数、变量等。,11,编码风格,以“#”号开头的内容为注释,python解释器会忽略该行内容。在Python中是以缩进(indent)来区分程序功能块的,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。可以使用空格、Tab键等,但是最好保持一致如果一行中有多条语句,语句间要以分号(;)分隔。,12,Python程序基本概念,常量一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的 数,或者如同This is
6、a string、“Its a string!”这样的字符串。它们被称作字面意义上的,因为它们具备 字面 的意义按照它们的字面意义使用它们的值。数2总是代表它自己,而不会是别的什么东西它是一个常量,因为不能改变它的值。因此,所有这些都被称为字面意义上的常量。,13,Python程序基本概念,数 在Python中有4种类型的数整数、长整数、浮点数和复数。2是一个整数的例子。长整数不过是大一些的整数。3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表 示52.3*10-4。(-5+4j)和(2.3-4.6j)是复数的例子,14,Python程序基本概念,字符串 字
7、符串是 字符的序列。C语言中用字符数组表示,如char str20=“hello”.Python中的字符串可以如下表示:使用单引号():可以用单引号指示字符串,就如同 Hello world 这样。所有的空白,即空格和制表符都照原样保留。使用双引号(“):在双引号中的字符串与单引号中的字符串的使用完全相同,例如”Whats your name?“。,15,Python程序基本概念,使用三引号(或“”“):利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号,如:,16,这是一个多行的字符串,你可以写入任意字符,甚至是单引号和双引号,Python程序基本概念,转义符 假设
8、想要在一个字符串中包含一个单引号(),那么该怎么指示这个字符串?例如,这个字符串是Whats your name?。肯定不能用Whats your name?来指示它,因为Python会弄不明白这个字符串从何处开始,何处结束。所以,需要指明单引号而不是字符串的结尾。可以通过 转义符 来完成这个任务。用来指示单引号 注意这个反斜杠。现在可以把字符串表示为Whats your name?。,17,Python程序基本概念,18,另一个表示这个特别的字符串的方法是“Whats your name?”,即用双引号。类似地,要在双引号字符串中 使用双引号本身的时候,也可以借助于转义符。另外,可以用转义符
9、来指示反斜杠本身。值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行.,This is the first sentence.This is the second sentence.,This is the first sentence.This is the second sentence.,Python程序基本概念,19,自然字符串 如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如rNewlines are indicated by n“比较下面两句话的区
10、别:,print Newlines are indicated by nhello print rNewlines are indicated by nhello,Python程序基本概念,20,Unicode字符串Unicode是书写国际文本的标准方法。如果想要用中文、日文、韩文等写文本,那么需要有一个支持Unicode的编辑器。类似地,Python允许处理Unicode文本只需要在字符串前加上前缀u或U。例如,uThis is a Unicode string.。在处理文本文件的时候尽量使用Unicode编码,特别是文件中含有用非英语的语言写的文本。,Python程序基本概念,21,字符串
11、是不可变的 这意味着一旦创造了一个字符串,就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。我们将会在后面的程序中看到为什么说它不是一个缺点。级连字符串 如果把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,Whats your name?会 被自动转为Whats your name?,Whats your name?,Whats your name?,Whats+your name?,Python程序基本概念,变量仅仅使用字面意义上的常量很快就会不能满足我们的需求我们需要一种既可以储存信息又可以对它们进行操作(改变它的内容)的方法。这是为什么要引入 变量。变量的值
12、可以变化,即可以使用变量存储任何东西。变量只是计算机中存储信息的一部分内存。与字面意义上的常量不同,需要一些能够访问这些变量的方法,因此要给变量命名。,22,Python程序基本概念,标识符的命名 变量是标识符的例子。标识符 是用来标识 某样东西 的名字。在命名标识符的时候,要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(_)。标识符名称的其他部分可以由字母(大写或小写)、下划线(_)或数字(0-9)组成。,23,Python程序基本概念,标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。有效 标
13、识符名称的例子有i、_my_name、name_23和a1b2_c3。无效 标识符名称的例子有2things、this is spaced out和my-name。,24,Python程序基本概念,标识符的命名-关键字,25,Python程序基本概念,标识符的命名-类保留_*:from module import*将不被导出。交互环境最后表达式的值。_*_:系统定义的名字_*:类的私有变量或方法,26,Python程序基本概念,数据类型每个变量都有自己的类型,可以处理不同类型的值,称为数据类型。基本的类型是数和字符串,我们已经讨论过它们了。在后面的章节里面,我们会研究怎么用类创造我们自己的类型
14、。Python中一切都是对象,包括字符串和数。,27,Python程序基本概念,对象 Python把在程序中用到的任何东西都称为 对象。Python是完全面向对象的语言,任何变量都是对象,甚至包括执行的代码:函数。,28,#Filename:var.pyi=5print ii=i+1print is=This is a multi-line string.This is the second line.print s,Python程序基本概念,逻辑行与物理行物理行是在编写程序时所 看见 的。逻辑行是Python 看见 的单个语句。Python假定每个 物 理行 对应一个 逻辑行 Python希
15、望每行都只使用一个语句,这样使得代码更加易读 如果想要在一个物理行中使用多于一个逻辑行,那么需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。例如:,29,i=5print i,i=5;print i;,i=5;print i,Python程序基本概念,强烈建议坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。下面是一个在多个物理行中写一个逻辑行的例子。它被称为明确的行连接。,30,s=This is a string.This continues the string.print s
16、,This is a string.This continues the string.,Python程序基本概念,有一种暗示的假设,可以不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接.。,31,a=100,200print a,Python程序基本概念,缩进空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行 首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。错误的缩进会引发错误 不同于C/C+、Java用的是,32,i=5p
17、rint Value is,i#Error!Notice a single space at the start of the lineprint I repeat,the value is,i,Python程序基本概念,如何缩进 不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议 在每个缩进层次使用 单个制表符 或 两个或四个空格。选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。,33,Python程序基本概念,Python迫使程序员写成统一、整齐并且具有可读性程序的主要方式之一,这就意味着必须根据程序的逻辑结构
18、,以垂直对齐的方式来组织程序代码,结果就是让程序更一致,并具有可读性,因而具备了重用性和可维护性,对自己和他人都是如此。,34,if(x)if(y)statements;else statements;,if x:if y:statementselse:statements,Python程序基本概念,Python程序结构程序由模块构成模块包含语句语句包含表达式表达式建立并处理对象 Python语法实质上是有语句和表达式组成的。表达式处理对象并嵌套在语句中。语句编程实现程序操作中更大的逻辑关系。此外,语句还是对象生成的地方,有些语句会生成新的对象类型(函数、类等)。语句总是存在于模块中,而模块本
19、身则又是由语句来管理的。,35,Python程序基本概念,Python语法Python增加了什么 新的语法成分冒号(:)。所有的复合语句(语句中嵌套了语句)都有相同的一般形式,就是首行以冒号结尾,首行下一行嵌套的代码往往按缩进的格式书写。Python删除了什么括号是可选的终止行就是终止语句(分号)缩进的结束就是代码块的结束(),36,if(x y)x=1;y=2;,if x y:x=1 y=2,运算符与表达式,编写的大多数语句(逻辑行)都包含表达式。一个简单的表达式例子如2+3。一 个表达式可以分解为运算符和操作数。运算符 的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示。运算
20、符需要数据来进行运算,这样的数据被称为 操作数。在这个例子中,2和3是操作数。在Python中,表达式可以作为语句,但表达式结果不会存储。,37,运算符及其用法,38,运算符及其用法,39,运算符及其用法,40,运算符及其用法,41,运算符优先级,如果有一个如2+3*4那样的表达式,是先做加法呢,还是先做乘法?应当先做乘法这意味着乘法运算符的优先级高于加法运算符。下面给出Python运算符优先级。,42,运算符优先级由高向低,43,运算符优先级,建议使用圆括号来分组运算符和操作数,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。例如,2+(3*4)显然比2+3*4清晰。与此同时,圆括号也
21、应该正确使用,而不应该用得过滥,比如:(2+(3+4)。,44,运算符优先级,计算顺序默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果想要改变它们的计算顺序,可以使用圆括号。例如,想要在一个表达式中让加法在乘法之前计算,那么就可以写成类似(2+3)*4的样子。结合规律运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2+3+4被计算成(2+3)+4。一些如赋值运算符那样的运算符是由右向左结合的,即a=b=c被处理为a=(b=c)。,45,真值表,46,复合表达式 and当计算a and b时,python会计算a,如果a为假,则取a值,如果a为
22、真,则python会计算b且整个表达式会取b值。or当计算a or b时,python会计算a,如果a为真,则整个表达式取a值,如果a为假,表达式将取b值。not如果表达式为真,not为返回假,如为表达式为假,not为返回真。,真值表在判断、循环等语句中应用广泛。,给变量赋值,简单赋值,Variable(变量)=Value(值)。多变量赋值,Variable1,variable2,.=Value1,Value2,.a,b,c=1,2,3a=1,2,3;b,c,d=aa=(1,2,3);b,c,d=a,47,给变量赋值,多变量赋值也可用于变量交换 a,b=b,a多目标赋值,a=b=variabl
23、e自变赋值,如+=,-=,*=等。在自变赋值中,python仅计算一次,而普通写法需计算两次;,48,变量和基本的表达式,变量就是用来记录程序中的信息,它的特点:变量像对象一样不需要声明变量在第一次赋值时创建变量在表达式中使用将被替换为他们的值变量在表达式中使用以前必须已经赋值,2009-8-10,Python程序设计语言,49,Python的数据结构,50,Python基础,51,Python的数据结构,数字字符串列表元组字典,52,数字,53,Python提供了常用的数字类型:整数、浮点数以及与之相关的语法和操作。允许使用八进制、十六进制常量。提供了复数类型。提供了无穷精度的长度类型(只要
24、内存空间允许,可以增长成为任意位数的整数)。,import sys print sys.maxint2147483647,数字常量,54,内置数学工具和扩展,表达式操作符+、-、*、/、*内置数学函数 pow、abs公用模块 random、math等专业扩展NumPy 矩阵、向量处理等,55,数字的基本应用,56,a=3 b=4 a+14 a-12 b*312 b/22 a%21 b*216 2.0*b16.0,c*2Traceback(most recent call last):File,line 1,in NameError:name c is not defined,b/2+a5 b/
25、(2.0+a)0.80000000000000004 print b/(2.0+a)0.8,数字显示的格式,57,num=1/3.0 num0.33333333333333331 print num0.333333333333%e%num3.333333e-01%2.2f%num0.33,数学内置函数和内置模块,math模块-普通数学函数cmath模块-处理复数的模块,58,数学内置函数和内置模块,random模块 用于产生随机数,59,import random random.random()0.33452758558893336 random.randint(1,10)5 random.c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 科学 计算 数据处理 第一章
链接地址:https://www.31ppt.com/p-6516460.html