• 1.28 MB
  • 2022-04-29 14:31:44 发布

最新Python语言基础课件PPT.ppt

  • 64页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'Python语言基础 1掌握数字类型数据的使用方法2掌握字符串类型数据的使用方法3理解常量的概念,掌握常量的使用方法4理解变量的概念,掌握变量的使用方法5掌握运算符、表达式的概念6掌握常用运算符的运算规则、优先级等特点 注释在Python语言中,注释是任何存在于#号右侧的文字,其主要用作留给程序阅读者说明有关程序的一切有用的信息。举个例子:print("helloworld")#注意到print是一个函数或者:#注意到print是一个函数print("helloworld")3 整数有下列表示方法:十进制整数:如1、100、12345等。十六进制整数:以0X开头,X可以是大写或小写。如0X10、0x5F、0xABCD等。八进制整数:以0O开头,O可以是大写或小写。如0o12、0o55、0O77等。二进制整数:以0B开头,B可以是大写或小写。如0B111、0b101、0b1111等。整数类型的数据对象不受数据位数的限制,只受可用内存大小的限制。 浮点数例如:1.0、1.、0.12、.123、12.345、52.3E-4、1.8e-5等。其中,E表示10的幂。在这里,52.3E-4表示52.3*10-4。浮点数用64位存储,表达数据的范围为:-1.7E+308~1.7E+308,提供大约15位的数据精度。 复数除了整数和浮点数,Python还考虑到了复数的表示方式,复数是由实部和虚部组合在一起构成的数,例如3+4j、3.1+4.1j,其中加号左边的数为实部,加号右边的为虚部,用后缀j表示。9 数据类型之逻辑型和现实生活一样,计算机中也有表示对和错、真和假这样的逻辑常量,它们就True和False,正如字面上的意思,True表示真,用来表示某个命题是正确的,False表示假,用来表示某个命题是错误的。请记住,计算机中是没有半对半错的概念的,非假即真,一定是这样的!10 数据类型之字符串字符串是程序语言中常用的数据类型,它是序列类型(包括字符串、列表、元组、字节串等)之一,也是最常用的、最简单的序列。11 字符串的定义用单引号、双引号或三引号引起来的字符序列如:"中国湖南长沙"、"Python语言程序设计"、"Python"、"1234567"、"ABCD"、"Hello"、""中国""。字符串是不可变对象。空串表示为:""(一对单引号)或""12 三引号的用法三引号引起的字符串可以是超长的,中间任何地方可以换行。例如:>>>s="""abc...1234567890...xyz""">>>s‘abcn1234567890nxyz’13 转义字符如果你希望生成一串包含单引号(‘)的字符串,你应该如何指定这串字符串?例如:你不能指定"What"syourname?"因为这会使Python对于何处是字符串的开始、何处又是结束而感到困惑。所以,你必须指定这个单引号不代表这串字符串的结尾。这可以通过转义字符(EscapeSequence)来实现。Python中通过来表示一个转义字符。你可以将字符串指定为"What"syourname?"14 转义字符也常用于计算机中的不可见字符。不可见字符是指不能显示图形仅仅是表示某一控制功能的代码,如ASCII码中的换行、制表符、铃声等。转义字符以“”开头,后跟字符或数字。15 常见的转义字符转义字符意义’单引号"双引号\字符“”本身a铃声b退格符n换行符t横向制表符v纵向制表符r回车符f换页符y八进制数y表示的字符xy十六进制数y表示的字符16 数据类型转换我们在程序中引入type()函数,该函数可以输出参数的数据类型,例如在交互模式中输入以下命令可以得到各个常量的数据类型:>>>type(100)>>>type(3.14)>>>type("Hello")17 数据类型转换在大部分关于数字的运算中,Python会自动完成把整数类型的数据转换成实数类型的工作,这是因为将整数变成实数并不会损失原来数字中的数据,比如把1变成1.0。但是将一个实数转换成整数类型,则原数据中的小数部分会被舍弃(不使用四舍五入),例如:>>>int(10.5)10甚至,在一些字符串中也会包含数字,为了获取字符串中的数字,也需要使用类型转换的函数,例如:>>>int("50")5018 变量与赋值语句如果只使用常量很快就会让人感到无聊,并且不能直观地看到程序的意图,我们需要一些能够存储任何信息并且也能操纵它们的方式,这种方式能够让程序更加容易被理解。这种存储命名数据的方式便是变量(Variables)。正如其名字所述那般,变量的值是可以变化的,也就是说,你可以用变量来存储任何东西。变量只是你的计算机内存中用以存储信息的一部分。19 标识符命名变量的名称是标识符的一个例子。标识符(Identifiers)是为程序中的某些内容提供一个指定的名称。你需要遵守以下规则:第一个字符必须是字母表中的字母或下划线。标识符的其它部分可以由字符、下划线(_)、数字(0~9)组成。标识符名称区分大小写。有效的标识符名称可以是i或name_2_3,无效的标识符名称可能是2things,thisisspacedout,my-name和>a1b2_c3。20 赋值语句为了将数据存放到变量中,需要使用赋值语句,赋值语句的作用是将一系列的算式的值,存放到相应的一系列变量中。在赋值语句中,最重要的便是赋值号=。以下程序是赋值号的几个例子,分别将不同类型的数据存放到不同的变量中。>>>num1=100>>>num2=2.50>>>str1="IlovePython."21 复合赋值有的时候,为了让赋值语句简单一些,会使用增量赋值的语法形式,例如当你希望在变量num1的原始数据上再加上100,然后再保存到变量num1中,可以这样书写程序:>>>num1+=100它表达的意思与下面的程序完全一致:>>>num1=num1+10022 赋值举例i=5print(i)i=i+1print(i)s="""Thisisamulti-linestring.Thisisthesecondline."""print(s)23 应用赋值语句的一个最经典的例子是交换二个变量的值。三种写法:t=xx=yy=t另外:程序语句“x=x+1”的意义与数学上的等式“x=x+1”的不同。以加深对赋值语句的理解。x=x+yy=x-yx=x-y>>>x,y=y,x 对象需要记住的是,Python将程序中的任何内容统称为对象(Object)。这是一般意义上的说法。我们会说程序中的内容为“某某对象(object)”,而不是“某某东西(something)”。25 运算符你所编写的大多数语句都包含了表达式(Expressions)。一个表达式的简单例子便是2+3。表达式可以拆分成运算符(Operators)与操作数(Operands)。运算符(Operators)是进行某些操作,并且可以用诸如+等符号或特殊关键词加以表达的功能。运算符需要一些数据来进行操作,这些数据就被称作操作数(Operands)。在上面的例子中2和3就是操作数。26 +(加号)两个对象相加。3+5则输出8。"a"+"b"则输出"ab"。-(减号)从一个数中减去另一个数,如果第一个操作数不存在,则假定为零。-5.2将输出一个负数,50-24输出26。*(乘号)给出两个数的乘积,或返回字符串重复指定次数后的结果。2*3输出6。"la"*3输出"lalala"。27 **(乘方,幂运算)返回x的y次方。3**4输出81(即3*3*3*3)。/(除号,结果为实数)x除以y13/3输出4.333333333333333。//(整除,结果为整数)x除以y并对结果向下取整至最接近的整数。13//3输出4。-13//3输出-5。28 %(取模,求余数的运算)返回除法运算后的余数。13%3输出1。-25.5%2.25输出1.5。<<(按位左移)将数字的位向左移动指定的位数。(每个数字在内存中以二进制数表示,即0和1)2<<2输出8。2用二进制数表示为10。向左移2位会得到1000这一结果,表示十进制中的8。>>(按位右移)将数字的位向右移动指定的位数。11>>1输出5。11在二进制中表示为1011,右移一位后输出101这一结果,表示十进制中的5。29 &(按位与)对数字进行按位与操作。5&3输出1。|(按位或)对数字进行按位或操作。5|3输出7。^(按位异或)对数字进行按位异或操作。5^3输出6。~(按位取反)x的按位取反结果为-(x+1)。~5输出-6。30 <(小于)返回x是否小于y。所有的比较运算符返回的结果均为True或False。请注意这些名称之中的大写字母。5<3输出False,3<6输出True。比较可以任意组成组成链接:3<5<7返回True。>(大于)返回x是否大于y。5>3返回True。如果两个操作数均为数字,它们首先将会被转换至一种共同的类型。否则,它将总是返回False。<=(小于等于)返回x是否小于或等于y。x=3;y=6;x<=y返回True。31 >=(大于等于)返回x是否大于或等于y。x=4;y=3;x>=3返回True。==(等于)比较两个对象是否相等。x=2;y=2;x==y返回True。x="str";y="stR";x==y返回False。x="str";y="str";x==y返回True。!=(不等于)比较两个对象是否不相等。x=2;y=3;x!=y返回True。32 not(逻辑“非”)如果x是Ture,则返回False。如果x是False,则返回True。x=Ture;notx返回False。and(逻辑“与”)如果x是False,则xandy返回False,否则返回y的计算值。or(逻辑“或”)如果x是True,则返回True,否则它将返回y的计算值。33 短路运算当x是False时,x=False;y=True;xandy将返回False。在这一情境中,Python将不会计算y,因为它已经了解and表达式的左侧是False,这意味着整个表达式都将是False而不会是别的值。这种情况被称作短路计算(Short-circuitEvaluation)。x=Ture;y=False;xory将返回Ture。在这里短路计算同样适用。34 运算符的优先级如果你有一个诸如2+3*4的表达式,是优先完成加法还是优先完成乘法呢?基础数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符教材中表2-2给出Python中从最低优先级到最高优先级的优先级列表。这意味着,在给定的表达式中,Python将优先计算列表中位置靠后的那些优先级较高的运算符与表达式。在日常工作中,强烈建议你最好使用圆括号操作符来对运算符与操作数进行分组,以更加明确地指定优先级。这也能使得程序更加可读。35 优先级运算符及操作数形式意义描述0[...],(...),{...}创建列表、元组和字典1s[i],s[i:j]索引、切片2s.attr属性3f(...)函数调用4+a,-a,~a一元运算符5a**b乘方(从右至左运算)6a*b,a/b,a//b,a%b乘法、除法、截取除法、取余数7a+b,a-b加法、减法8a<>b左移、右移9a&b按位与10a^b按位异或11a|b按位或12ab,a>=b,a==b,a!=b小于、小于等于、大于、大于等于、等于、不等于13aisb,aisnotb身份检查14ains,anotins序列成员检查15nota逻辑非16aandb逻辑与17aorb逻辑或18aifbelsec条件表达式运算符Python语言中运算符的优先级(从高到低) 运算符的结合性当优先级相同时,按运算符的结合性结合性是指运算的计算是从左开始还是从右开始,Python的运算符绝大多数是从左开始,只两个特例,乘方(**)和条件表达式运算从右开始。37 使用括号改变运算顺序为了使表达式更加易读,可以使用括号。举个例子,2+(3*4)自是要比2+3*4要更加容易理解,因为后者还要求你要了解运算符的优先级。和其它的一切一样,使用括号同样也要适度(而不要过度),同时亦应不要像(2+(3*4))这般冗余。使用括号还有一个额外的优点——它能帮助我们改变运算的顺序。同样举个例子,如果你希望在表达式中计算乘法之前应先计算加法,那么你可以将表达式写作(2+3)*4。38 表达式举例length=5breadth=2area=length*breadthprint("Areais",area)print("Perimeteris",2*(length+breadth))表达式(Expressions),简单来说就是一个算式,它将常量、运算符、括号、变量等以能求得结果的有意义内容组合一起,可以用以下程序来理解表达式的作用:39 条件表达式条件表达式的形式如下:<表达式1>if<表达式2>else<表达式3>计算顺序:先计算<表达式2>的值,如果这个值为True,计算<表达式1>,否则计算<表达式3>。如果条件表达式写在赋值语句里,如:y=<表达式1>if<表达式2>else<表达式3>>>>5if5>6else6>>>1if1>2else2if5>6else3条件表达式的结合性是从右至左。40 eval函数如果你将一个表达式放在了一串字符中,比如:>>>exp="100/2*3"那么如何才能让Python求出这个字符串中的表达式的值呢?这时,我们将会推荐给你一个非常神奇的函数——eval()函数,它的功能就是去计算一串字符串中的合法Python表达式的值,比如在上述语句之后,继续输入:>>>eval(exp)150.041 程序的输入和输出有些时候你的程序会与用户产生交互。举个例子,你会希望获取用户的输入内容,并向用户打印出一些返回的结果。可以分别通过input()函数与print函数来实现这一需求。42 input函数input()函数的一般格式:x=input(‘提示串’)x得到的是一个字符串。>>>x=input("x=")#直接输入12.5,x是一个数字的字符串>>>x"12.5">>>x=input("x=")#直接输入abcd,x是字符串"abcd">>>x"abcd">>>x=float(input("x="))>>>x123.7743 print函数print()函数的一般格式:print(对象1,对象2,...[,sep=’’][,end=’n’][,file=sys.stdout])可以指定输出对象间的分隔符、结束标志符,输出文件。如果缺省这些,分隔符是空格,结束标志符是换行,输出目标是显示器。例如:>>>print(1,2,3,sep="***",end="n")1***2***3>>>print(1,2,3)12344 格式化字符串在处理各种数据的过程中,经常会把一系列的数据组合到一个包含各种信息的字符串中,此时,需要使用Python为我们提供的format函数功能,format不仅可以用于组合各类型数据到字符串中,同时还包含对数据进行格式化的功能。45 format函数举例#例2.4利用format函数进行字符串的格式化操作age=20name="Swaroop"print("{0}was{1}yearsoldwhenhewrotethisbook".format(name,age))print("Whyis{0}playingwiththatpython?".format(name))输出:Swaroopwas20yearsoldwhenhewrotethisbookWhyisSwaroopplayingwiththatpython?46 #例2.6常见的格式化字符串用法举例#对于浮点数"0.333"保留小数点(.)后三位print("{0:.3f}".format(1.0/3))#使用下划线填充文本,并保持文字处于中间位置#使用(^)定义"___hello___"字符串长度为11print("{0:_^11}".format("hello"))#基于关键词输出"SwaroopwroteAByteofPython"print("{name}wrote{book}".format(name="Swaroop",book="AByteofPython"))47 续行符当你编写的程序越来越复杂的时候,有时可能会在一行中输入一条很长的语句,为了保证程序的美观和易读,可以使用续行符将这条很长的语句分别摆放在连续的多行中,例如:>>>print("我是一个程序员,我刚开始学习Python")Python在运行这两条语句的时候,会把他们连接在一起当作一条完整的语句来执行,效果如下:我是一个程序员,我刚开始学习Python48 本章小结计算机解决的问题都来自于现实世界,为了将现实问题中形形色色的数据保存在计算机中,必须将这些数据分类,并使用不同的方式进行存储和加工,在Python语言中,最常见的数据类型就是整数、实数、复数、逻辑值和字符串,它们有着各不相同的处理方法。在操作数据的过程中,会有常量和变量之分,所谓常量就是其内容保持恒久不变的数据,所谓变量,就是其内容会随着程序的执行产生变化的数据,因为变量的内容会不断地发生改变,所以通常会使用标识符来表示一个变量的名字,并且尽量让标识符表示变量中数据的意义。49 为了对程序中的数据进行运算,可以使用运算符将这些数据连接起来构成各种各样的表达式,表达式就是一个算式,它将常量、运算符、括号、变量等以能求得结果的有意义内容组合一起,通过表达式完成的运算,便可以求解各类问题。50 为了更好地与使用程序的用户交流,程序必须具备输入和输出的能力,所谓输入就是让用户通过输入设备(比如键盘和鼠标)在程序执行中给定一些用于计算的数据,这些输入数据可以在程序中通过input函数进行接收。所谓输出就是将计算机后得到的结果显示在输出设备(比如显示器)上,一般通过print函数完成此功能,为了将输出的内容更好地展示给用户,程序还会将输出结果通过format函数进行格式化操作,让输出的内容更符合人们的阅读习惯。51 另外,注释也是组成计算机程序的重要组成部分,注释的主要作用是在程序中添加一些不参与执行的文字内容,这些文字内容将会对程序中的代码进行解释或说明,让计算机程序具有更好的可读性,从而方便程序员日后对程序的进一步维护和完善。52 53输入理想的程序输出快乐的人生 测绘线形电阻和非线性电阻的伏安特性曲线 实验原理实验内容注意事项讨论思考 实验原理1、两种基本电路:电压表外接和电压表内接。测电阻伏安特性曲线(外接)外接法中,电流测量准确,但电压不是器件两侧的电压。包含电流表两端的电压。所以测得的电阻偏大。这种方法适合测大电阻。 测二极管正向伏安特性曲线(内接)内接法中,电压表测出的是器件两端的电压,而电流表测出的电流不是被测器件的电流,这里包含流过电压表的电流。所以测量的电阻偏小。这种方法适合测小电阻。 2、电阻的伏安特性曲线:电流与电压成正比。伏安特性曲线是一直线。线形电阻的伏安特性曲线 3、晶体二极管的伏安特性曲线:通过器件的电流与电压不成正比。伏安特性曲线是非线性的。二极管的伏安特性曲线 实验内容1、测绘金属膜电阻的伏安特性曲线:电源电压取3.5V,电阻为200欧姆,电压表内阻为3000欧姆,电流表内阻为6欧姆。故应该选择电压表外接电路。 2、测绘二极管的正向伏安特性曲线利用电压表内接法测量二极管的伏安特性曲线。注意,测量非线性电学器件时,曲线弯曲的地方,电压间隔应该适当减小。 注意事项毫安表的正负极不能接错。流经毫安表的电流不能超过所选量程。测晶体二极管正向伏安特性时,毫安表读数不得超过二极管允许通过的最大正向电流值。加在晶体管上的电压不得超过管子允许的最大向电压。注意用电安全。 讨论思考本实验中电压表内接法和外接法有何不同?何种情况选择电压表内接法,何种情况选用电压表外接法?金属膜电阻的伏安特性曲线具有什么特征?二极管的伏安特性曲线具有什么特征?伏安特性曲线的描绘应该注意哪些问题? 实验过程中,电压表和电流表读数为零,首先要考虑什么因素?第二个小实验中,电流表没读数,电压表有读数,什么器件出现问题?两个小实验中都用到了一个分压电阻,实验前应该把此电阻提供给电路的电压将到最小还是最大?如何利用开关?电压表没读数,电流表有读数,为何?'