1、PythonPython程序设计程序设计PythonPython程序程序设设计计第第2 2章章 Python Python语言基础语言基础PythonPython程序设计程序设计【教学目标教学目标】学习内容学习内容PythonPython语言的基本词法语言的基本词法变量和赋值变量和赋值数据类型:数字数据类型:数字数字运算数字运算数据类型:字符串数据类型:字符串数据类型操作数据类型操作技能目标技能目标 能熟练运用能熟练运用PythonPython语言的基本词法语言的基本词法能理解能理解PythonPython变量的类型及赋值变量的类型及赋值能运用能运用PythonPython数字类型的各种数据及
2、其运算数字类型的各种数据及其运算能使用能使用PythonPython字符串类型数据进行各种操作字符串类型数据进行各种操作能对各种不同数据类型进行判断及转换能对各种不同数据类型进行判断及转换PythonPython程序设计程序设计任务一任务一 好好学习、天天向上好好学习、天天向上 19511951年,毛泽东主席题词年,毛泽东主席题词“好好学习、天天向好好学习、天天向上上”,成为激励一代代中国人奋发图强的经典短语。,成为激励一代代中国人奋发图强的经典短语。那么那么“天天向上天天向上”的力量有多强大呢?的力量有多强大呢?本本次的任务是使用次的任务是使用PythonPython程序来演算一下,其中程序
3、来演算一下,其中利用利用PythonPython内置内置mathmath数学模块测试数学模块测试“天天向上天天向上”力量。力量。PythonPython程序设计程序设计【提示提示】一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1,当没有学习时能力值相比前一天下降1。每天努力和每天放任,一年下来的能力值相差多少呢?根据题目,天天向上的力量是(1+0.001)365,相反则是(1-0.001)365。PythonPython程序设计程序设计2.1 Python2.1 Python语言的基本词法语言的基本词法2.1.1 2.1.1 缩进缩进 PythonPytho
4、n语言采用严格缩进来表明代码的层次关系,代码编写中,缩进可以用语言采用严格缩进来表明代码的层次关系,代码编写中,缩进可以用TabTab键或多个空格实现。键或多个空格实现。在Java、C/C+等语言中,用花括句表示代码块,例如。if(x100)y=x*5-1;else y=0;而Python使用缩进或空格来表示代码块,通常语句未尾的冒号表示代码块的开始,例如。if x100:y=x*5-1else:y=0PythonPython程序设计程序设计2.1 Python2.1 Python语言的基本词法语言的基本词法2.1.2 2.1.2 注释注释 注释是程序员在代码中加入的一行或多行信息,用来对语句
5、、函数、数据结构或注释是程序员在代码中加入的一行或多行信息,用来对语句、函数、数据结构或方法等进行说明。注释是辅助性文字,会被编译或解释器略去,不被计算机执行。方法等进行说明。注释是辅助性文字,会被编译或解释器略去,不被计算机执行。Python Python语言中的注释有两种方法,单行注释和多行注释,单行注释以语言中的注释有两种方法,单行注释和多行注释,单行注释以#开头,多开头,多行注释以三个英文的单引号行注释以三个英文的单引号或三个英文的双引号或三个英文的双引号开头和结尾。开头和结尾。多行注释开始下面的代码根据变量x的值计算y的值注意代码中使用缩进表示代码块多行注释结束x=5if x100:
6、y=x*5-1#单行注释:x100时执行该语句else:y=0#单行注释:x=100时执行该语句print(y)#单行注释:输出yPythonPython程序设计程序设计2.1 Python2.1 Python语言的基本词法语言的基本词法2.1.3 2.1.3 续行续行 在在遇到较长的语句时,可使用语句续行符号,将一条语句写在多行之中。遇到较长的语句时,可使用语句续行符号,将一条语句写在多行之中。PythonPython有两种续行方式。一种是使用有两种续行方式。一种是使用“”“”符符号号;另另一种续行方式是使用括号一种续行方式是使用括号(包括圆括号包括圆括号()()、方括号、方括号和大括号和大
7、括号 等等),括号中的内容可分多行书写,括号中的空白和换行符都会被忽略。,括号中的内容可分多行书写,括号中的空白和换行符都会被忽略。使用“”“”符号,例如。if x10:y=x*5-1else:y=0使用括号,例如。if(x10):y=x*5-1else:y=0PythonPython程序设计程序设计2.1 Python2.1 Python语言的基本词法语言的基本词法2.1.4 2.1.4 分隔分隔 PythonPython使用分号分隔语句,从而将多条语句写在一行使用分号分隔语句,从而将多条语句写在一行。print(10);print(5+2)2.1.5 2.1.5 标识符标识符 标标识符用来
8、识别变量、函数、类、模块以及对象的名称。标识符的第一个字符必须是字母识符用来识别变量、函数、类、模块以及对象的名称。标识符的第一个字符必须是字母(AZ(AZ或或az)az)或下划线,其后的字符可以是字母、下划线、或数字或下划线,其后的字符可以是字母、下划线、或数字(09(09)。(1)Python (1)Python标识符区分大小写,如:标识符区分大小写,如:DataData和和datadata为不同的名称。为不同的名称。(2)(2)以双下划线开始和结束的名称通常具有特殊的含义,如:以双下划线开始和结束的名称通常具有特殊的含义,如:_init_init_为类的构造函数,要为类的构造函数,要避免
9、使用。避免使用。(3)(3)一些特殊的名称,如一些特殊的名称,如isis、ifif、forfor等作为等作为PythonPython语言的保留关键字,不能作为标识符。语言的保留关键字,不能作为标识符。PythonPython程序设计程序设计2.1 Python2.1 Python语言的基本词法语言的基本词法2.1.6 2.1.6 关键字关键字 关键字即预定义保留标识符。关键字有特殊的语法含义,不能在程序中用作标识关键字即预定义保留标识符。关键字有特殊的语法含义,不能在程序中用作标识符,否则会产生编译错误。符,否则会产生编译错误。PythonPython程序设计程序设计2.1 Python2.1
10、 Python语言的基本词法语言的基本词法2.1.7 2.1.7 命名规则命名规则 PythonPython程序设计程序设计2.2 2.2 变量和赋值变量和赋值2.2.1 2.2.1 变量与类型变量与类型 变量用于引用在程序中可能会变化的值。在变量用于引用在程序中可能会变化的值。在PythonPython中,存储一个数据需要利用变中,存储一个数据需要利用变量。量。number1=25#number1就是一个变量 number2=100#number2也是一个变量 result=number1+number2#把number1和number2中存储的数据累加起来,然后放到新的result变量中。
11、如果给变量取非法名称,解释器会提示语法错误,例如。2texts=happy study 第一个字符不能是数字 SyntaxError:invalid syntax xiaozhangxiaoming=perfect 只能由字母、下画线和数字组成 SyntaxError:EOL while scanning string literal Python区分大小写,number、Number和NUMBER是不同的标识符。PythonPython程序设计程序设计2.2 2.2 变量和赋值变量和赋值2.2.2 2.2.2 变量的声明与赋值变量的声明与赋值 赋值语句是将一个值指定给一个变量,在赋值语句是将
12、一个值指定给一个变量,在PythonPython中赋值语句可以作为一个表达式,将等号中赋值语句可以作为一个表达式,将等号“”作为赋值操作符,赋值语句语法如下。作为赋值操作符,赋值语句语法如下。variable=expressionvariable=expression(变量(变量=表达式)表达式)表表达式表示涉及值、变量和操作符的一个运算,它们组合在一起表达式表示涉及值、变量和操作符的一个运算,它们组合在一起表达达一一个个新值,并且表达式新值,并且表达式只有在赋值语句中才会计算得到结果。在只有在赋值语句中才会计算得到结果。在PythonPython中,不用显式声明变量,直接为变量赋值即可中,不
13、用显式声明变量,直接为变量赋值即可。x=5*(3/2)表达式赋值 print(x)7.5给变量赋值,变量名必须在赋值操作符的左边,否则语句有误。1=y Syntax Error:cant assign to literal链式赋值用于为多个变量赋同一个值,例如。x=y=123可以同时为多个对象指定不同的变量值,例如。a,b,c=1,2,山雨欲来风满楼PythonPython程序设计程序设计2.2 2.2 变量和赋值变量和赋值 使用使用deldel语句删除不再使用的变量语句删除不再使用的变量。x=1x=1del xdel xx#Name Error:name x is not definedx#
14、Name Error:name x is not defined2.2.3 2.2.3 删除变量删除变量PythonPython程序设计程序设计2.3 2.3 数据类型:数字数据类型:数字 数数字类型是编程语言的语法基础,决定了程序如何存储和处理字类型是编程语言的语法基础,决定了程序如何存储和处理数据。数据。PythonPython支持整数、浮点数、复数、小数、分数五种数字类型。支持整数、浮点数、复数、小数、分数五种数字类型。PythonPython程序设计程序设计2.3 2.3 数据类型:数字数据类型:数字2.3.1 2.3.1 整数整数 整整数类型可细分为整型数类型可细分为整型(int)(
15、int)和布尔型和布尔型(bool)(bool)。整型常量是不带小数点的数。整型常量是不带小数点的数。2.3.2 2.3.2 浮点数浮点数 浮浮点数类型的名称为点数类型的名称为floatfloat。2.3.3 2.3.3 复数复数 复复数类型的名称为数类型的名称为complexcomplex。复数常量表示为。复数常量表示为“实部实部+虚部虚部”形式,虚部以形式,虚部以j j或或J J结尾。结尾。2.3.4 2.3.4 小数小数 小小数可以看作是固定精度的浮点数,它有固定的位数和小数点,可以满足规定精数可以看作是固定精度的浮点数,它有固定的位数和小数点,可以满足规定精度的计算。度的计算。2.3.
16、5 2.3.5 分数分数 分分数使用数使用fractionsfractions模块中的模块中的Fraction()Fraction()函数创建,其基本语法格式如下。函数创建,其基本语法格式如下。x x=Fraction(a=Fraction(a,b)b)其其中,中,a a为分子,为分子,b b为分母,为分母,PythonPython自动计算自动计算x x为最简分数为最简分数PythonPython程序设计程序设计2.4 2.4 数字运算数字运算2.4.1 2.4.1 数字运算操作符与表达式数字运算操作符与表达式 PythonPython程序设计程序设计2.4 2.4 数字运算数字运算2.4.1
17、 2.4.1 数字运算操作符与表达式数字运算操作符与表达式 表达式是可以计算的代码片段,由操作数、运算符和圆括按一定规则组成表达式。表达式通过运算后产生运算结果,运算结果的类型由操作数和运算符共同决定。表达式既可以非常简单,也可以非常复杂。当表达式包含多个运算符时,运算符的优先级控制各运算符的计算顺序。例如,表达式x+y*z按x+(y*z)计算,因为*运算符的优先级高于+运算符。Python表达式遵循下列书写规则。(1)表达式从左到右在同一个基准上书写。例如,数学公式a2+b2应该写为:a*2+b*2。(2)运算符不能省略。例如,数学公式ab(a乘以b)应写为:a*b。(3)括号必须成对出现,
18、而且只能使用圆括号,圆括号可以嵌套使用。例如数学表达式sina(x+1)+b写成Python表达式为:math.sin(a+(x+1)+b)。PythonPython程序设计程序设计2.4 2.4 数字运算数字运算2.4.2 2.4.2 常用数字处理函数常用数字处理函数 1.内置的常用数学函数内置的常用数学函数2.math模块模块PythonPython程序设计程序设计【任务实现任务实现】程序如下:程序如下:import mathimport mathbase=0.001base=0.001#能力值提高值能力值提高值dayu=math.pow(1.0+base),365)dayu=math.p
19、ow(1.0+base),365)daydown=math.pow(1.0-base),365)daydown=math.pow(1.0-base),365)print(print(向上向上:.2f,:.2f,向下向下:.2f.format(dayu,daydown):.2f.format(dayu,daydown)程序输出结果如下:程序输出结果如下:向上向上:1.44,:1.44,向下向下:0.69.:0.69.从结果可观察到,每天努力从结果可观察到,每天努力11,一年下来将提高,一年下来将提高44%44%,好像不多,好像不多?如果好好学习时能力值相比前一天提高如果好好学习时能力值相比前一天
20、提高1%1%,效果相差是中多少呢?,效果相差是中多少呢?PythonPython程序设计程序设计任务二任务二 祝福祖国生日快乐祝福祖国生日快乐PythonPython程序设计程序设计【提示提示】(1)使用strip()函数去除前后空格。(2)使用lower()函数将英文字母小写。(3)使用replace()函数替换不规范的用语。PythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串 字符串是一种有序的字符集合,用于表示文本数据。字符串中的字符可以是各种字符串是一种有序的字符集合,用于表示文本数据。字符串中的字符可以是各种UnicodeUnicode字符。字符串
21、属于不可变序列,即不能修改字符串。字符串中的字符按照从字符。字符串属于不可变序列,即不能修改字符串。字符串中的字符按照从左到右的顺序,具有位置顺序即支持索引、分片等操作。左到右的顺序,具有位置顺序即支持索引、分片等操作。2.5.1 2.5.1 字符串常量字符串常量PythonPython字符串常量可用下列多种方法表示。字符串常量可用下列多种方法表示。单引号:单引号:aa、123123、abcabc。双引号:双引号:aa、123123、abcabc。三个单引号或双引号:三个单引号或双引号:Python codePython code、Python stringPython string。带带“r
22、”“r”或或“R”“R”前缀的前缀的RawRaw字符串:字符串:rabcn123rabcn123、Rabcn123Rabcn123。带带“u”“u”或或“U”“U”前缀的前缀的UnicodeUnicode字符串:字符串:uasdfuasdf、UasdfUasdf。字符串默认为。字符串默认为UnicodeUnicode字字符串,符串,“u”“u”或或“U”“U”前缀可以省略。前缀可以省略。PythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.1 2.5.1 字符串常量字符串常量1.1.转义字符转义字符2.Raw2.Raw字符串字符串Python不会解析R
23、aw字符串中的转义字符。Raw字符串的典型应用是表示Windows系统中的文件路径,使用示例如下。myfile=open(D:tempnewpy.py,r)myfile=open(rD:tempnewpy.py,r)PythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.2 2.5.2 字符串操作符字符串操作符PythonPython提供了提供了5 5个字符串操作符:个字符串操作符:inin、空格、加号、星号和逗号。、空格、加号、星号和逗号。1.in1.in:字符串是字符的有序集合,可用操作符判断字符串包含关系。2.2.空格:空格:以空格分隔(或者没有分
24、隔符号)的多个字符串可自动合并。3.3.加号:加号:加号可将多个字符串合并。4.4.星号:星号:星号用于将字符串复制多次以构成新的字符串。5.5.逗号:逗号:在使用逗号分隔字符串时,会创建字符串组成的元组。2.5.3 2.5.3 字符串的索引字符串的索引 字字符串是一个有序的集合,其中的每个字符可通过偏移量进行索引或分片。字符符串是一个有序的集合,其中的每个字符可通过偏移量进行索引或分片。字符串中的字符按从左到右的顺序,偏移量依次为:串中的字符按从左到右的顺序,偏移量依次为:0 0、1 1、2end-1(2end-1(最后一个字符的最后一个字符的偏移量为字符串长度减偏移量为字符串长度减1)1)
25、;或者为:;或者为:-end-2-end-2、-1-1。PythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.4 2.5.4 字符串的切片字符串的切片 字字符串的切片也称分片,它利用索引范围从字符串中获得连续的多个字符符串的切片也称分片,它利用索引范围从字符串中获得连续的多个字符(即子即子字符串字符串)。其基本格式如下。其基本格式如下。xstart xstart:end:end 表表示返回字符串示返回字符串x x中从偏移量中从偏移量startstart开始到偏移量开始到偏移量endend之前的子字符串。之前的子字符串。startstart和和enden
26、d参数均可省略,参数均可省略,startstart默认为默认为0 0,endend默认为字符串长度默认为字符串长度。2.5.5 2.5.5 迭代字符串迭代字符串 字字符串是有序的字符集合,可用符串是有序的字符集合,可用forfor循环迭代处理字符串,例如。循环迭代处理字符串,例如。for a in abc for a in abc:print(a)print(a)a ab bc cPythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.6 2.5.6 字符串处理函数字符串处理函数常用的字符串处理函数包括常用的字符串处理函数包括len()len()、str
27、()str()、ord()ord()和和chr()chr()等。等。1.1.求字符串长度求字符串长度2.2.字符串转换字符串转换3.3.字符字符UnicodeUnicode码的转换码的转换2.5.7 2.5.7 字符串处理方法字符串处理方法字符串是字符串是strstr类型的对象,类型的对象,PythonPython提供了一系列方法用于字符串的处理。提供了一系列方法用于字符串的处理。PythonPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.8 2.5.8 格式化字符串格式化字符串PythonPython中有两种方法格式化字符串。中有两种方法格式化字符串。1.
28、1.使用使用“%”“%”操作符操作符 在在PythonPython中,要实现格式化字符串,可以使用中,要实现格式化字符串,可以使用“%”“%”操作符,其基本格式如下。操作符,其基本格式如下。格式字符串格式字符串%(%(参数参数1 1,参数,参数2)2)“%”“%”之前为格式字符串,之前为格式字符串,“%”“%”之后为需要填入格式字符串中的参数。多个参数之后为需要填入格式字符串中的参数。多个参数之间用逗号分隔。只有一个参数时,可省略圆括号。在格式字符串中,用格式控制符之间用逗号分隔。只有一个参数时,可省略圆括号。在格式字符串中,用格式控制符代表要填入的参数的格式。代表要填入的参数的格式。Pyth
29、onPython程序设计程序设计2.5 2.5 数据类型:字符串数据类型:字符串2.5.8 2.5.8 格式化字符串格式化字符串 格格式控制符的基本格式如下。式控制符的基本格式如下。%nameflagswidth.precisionnameflagswidth.precision格式控制符格式控制符 其其中,中,namename为圆括号括起来的字典对象的键,为圆括号括起来的字典对象的键,widthwidth指定数字的宽度,指定数字的宽度,.precision.precision指定数字指定数字的小数位数。的小数位数。flagsflags为标识符,可使用下列符号。为标识符,可使用下列符号。“+”
30、“+”:在数值前面添加正数在数值前面添加正数(+)(+)或负数或负数(-)(-)符号。符号。“-”“-”:在指定数字宽度时,当数字位数小于宽度时,将数字左对齐,末尾填充空格。在指定数字宽度时,当数字位数小于宽度时,将数字左对齐,末尾填充空格。“0”0”:在指定数字宽度时,当数字位数小于宽度时,在数字前面填充:在指定数字宽度时,当数字位数小于宽度时,在数字前面填充0 0。与。与“+”“+”或或“-”“-”同同时使用时,时使用时,“0”“0”标识不起作用。标识不起作用。“”:空格,在正数前添加一个空格表示符号位。:空格,在正数前添加一个空格表示符号位。PythonPython程序设计程序设计2.5
31、 2.5 数据类型:字符串数据类型:字符串2.5.8 2.5.8 格式化字符串格式化字符串2.2.使用使用format()format()方法方法 使使用用“%”“%”操作符是早期操作符是早期PythonPython中提供的方法,自从中提供的方法,自从Python 2.6Python 2.6版本开始,字符版本开始,字符串提供了串提供了format()format()方法对字符串进行格式化。其基本格式如下。方法对字符串进行格式化。其基本格式如下。.format(.format()formatformat()()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息,方法中模板字符串的槽除了
32、包括参数序号,还可以包括格式控制信息,此时,槽的内部样式如下。此时,槽的内部样式如下。:其其中,格式控制标记用来控制参数显示时的格式,格式内容如图中,格式控制标记用来控制参数显示时的格式,格式内容如图2-12-1所示。所示。PythonPython程序设计程序设计2.6 2.6 数据类型操作数据类型操作2.6.1 2.6.1 类型判断类型判断 可可以使用以使用type()type()函数查看数据类型。函数查看数据类型。2.6.2 2.6.2 类型转换类型转换1.1.转换整数转换整数 可可以使用以使用int()int()函数将一个字符串按指定进制转换为整数。基本格式如下。函数将一个字符串按指定进
33、制转换为整数。基本格式如下。intint(整数字符串整数字符串,n),n)2.2.转换浮点数转换浮点数 floatfloat()()函数可将整数和字符串转换为浮点数。函数可将整数和字符串转换为浮点数。PythonPython程序设计程序设计【任务实现任务实现】程序如下:string1=haPPy BiRthDAy To ustring2=Happy biRthDAy To ustring3=haPpy BirThdAy 2 Chinastring4=happy birthday 2 ustring1=string1.strip().lower().replace(u,you).replace(2,to)string2=string2.strip().lower().replace(u,you).replace(2,to)string3=string3.strip().lower().replace(u,you).replace(2,to)string4=string4.strip().lower().replace(u,you).replace(2,to)print(string1)print(string2)print(string3)print(string4)PythonPython程序设计程序设计快乐学习、进步一点点快乐学习、进步一点点
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。