Python科学计算与数据处理 数据类型 运算符和表达式doc.docx
《Python科学计算与数据处理 数据类型 运算符和表达式doc.docx》由会员分享,可在线阅读,更多相关《Python科学计算与数据处理 数据类型 运算符和表达式doc.docx(18页珍藏版)》请在冰豆网上搜索。
Python科学计算与数据处理数据类型运算符和表达式doc
Python科学计算与数据处理数据类型运算符和表达式
本节目录Python语言数据类型、运算符和表达式Python数据结构Python流控制Python函数Python模块Python输入、输出异常处理Python语言数据类型、运算符和表达式Python基本Python语法基本文件类型Python程序基本概念Python运算符和表达式文件类型在交互模式下输入任意多的Python命令。
每个命令在输入回车后立即运行。
只要我们不重新打开新的解释器,我们都在同一个会话中运行,所以可以使用前面定义的变量后面的语句。
一旦解释器会话中的所有变量和类型化语句都被关闭,它们将不再存在。
文件类型为了能够永久保存程序并重复执行,我们必须将代码保存在文件中,因此我们需要使用编辑器来编写代码。
Python源代码与其他编程语言一样不同,可以直接执行,而不像编译语言那样被编译成二进制代码。
Python源代码文件是普通的文本文件,任何可以编辑文本文件的编辑器都可以用来编写Python程序,比如notepadword。
文件类型Python有三种文件类型:
源代码、字节码、优化代码。
源代码Python源代码文件或py脚本文件由pythonexe解释,并且可以在控制台下运行。
Pyw脚本文件是图形用户界面(Graphicaluserinterface,GraphicalUserInterface)的源文件,专门用于开发图形界面,由pythonwexe解释和运行。
文件类型字节码通过编译Python源文件生成的pyc文件是一个字节文件。
它与平台无关,所以可以移植到其他系统。
以下脚本可以将范例副本编译为范例副本#CompilePytopyImportCompileCompileCompileCompile(#ExamplePy#)运行此脚本以获得范例副本文件类型不能在python的交互界面中运行。
它只能在DOS屏幕上运行:
程序中可以调用python。
OSsystem(pytonexamplepyc)优化代码的优化源文件可用于生成扩展名为pyo的文件,即优化文件。
下列步骤可以将范例编译成范例启动命令列视窗,并输入范例所在的目录:
D:
CDD:
路径范例档案类型输入pythonOmpycompileexamplepy参数O,产生最佳化的程式码参数M,以命令列中的指令码执行汇入的pycompile模组。
编译范例需要在pycompile模块中调用compile()方法参数范例,这是要编译的文件名。
可以在DOS屏幕上运行:
pythonexamplepyo文件类型当程序比较大的时候,程序可以分成多个模块,每个模块可以编写和保存一个文件。
模块可以通过导入相互导入。
模块也可以导入库中的其他模块。
Python是一个可重用的模块,它可以包括类、函数、变量等。
编码风格以#符号作为注释开始。
python解释器忽略该行。
在Python中,缩进用于区分程序功能块。
缩进长度不受限制,但最好保持功能块的一致缩进。
您可以使用空格、制表符等。
,但如果一行中有多条语句用分号()分隔,则最好保持一致。
一个文字常量的例子是一个像、、e或者像lsquothishstringrsquo、它的quosastring这样的数字!
这样一根绳子。
它们被称为字面意义,因为它们有字面意义,并根据字面意义使用它们的值。
数字总是代表它自己,而不是其他任何东西。
它是常数,因为它不能改变它的值。
所有这些都被称为文字常量。
Python中Python程序有两种基本概念:
整数、长整数、浮点数和复数。
是整数的一个例子。
长整数只是大整数。
和e是浮点数的例子。
e标记代表的功率。
这里e的意思是*。
(j)和(j)是复数的例子。
Python程序的基本概念字符串是一系列字符。
在C语言中,字符数组用来表示字符串,例如charstr=helloPython,它可以表示如下:
单引号(lsquo):
单引号可以用来表示字符串,就像lsquoHelloworldlsquo一样。
所有空格,即空格和制表符,都按原样保留。
使用双引号():
双引号中的字符串与单引号中的字符串完全相同,例如Whatlsquosyourname。
Python程序的基本概念使用三重引号:
三重引号可以用来表示多行字符串。
单引号和双引号可以在三重引号中自由使用。
例如:
###这是一个多行字符串。
你可以写任何字符,甚至单引号#和双引号#。
python程序基本概念转义符号假设您希望在字符串中包含单引号(lsquo)。
如何表示这个字符串?
例如,这个字符串就是Whatrsquosyourname。
绝对不可能使用lsquoWhatrsquosyournamelsquo来表示它,因为Python无法理解这个字符串的开始和结束位置。
因此,应该用单引号代替字符串的结尾。
您可以通过转义字符来完成这项任务。
用\u表示单引号。
请注意这个反斜杠。
该字符串现在可以表示为lsquoWhatrsquosyournamelsquo。
Python程序基本概念表示这个特殊字符串的另一种方法是Whatlsquosyourname,它使用双引号。
同样,在双引号字符串中使用双引号时,也可以使用转义字符。
此外,转义字符可用于指示反斜杠本身。
值得注意的一点是,字符串行尾的一个反斜杠表示该字符串在下一行继续,而不是开始新的一行。
如果您想要指示一些不需要特殊处理的字符串,如转义符号,则需要指定一个自然字符串。
自然字符串由字符串的前缀r或r指定。
例如,rNewlinesareindicatedbyn比较了以下两个句子之间的差异:
printnewlineareindicatedBynhelloprinewlineareindicatedBynhellopython程序基本概念Unicode字符串Unicode是编写国际文本的标准方法。
如果你想写中文、日文、韩文的文本,你需要一个支持Unicode的编辑器。
同样,Python只允许在字符串前加前缀U或U来处理Unicode文本。
例如,乌齐索破坏。
处理文本文件时,请尝试使用Unicode编码,尤其是当文件包含用英语以外的语言编写的文本时。
Python程序的基本概念字符串是不可变的,这意味着一旦创建了一个字符串,它就不能被改变。
虽然这看起来可能是件坏事,但事实并非如此。
我们将在以后的程序中看到为什么它不是一个缺陷。
如果两个字符串按字面意思放在一起,那么Python会自动连接连接的字符串。
例如,#什么#s##您的名字#将自动转换为什么#syourname#什么#s##您的名字#什么#syournameawhat#syournamepaython程序基本概念变量将很快无法满足我们的需要,仅仅使用文字常量。
我们需要一种能够存储信息并对其进行操作(改变其内容)的方法。
这就是引入变量的原因。
变量值可以改变,也就是说,它可以用来存储任何东西。
变量只是存储信息的计算机内存的一部分。
与文字常量不同,需要一些方法来访问这些变量,因此变量应该被命名。
Python程序基本概念标识符的命名变量是标识符的例子。
标识符是用来识别某物的名称。
命名标识符时应遵循以下规则:
标识符的第一个字符必须是字母表中的字母(大写或小写)或下划线(lsquo)。
标识符名称的其余部分可以由字母(大写或小写)、下划线(lsquo)或数字()组成。
Python程序的基本概念标识符名称区分大小写。
例如,我的名字和我的名字不是标识符。
注意前面的小写n和后面的大写n。
有效标识符名称的示例有i、myname、name和abc。
无效标识符名称的示例有:
thisspaceout、thisspaceout和myname。
不会导出Python程序基本概念标识符和Delfromnotwhileseilifeloglobalsorwithasertellseifpassyieldbreakexceptionimportprintclasxecinraisecontinuefanalysisecurityforlambdatrythion程序基本概念标识符命名类保留*:
frommoduleiport*的命名键。
交互环境的最后一个表达式的值。
*:
系统定义的名称*:
私有变量或方法类Python程序基本概念数据类型每个变量都有自己的类型,可以处理称为数据类型的不同类型的值。
基本类型是数字和字符串,我们已经讨论过了。
在接下来的章节中,我们将学习如何使用类来创建我们自己的类型。
Python中的一切都是一个对象,包括字符串和数字。
Python程序基本概念对象Python将程序中使用的任何东西都称为对象。
Python是一种完全面向对象的语言。
任何变量都是一个对象,甚至包括它执行的代码:
一个函数。
#filename:
varpyi=printii=iprintis=###thisamultinsthisthesecoline###printsypython程序基本概念编写程序时,逻辑线和物理线是可见的。
逻辑行是Python看到的一条语句。
Python假设每条物理线对应一条逻辑线。
Python希望每行只使用一条语句,以使代码更容易阅读。
如果您想在一个物理行中使用多个逻辑行,您需要使用分号()来明确表示这种用法。
分号表示逻辑行语句的结尾。
例如:
i=printii=printii=printiPython程序的基本概念强烈建议坚持每条物理线只写一条逻辑线。
当逻辑行太长时,仅在多个物理行上写入一个逻辑行。
所有这些都是为了尽可能避免分号,使代码更容易阅读。
以下是在多个物理行中写入逻辑行的示例。
它被称为显式行连接。
s=#thisTertingIsContinuusTestString#PrintHisSastringThisContinutineTestStringPython程序基本概念有一个隐含的假设,即不需要反斜杠。
当逻辑行中使用括号、方括号或花括号时,就会出现这种情况。
这被称为隐含行连接。
在Python中,缩进空格是很重要的。
事实上,首先有一个缺口是很重要的。
这叫做缩进。
逻辑行开头的空格(空格和制表符)用于确定逻辑行的缩进级别,从而确定语句的分组。
这意味着同一级别的语句必须具有相同的缩进。
每组这样的语句被称为一个块。
与使用{}i=打印#值#、I#错误的CC、Java不同,错误缩进会导致错误!
注意:
我重复一遍,值是#的,程序的基本概念如何缩进不要混合制表符和空格来缩进,因为它不能在不同的平台上正常工作。
强烈建议在每个缩进级别使用一个制表符或两到四个空格。
从三种缩进样式中选择一种。
更重要的是选择一种风格,然后始终如一地使用它,也就是说,只使用一种风格。
Python程序基本概念Python是迫使程序员编写uniform、简洁可读程序的主要方法之一,这意味着程序代码必须按照程序的逻辑结构以垂直对齐的方式组织。
其结果是使程序更加一致和可读,从而对自己和他人都具有可重用性和可维护性。
If(x)if(y)语句elsestementsifx:
ify:
语句else:
语句python程序基本概念Python程序结构程序由模块组成,模块包括语句语句语句语句包括表达式构建和处理对象Python语法基本上由语句和表达式组成。
表达式处理对象并将它们嵌套在语句中。
语句编程实现了程序操作中更大的逻辑关系。
此外,语句也是生成对象的地方。
一些语句将生成新的对象类型(函数、类等。
)。
语句总是存在于模块中,模块本身由语句管理。
Python程序基本概念Python语法Python添加了什么新的语法组件冒号(:
)?
所有复合语句(嵌套在语句中的语句)具有相同的一般形式,即第一行以冒号结尾,嵌套在下一行中的代码通常以缩进格式编写。
Python删除括号中可选的终止行是终止语句(分号)如果(xy){x=y=}ifxy:
x=y=运算符,缩进的结尾是代码块的结尾(}),并且大多数用表达式编写的语句(逻辑行)都包含表达式。
简单表达式的一个例子是。
表达式可以分解成运算符和操作数。
操作者的作用是完成某事。
它们由像这样的符号或其他特定的关键字来表示。
操作员需要数据来执行操作。
这种数据称为操作数。
在本例中,总和是操作数。
在Python中,表达式可以用作语句,但是表达式的结果不会被存储。
运算符及其用法运算符名称描述的示例是通过添加两个对象获得的。
#a##b#得到#ab#。
减去得到一个负数,或者一个数减去另一个数得到一个负数。
明白了。
*将两个数字相乘,或者返回重复多次的字符串*。
#啦#*得到#啦啦#。
**乘方将x的乘方乘以y的乘方**得到(即***)x除以y(除以整数得到整数结果)。
或者获得可分返回商的整数部分,以获得模返回除法的余数。
通过将一个数的位向左移动一个特定的数(每个数在内存中表示为一个位或一个二进制数,即一个和)来获得向左的移动。
它是通过根据右移位的比特表示,将若干比特向右移位一定的数目而获得的。
向右移动位数后,以十进制表示。
运算符及其用法运算符名称描述示例按位和数字按位和获得。
根据位或位数或|。
按位异或数的按位异或被获得~按位翻转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=#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返回真。
运算符优先如果有像*这样的表达式,它是先加还是先乘?
乘法应该首先完成,这意味着乘法运算符优先于加法运算符。
下面给出了Python运算符的优先级。
运算符优先级由高到低的运算符#expr#字符串转换{{key:
expr,},dictionaryexpr,exprlist(expr,expr),tuplefunction(expr,)函数调用xidex:
indexslicexidex下标indexvaluexattribute属性引用~x按位逆xx加或减x**y幂x*yxyxy乘法和除法模运算符描述xyxy加或减xyxy按位异或xy按位x|y按位或xyx=yx==yx!
=yx=yxy比较xisyxisnoty等价测试xinyxnoty成员判断notx逻辑Noxandy逻辑vsxory逻辑或LambdaArg:
EXPRLAMBDA匿名函数运算符优先级建议使用括号将运算符和操作数分组,以便清楚地指示运算顺序,并使程序尽可能可读。
例如(*)显然比*。
同时,圆括号也应该正确使用,不应该过度使用,如:
(())。
运算符优先级计算顺序默认情况下,运算符优先级决定哪个运算符比其他运算符先计算。
但是,如果要更改计算顺序,可以使用括号。
例如,如果希望在表达式中乘法之前计算加法,可以编写类似()的代码。
组合规则运算符通常从左到右进行组合,即从左到右计算具有相同优先级的运算符。
例如,它被计算为()。
一些运算符(如赋值运算符)从右向左组合,即a=b=c被视为a=(b=c)。
真值表对象常量值false字符串true=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,多目标赋值a=b=变量自变量赋值,如==*=等。
在自变赋值中,Python只计算一次,而普通的编写需要计算两个变量,基本的表达式变量用来记录程序中的信息。
它的特点是变量,像对象一样,不需要声明。
在第一次赋值过程中创建的变量在表达式中使用,值变量将被它们替换。
在表达式中,表达式中使用了Python编程语言Python的数据结构Python,这种数据结构必须在之前被赋值过。
python是基本的python数据结构数字字符串列表元组字典数字Python提供了常见的数字类型:
整数、浮点数及其相关的语法和操作。
允许八进制、十六进制常量。
提供了多种类型。
提供了具有无限精度的长度类型(只要内存空间允许它增长为任意位数的整数)。
Importsysprintsysmaxint数字常量数字常量通用整数(c语言长整型)Ll长整型(无限大小)eEe浮点数(c语言双精度浮点数)xff八进制、十六进制jjJ复数常量内置数学工具和扩展表达式运算符、、*、**内置数学函数功率、abs公共模块随机、数学和其他专业扩展数字矩阵、数字的基本应用,如向量处理A=B=AAB*BAB****BC*回溯(MOSTRECENTCALLAST):
FILEINTERACTIVEINPUT,LINE,Inmodulenamerror:
Name#C#isnotDefinedAb(a)printB(a)numDisplayFormatnum=numintnumnum#e#fnum###数学内置函数和内置模块数学模块通用数学函数cmath模块处理复杂模块#acos##fsum##acosh##hypot##asin###isinf##asinh##isnan##atan##ldeXP##atan##log##
字符串中可以使用单引号和双引号。
小心匹配它们。
例如lsquoboyrsquo,girl等。
字符串中的反斜杠可以允许将字符串放在多行上,也可以使用三个,或者字符串可以跨行分布。
用*重复字符串,例如:
#hello#*helloheloa=##printaaa=#hello#*printahellohelloaa=printa转义符转义符描述反斜杠符号#单引号a环b退格E转义空V竖线制表符T水平制表符R输入转义符描述N换行符(在行尾)连续字符分页符Oy八进制yy表示字符,例如,0表示换行符xyy十进制yy表示字符,例如,xa表示换行符其他其他常用格式输出的字符当转义字符不想生效时,使用RandR定义原始字符串。
例如:
printr#trlsquotrStringBasicOperationStringMerge*StringRepeatingLEN(#ABC#)#ABC###DEF###ABCDEF##ABC###DEF##ABCDEF##Hello#*#Hellohellolsquo#ABC#Traceback(mostrencetcalllast):
fileinteractiveinput,line,inmoduleTypeerror:
不能连接#str#和#int#对象字符串基本操作可用于语句遍历字符串,并用于表达式运算符测试成员资格。
这实际上是一次搜索。
for循环分配一个变量以获取序列中的元素,并对每个元素执行一个或多个语句。
变量c相当于一个在字符串中步进的指针。
s=#hello#forins:
printc、HellohinsTruebinsFalse字符串索引和shard字符串是有序的字符集。
Python中字符串中的字符可以通过它们的位置获得。
通过索引提取的索引从一开始可能是负的,但它不同于c语言。
这意味着从末尾提取的最后一个是前一个,依此类推。
考虑从末尾倒计数s=#spam#s#s#p#s#m#s#A#字符串索引和分段:
从字符串中分离和提取的部分内容(子字符串)可用于提取部分数据和分离前缀、后缀等。
当使用序列对象(如一对用冒号分隔的偏移索引字符串)时,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中的偏移之