1、Python科学计算与数据处理 数据类型 运算符和表达式docPython科学计算与数据处理 数据类型 运算符和表达式 本节目录Python语言数据类型、运算符和表达式Python数据结构Python流控制Python函数Python模块Python输入、输出异常处理Python语言数据类型、运算符和表达式Python基本Python语法基本文件类型Python程序基本概念Python运算符和表达式文件类型在交互模式下输入任意多的Python命令。每个命令在输入回车后立即运行。只要我们不重新打开新的解释器,我们都在同一个会话中运行,所以可以使用前面定义的变量后面的语句。一旦解释器会话中的所有变
2、量和类型化语句都被关闭,它们将不再存在。文件类型为了能够永久保存程序并重复执行,我们必须将代码保存在文件中,因此我们需要使用编辑器来编写代码。Python源代码与其他编程语言一样不同,可以直接执行,而不像编译语言那样被编译成二进制代码。Python源代码文件是普通的文本文件,任何可以编辑文本文件的编辑器都可以用来编写Python程序,比如notepadword。文件类型Python有三种文件类型:源代码、字节码、优化代码。源代码Python源代码文件或py脚本文件由pythonexe解释,并且可以在控制台下运行。Pyw脚本文件是图形用户界面(Graphicaluserinterface,Gra
3、phical User Interface)的源文件,专门用于开发图形界面,由pythonwexe解释和运行。文件类型字节码通过编译Python源文件生成的pyc文件是一个字节文件。它与平台无关,所以可以移植到其他系统。以下脚本可以将范例副本编译为范例副本# CompilePytopyImportCompileCompileCompileCompile(# ExamplePy #)运行此脚本以获得范例副本文件类型不能在python的交互界面中运行。它只能在DOS屏幕上运行:程序中可以调用python。OS system(pytonexamplepyc)优化代码的优化源文件可用于生成扩展名为py
4、o的文件,即优化文件。下列步骤可以将范例编译成范例启动命令列视窗,并输入范例所在的目录:D: CDD:路径范例档案类型输入pythonOmpycompileexamplepy参数O,产生最佳化的程式码参数M,以命令列中的指令码执行汇入的pycompile模组。编译范例需要在pycompile模块中调用compile()方法参数范例,这是要编译的文件名。可以在DOS屏幕上运行:pythonexamplepyo文件类型当程序比较大的时候,程序可以分成多个模块,每个模块可以编写和保存一个文件。模块可以通过导入相互导入。模块也可以导入库中的其他模块。Python是一个可重用的模块,它可以包括类、函数、
5、变量等。编码风格以#符号作为注释开始。python解释器忽略该行。在Python中,缩进用于区分程序功能块。缩进长度不受限制,但最好保持功能块的一致缩进。您可以使用空格、制表符等。,但如果一行中有多条语句用分号()分隔,则最好保持一致。一个文字常量的例子是一个像、e或者像lsquothishstringrsquo 、它的quosastring这样的数字!这样一根绳子。它们被称为字面意义,因为它们有字面意义,并根据字面意义使用它们的值。数字总是代表它自己,而不是其他任何东西。它是常数,因为它不能改变它的值。所有这些都被称为文字常量。Python中Python程序有两种基本概念:整数、长整数、浮点
6、数和复数。是整数的一个例子。长整数只是大整数。和e是浮点数的例子。e标记代表的功率。这里e的意思是*。(j)和(j)是复数的例子。Python程序的基本概念字符串是一系列字符。在C语言中,字符数组用来表示字符串,例如charstr = helloPython,它可以表示如下:单引号(lsquo):单引号可以用来表示字符串,就像lsquoHelloworldlsquo一样。所有空格,即空格和制表符,都按原样保留。使用双引号():双引号中的字符串与单引号中的字符串完全相同,例如Whatlsquosyourname。Python程序的基本概念使用三重引号:三重引号可以用来表示多行字符串。单引号和双引
7、号可以在三重引号中自由使用。例如:# # #这是一个多行字符串。你可以写任何字符,甚至单引号#和双引号#。python程序基本概念转义符号假设您希望在字符串中包含单引号(lsquo)。如何表示这个字符串?例如,这个字符串就是Whatrsquosyourname。绝对不可能使用lsquoWhatrsquosyournamelsquo来表示它,因为Python无法理解这个字符串的开始和结束位置。因此,应该用单引号代替字符串的结尾。您可以通过转义字符来完成这项任务。用u表示单引号。请注意这个反斜杠。该字符串现在可以表示为lsquoWhatrsquosyournamelsquo。Python程序基本概
8、念表示这个特殊字符串的另一种方法是Whatlsquosyourname,它使用双引号。同样,在双引号字符串中使用双引号时,也可以使用转义字符。此外,转义字符可用于指示反斜杠本身。值得注意的一点是,字符串行尾的一个反斜杠表示该字符串在下一行继续,而不是开始新的一行。如果您想要指示一些不需要特殊处理的字符串,如转义符号,则需要指定一个自然字符串。自然字符串由字符串的前缀r或r指定。例如,rNewlinesareindicatedbyn比较了以下两个句子之间的差异:printnewlineareindicatedBynhelloprinewlineareindicatedBynhellopython
9、程序基本概念Unicode字符串Unicode是编写国际文本的标准方法。如果你想写中文、日文、韩文的文本,你需要一个支持Unicode的编辑器。同样,Python只允许在字符串前加前缀U或U来处理Unicode文本。例如,乌齐索破坏。处理文本文件时,请尝试使用Unicode编码,尤其是当文件包含用英语以外的语言编写的文本时。Python程序的基本概念字符串是不可变的,这意味着一旦创建了一个字符串,它就不能被改变。虽然这看起来可能是件坏事,但事实并非如此。我们将在以后的程序中看到为什么它不是一个缺陷。如果两个字符串按字面意思放在一起,那么Python会自动连接连接的字符串。例如,#什么# s #
10、 #您的名字#将自动转换为什么# syourname #什么# s # #您的名字#什么# syournameawhat # syournamepaython程序基本概念变量将很快无法满足我们的需要,仅仅使用文字常量。我们需要一种能够存储信息并对其进行操作(改变其内容)的方法。这就是引入变量的原因。变量值可以改变,也就是说,它可以用来存储任何东西。变量只是存储信息的计算机内存的一部分。与文字常量不同,需要一些方法来访问这些变量,因此变量应该被命名。Python程序基本概念标识符的命名变量是标识符的例子。标识符是用来识别某物的名称。命名标识符时应遵循以下规则:标识符的第一个字符必须是字母表中的字
11、母(大写或小写)或下划线(lsquo)。标识符名称的其余部分可以由字母(大写或小写)、下划线(lsquo)或数字()组成。Python程序的基本概念标识符名称区分大小写。例如,我的名字和我的名字不是标识符。注意前面的小写n和后面的大写n。有效标识符名称的示例有i、myname、name和abc。无效标识符名称的示例有:this space out 、this space out和myname。不会导出Python程序基本概念标识符和Delfromnotwhileseilifeloglobalsorwithasertellseifpassyieldbreak exceptionimportpri
12、ntclasxecinraisecontinuefanalysisecurityforlambdatrythion程序基本概念标识符命名类保留*:from modulei port *的命名键。交互环境的最后一个表达式的值。*:系统定义的名称*:私有变量或方法类Python程序基本概念数据类型每个变量都有自己的类型,可以处理称为数据类型的不同类型的值。基本类型是数字和字符串,我们已经讨论过了。在接下来的章节中,我们将学习如何使用类来创建我们自己的类型。Python中的一切都是一个对象,包括字符串和数字。Python程序基本概念对象Python将程序中使用的任何东西都称为对象。Python是一种
13、完全面向对象的语言。任何变量都是一个对象,甚至包括它执行的代码:一个函数。# filename:varpyi = print ii = iprint is = # # # thisamultinsthisthesecoline # # # print sypython程序基本概念编写程序时,逻辑线和物理线是可见的。逻辑行是Python看到的一条语句。Python假设每条物理线对应一条逻辑线。Python希望每行只使用一条语句,以使代码更容易阅读。如果您想在一个物理行中使用多个逻辑行,您需要使用分号()来明确表示这种用法。分号表示逻辑行语句的结尾。例如:i=printii=printii=pri
14、ntiPython程序的基本概念强烈建议坚持每条物理线只写一条逻辑线。当逻辑行太长时,仅在多个物理行上写入一个逻辑行。所有这些都是为了尽可能避免分号,使代码更容易阅读。以下是在多个物理行中写入逻辑行的示例。它被称为显式行连接。s = # thisTertingIsContinuusTestString # PrintHisSastringThisContinutineTestString Python程序基本概念有一个隐含的假设,即不需要反斜杠。当逻辑行中使用括号、方括号或花括号时,就会出现这种情况。这被称为隐含行连接。在Python中,缩进空格是很重要的。事实上,首先有一个缺口是很重要的。这
15、叫做缩进。逻辑行开头的空格(空格和制表符)用于确定逻辑行的缩进级别,从而确定语句的分组。这意味着同一级别的语句必须具有相同的缩进。每组这样的语句被称为一个块。与使用 i =打印#值#、I #错误的CC、Java不同,错误缩进会导致错误!注意:我重复一遍,值是#的,程序的基本概念如何缩进不要混合制表符和空格来缩进,因为它不能在不同的平台上正常工作。强烈建议在每个缩进级别使用一个制表符或两到四个空格。从三种缩进样式中选择一种。更重要的是选择一种风格,然后始终如一地使用它,也就是说,只使用一种风格。Python程序基本概念Python是迫使程序员编写uniform 、简洁可读程序的主要方法之一,这意
16、味着程序代码必须按照程序的逻辑结构以垂直对齐的方式组织。其结果是使程序更加一致和可读,从而对自己和他人都具有可重用性和可维护性。If (x) if (y)语句elsestementsifx: ify:语句else:语句python程序基本概念Python程序结构程序由模块组成,模块包括语句语句语句语句包括表达式构建和处理对象Python语法基本上由语句和表达式组成。表达式处理对象并将它们嵌套在语句中。语句编程实现了程序操作中更大的逻辑关系。此外,语句也是生成对象的地方。一些语句将生成新的对象类型(函数、类等。)。语句总是存在于模块中,模块本身由语句管理。Python程序基本概念Python语法
17、Python添加了什么新的语法组件冒号(:)?所有复合语句(嵌套在语句中的语句)具有相同的一般形式,即第一行以冒号结尾,嵌套在下一行中的代码通常以缩进格式编写。Python删除括号中可选的终止行是终止语句(分号)如果(xy)x=y=ifxy:x=y=运算符,缩进的结尾是代码块的结尾(),并且大多数用表达式编写的语句(逻辑行)都包含表达式。简单表达式的一个例子是。表达式可以分解成运算符和操作数。操作者的作用是完成某事。它们由像这样的符号或其他特定的关键字来表示。操作员需要数据来执行操作。这种数据称为操作数。在本例中,总和是操作数。在Python中,表达式可以用作语句,但是表达式的结果不会被存储。
18、运算符及其用法运算符名称描述的示例是通过添加两个对象获得的。#a#b#得到#ab#。减去得到一个负数,或者一个数减去另一个数得到一个负数。明白了。*将两个数字相乘,或者返回重复多次的字符串*。#啦#*得到#啦啦#。* *乘方将x的乘方乘以y的乘方* *得到(即* * *)x除以y(除以整数得到整数结果)。或者获得可分返回商的整数部分,以获得模返回除法的余数。通过将一个数的位向左移动一个特定的数(每个数在内存中表示为一个位或一个二进制数,即一个和)来获得向左的移动。它是通过根据右移位的比特表示,将若干比特向右移位一定的数目而获得的。向右移动位数后,以十进制表示。运算符及其用法运算符名称描述示例按
19、位和数字按位和获得。根据位或位数或|。按位异或数的按位异或被获得按位翻转x被(x)获得。运算符及其用法运算符名称小于的示例返回x是否小于y所有比较运算符返回true,返回false。这分别相当于特殊变量真和假。请注意这些变量名的大小写。返回(即假)和返回(即真)。比较可以任意连接:返回真。大于返回x大于y返回真。如果两个操作数都是数字,它们首先被转换成一个普通类型。否则它总是返回假。=小于或等于返回x是否小于或等于yx=y=x=y返回真。=大于或等于返回x是否大于或等于yx=y=x=y返回真。= =等于比较对象是否相等x=y=x=y返回真。X=#str#y=#stR#x=y返回False。X=
20、#str#y=#str#x=y返回真。!=不等于比较两个对象是否不相等x=y=x!=y返回真。运算符及其用法运算符名称描述非布尔值的示例如果X为真,则不返回False。如果x为假,则返回真。X=Truenoty返回False。如果x为假,则返回假,否则返回y的计算值X =假=真返回假,因为x为假。Python在这里不计算y,因为它知道这个表达式的值必须为假(因为x为假)。这种现象称为短路计算。或布尔值,如果x为真,则返回真,否则返回y的计算值X=Truey=Falsexory返回真。运算符优先如果有像*这样的表达式,它是先加还是先乘?乘法应该首先完成,这意味着乘法运算符优先于加法运算符。下面给
21、出了Python运算符的优先级。运算符优先级由高到低的运算符#expr#字符串转换key:expr,dictionary expr,expr list (expr,expr),tuple function(expr,)函数调用xidex:index slice xidex下标index value xattribute属性引用x按位逆xx加或减x*y幂x * yxyxy乘法和除法模运算符描述xyxy加或减xyxy按位异或xy按位x|y按位或xyx=yx=yx!=yx=yxy比较xisyxisnoty等价测试xinyx noty成员判断notx逻辑No xandy逻辑vs xory逻辑或Lamb
22、da Arg: EXPR LAMBDA匿名函数运算符优先级建议使用括号将运算符和操作数分组,以便清楚地指示运算顺序,并使程序尽可能可读。例如(*)显然比*。同时,圆括号也应该正确使用,不应该过度使用,如:()。运算符优先级计算顺序默认情况下,运算符优先级决定哪个运算符比其他运算符先计算。但是,如果要更改计算顺序,可以使用括号。例如,如果希望在表达式中乘法之前计算加法,可以编写类似()的代码。组合规则运算符通常从左到右进行组合,即从左到右计算具有相同优先级的运算符。例如,它被计算为()。一些运算符(如赋值运算符)从右向左组合,即a=b=c被视为a=(b=c)。真值表对象常量值false字符串tr
23、ue = true = true()空元组false空列表false 空字典false无false复合表达式,在计算时,如果a为false,则接受一个值;如果a为true,则接受一个值。python将计算b,整个表达式将接受一个值b或者在计算aorb时,python将计算A。如果A为真,整个表达式将取A值,如果A为假,表达式将取B值。如果表达式为真,则不返回;如果表达式为假,则不返回。真值表广泛用于判断、循环等句子。分配变量只是简单地分配变量=值。多变量赋值变量,变量,=值,a,b,c =,a =,b,c,d = aa =(,)b,c,d = a变量赋值变量赋值也可用于变量交换a,b=b,多目
24、标赋值a = b =变量自变量赋值,如= = * =等。在自变赋值中,Python只计算一次,而普通的编写需要计算两个变量,基本的表达式变量用来记录程序中的信息。它的特点是变量,像对象一样,不需要声明。在第一次赋值过程中创建的变量在表达式中使用,值变量将被它们替换。在表达式中,表达式中使用了Python编程语言Python的数据结构Python,这种数据结构必须在之前被赋值过。python是基本的python数据结构数字字符串列表元组字典数字Python提供了常见的数字类型:整数、浮点数及其相关的语法和操作。允许八进制、十六进制常量。提供了多种类型。提供了具有无限精度的长度类型(只要内存空间允
25、许它增长为任意位数的整数)。Importsysprintsysmaxint数字常量数字常量通用整数(c语言长整型)Ll长整型(无限大小)eEe浮点数(c语言双精度浮点数)xff八进制、十六进制jjJ复数常量内置数学工具和扩展表达式运算符、* 、* *内置数学函数功率、abs公共模块随机、数学和其他专业扩展数字矩阵、数字的基本应用,如向量处理A = B = AAB * BAB * * * * BC * 回溯(MOSTRECENTCALLAST):FILE INTERACTIVE INPUT,LINE,Inmodulenamerror:Name # C # isnotDefinedAb(a)pri
26、ntB(a)num Display Format num = num intnum num # e # fnum # # #数学内置函数和内置模块数学模块通用数学函数cmath模块处理复杂模块# acos # # fsum # # acosh # # hypot # # as in # # # isinf # # asinh # # isnan # # atan # # lde XP # # atan # # log # #字符串中可以使用单引号和双引号。小心匹配它们。例如lsquoboyrsquo,girl等。字符串中的反斜杠可以允许将字符串放在多行上,也可以使用三个,或者字符串可以跨行分布
27、。用*重复字符串,例如:# hello # * hello heloa = # # printa aa = # hello # * printa hello hello aa = printa转义符转义符描述反斜杠符号#单引号a环b退格E转义空V竖线制表符T水平制表符R输入转义符描述N换行符(在行尾) 连续字符分页符Oy八进制yy表示字符,例如,0表示换行符xyy十进制yy表示字符,例如,xa表示换行符其他其他常用格式输出的字符当转义字符不想生效时,使用R and R定义原始字符串。例如:printr # trlsquo tr String Basic Operation String Mer
28、ge * String Repeating LEN(# ABC #)# ABC # # # DEF # # # ABCDEF # # ABC # # # DEF # # ABCDEF # # Hello # * # Hellohellolsquo # ABC # Traceback(mostrencetcall last):file interactive input,line,inmoduleTypeerror:不能连接# str #和# int #对象字符串基本操作可用于语句遍历字符串,并用于表达式运算符测试成员资格。这实际上是一次搜索。for循环分配一个变量以获取序列中的元素,并对每个元
29、素执行一个或多个语句。变量c相当于一个在字符串中步进的指针。s = # hello # for ins:printc、HellohinsTruebinsFalse字符串索引和shard字符串是有序的字符集。Python中字符串中的字符可以通过它们的位置获得。通过索引提取的索引从一开始可能是负的,但它不同于c语言。这意味着从末尾提取的最后一个是前一个,依此类推。考虑从末尾倒计数s = # spam # s # s # p # s # m # s # A#字符串索引和分段:从字符串中分离和提取的部分内容(子字符串)可用于提取部分数据和分离前缀、后缀等。当使用序列对象(如一对用冒号分隔的偏移索引字符
30、串)时,Python返回一个新对象,该对象包含由该对偏移标识的连续内容。左侧偏移作为下边界(包括下边界),右侧偏移作为上边界(不包括上边界)。如果省略,上边界和下边界的默认值分别对应于和切片对象的长度。s = # spam # s:# pa # s:# PAM # s:# spa # s:# spam #索引和片段摘要索引(si)具有特定偏移量的元素的第一个元素的偏移量是负偏移量索引,这意味着从最后一个或右反向开始计数。获取第一个元素。获取倒数第二个元素索引和片段的摘要片段(si:j)提取相应的部分作为序列。不包括上边界的片段的边界默认为和序列的长度。如果没有给定,则从偏移量到但不包括偏移量获取元素质数S:从偏移量到结尾获取元素S:从偏移量到但不包含偏移量到获取元素S:从偏移量到但不包含最后一个元素之间的元素S:从偏移量到结尾获取所有元素片段的扩展形式。在Python之后,片段表达式添加一个可选的第三个索引,作为选择完整形式的步骤,如XI:J:K,这意味着:索引(获取)对象x中的元素,从偏移量I到J,每隔K个元素索引K默认为这个值,这就是为什么通常在切片中从左到右提取每个元素。步进到负数意味着展开形式x将从右到左而不是从左到右被切割:在x中的偏移之
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1