您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > Python基础教程第2章
Python程序设计教程授课教师:职务:第2章Python语言基础课程描述本章将介绍Python语言的基本语法和编码规范,并重点讲解Python语言的数据类型、运算符、常量、变量、表达式和常用语句等基础知识,为使用Python开发应用程序奠定基础。本章知识点2.1常量和变量2.2运算符和表达式2.3常用语句2.4序列数据结构2.1常量和变量2.1.1常量2.1.2变量2.1.1常量变量是内存中命名的存储位置,与常量不同的是变量的值可以动态变化。Python的标识符命名规则如下:标识符名字的第1个字符必须是字母或下划线(_);标识符名字的第1个字符后面可以由字母、下划线(_)或数字(0~9)组成;标识符名字是区分大小写的。也就是说Score和score是不同的。【例2-1】在下面的代码中,定义了一个字符串变量a、数值变量b和布尔类型变量c。a=这是一个常量;b=2;c=True【例2-2】变量值传递的例子。a=这是一个变量;b=a;print(b);#此时变量b的值应等于变量a的值print(\n);a=这是另一个变量;print(b);#对变量$a的操作将不会影响到变量b运行结果如下:这是一个变量这是一个变量变量赋值过程的示意图id()函数可以使用id()函数输出变量的地址,语法如下:id(变量名)【例2-3】用id()函数输出变量地址的示例程序:str1=这是一个变量;print(变量str1的值是:+str1);print(变量str1的地址是:%d%(id(str1)));str2=str1;print(变量str2的值是:+str2);print(变量str2的地址是:%d%(id(str2)));str1=这是另一个变量;print(变量str1的值是:+str1);print(变量str1的地址是:%d%(id(str1)));print(变量str2的值是:+str2);print(变量str2的地址是:%d%(id(str2)));2.1.3类型转换1.转换为数字1.转换为数字(1)使用int()函数将字符串转换为整数,语法如下:int(x[,base])参数x是待转换的字符串,参数base为可选参数,指定转换后整数的进制,默认为10进制。(2)使用long()函数将字符串转换为长整数,语法如下:long(x[,base])参数的含义与int()函数相同。(3)使用float()函数将字符串或数字转换为浮点数,语法如下:float(x)参数x是待转换的字符串或数字。(4)使用eval()函数计算字符串中的有效Python表达式,并返回结果,语法如下:eval(str)参数str是待计算的Python表达式字符串。【例2-4】a=1;b=int(a)+1;print(b);【例2-5】a=1+2;print(eval(a));运行结果为3。2.转换为字符串(1)使用str()函数将数值转换为字符串,语法如下:str(x)参数x是待转换的数值。(2)使用repr()函数将对象转换为可打印字符串,语法如下:repr(obj)参数obj是待转换的对象。1.2.2执行Python脚本文件(3)使用chr()函数将一个整数转换为可对应ASCII的字符,语法如下:chr(整数)(4)使用ord()函数将一个字符转换为对应的ASCII,语法如下:ord(字符)【例2-6】print(chr(65));print(ord('A'));运行结果为。A65(5)使用hex()函数将一个整数转换为一个十六进制字符串,语法如下:chr(整数)(6)使用oct()函数将一个整数转换为一个八进制字符串,语法如下:oct(字符)【例2-7】使用hex()函数和oct()函数打印8的十六进制字符串和八进制字符串。print(hex(8));print(oct(8));输出的结果如下:0x80o10十六进制字符串以0x开头,八进制字符串以0o开头。2.2运算符和表达式运算符是程序设计语言的最基本元素,它是构成表达式的基础。本节将介绍Python语言运算符和表达式。2.2.1运算符Python支持算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串运算符、成员运算符和身份运算符等基本运算符。1.算术运算符位运算符具体描述例子+相加运算1+2的结果是3-相减运算100-1的结果是99*乘法运算2*2的结果是4/除法运算4/2的结果是2%求模运算10%3的结果是1**幂运算。x**y返回x的y次幂2**3的结果是8//整除运算,即返回商的整数部分9//2的结果42.赋值运算符位运算符具体描述例子=直接赋值x=3;将3赋值到变量x中+=加法赋值x+=3;等同于x=x+3;-=减法赋值x-=3;等同于x=x-3;*=乘法赋值x*=3;等同于x=x*3;/=除法赋值x/=3;等同于x=x/3;%=取模赋值x=3;等同于x=x%3;**=幂赋值x**=3;等同于x=x**3;//=整除赋值x//=3;等同于x=x//3;【例2-8】x=3x+=3print(x)x-=3print(x)x*=3print(x)x/=3print(x)运行结果如下:6393.03.位运算符位运算符具体描述&按位与运算,运算符查看两个表达式的二进制表示法的值,并执行按位“与”操作。只要两个表达式的某位都为1,则结果的该位为1;否则,结果的该位为0|按位或运算,运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。只要两个表达式的某位有一个为1,则结果的该位为1;否则,结果的该位为0^按位异或运算。异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0~按位非运算。0取非运算的结果为1;1取非运算的结果为0位左移运算,即所有位向左移位右移运算,即所有位向右移4.比较运算符比较运算符具体描述==等于运算符(两个=)。例如a==b,如果a等于b,则返回True;否则返回False!=不等运算符。例如a!=b,如果a不等于b,则返回True;否则返回False不等运算符,与!=相同小于运算符大于运算符=小于等于运算符=大于等于运算符5.逻辑运算符逻辑运算符具体描述and逻辑与运算符。例如aandb,当a和b都为True时等于True;否则等于Falseor逻辑或运算符。例如aorb,当a和b至少有一个为True时等于True;否则等于Falsenot逻辑非运算符。例如nota,当a等于True时,表达式等于False;否则等于True【例2-9】x=Truey=Falseprint(xandy=,xandy)print(xory=,xory)print(notx=,notx)print(noty=,noty)运行结果如下:xandy=Falsexory=Truenotx=Falsenoty=True6.字符串运算符逻辑运算符具体描述+字符串连接*重复输出字符串[]获取字符串中指定索引位置的字符,索引从0开始[start,end]截取字符串中的一部分,从索引位置start开始到end结束in成员运算符,如果字符串中包含给定的字符则返回Truenotin成员运算符,如果字符串中包含给定的字符返回Truer或者R指定原始字符串。原始字符串是指所有的字符串都是直接按照字面的意思来使用,没有转义字符、特殊字符或不能打印的字符。原始字符串字符串的第一个引号前加上字母r或R【例2-10】b=hello;a=b+world!;print(a);print(a*2);print(rhello\nworld!);运行结果如下:helloworld!helloworld!helloworld!hello\nworld!7.运算符优先级运算符具体描述**指数运算的优先级最高~+-逻辑非运算符和正数/负数运算符。注意,这里的+和-不是加减运算符*/%//乘、除、取模和取整除+-加和减位右移运算和位左移运算&按位与运算^|按位异或运算和按位或运算==!=大于、等于和不等于%=/=//=-=+=*=**=赋值运算符isisnot身份运算符innotin成员运算符notorand逻辑运算符2.2.2表达式a=b+c;a=b-c;a=b*c;a=b/c;a=b%c;a+=1;b=a**2;2.3常用语句2.3.1赋值语句2.3.2条件分支语句3.3.3循环语句2.3.4try-except语句2.3.1赋值语句赋值语句是Python语言中最简单、最常用的语句。通过赋值语句可以定义变量并为其赋初始值。在2.2.1小节介绍赋值运算符时,已经涉及到了赋值语句,例如:a=2;b=a+5;【例2-11】a=10;a+=1;print(a);a*=10;print(a);a**=2;print(a);运行结果如下:11110121002.3.2条件分支语句1.if语句1.if语句if条件表达式:语句块【例2-12】if语句的例子ifa10:print(变量a大于10);如果语句块中包含多条语句,则这些语句必须拥有相同的缩进。例如:ifa10:print(变量a大于10);a=10;【例2-13】嵌套if语句的例子ifa10:print(变量a大于10);ifa100:print(变量\$a大于100);}2.else语句if条件表达式:语句块1else:语句块23.elif语句if条件表达式1语句块1elif条件表达式2语句块2elif条件表达式3语句块3……else语句块n【例2-15】importdatetimestr=今天是;d=datetime.datetime.now()print(d.weekday())ifd.weekday()==0:str+=星期一;elifd.weekday()==1:str+=星期二;elifd.weekday()==2:str+=星期三;elifd.weekday()==3:str+=星期四;elifd.weekday()==4:str+=星期五;elifd.weekday()==5:str+=星期六;else:str+=星期日;print(str)weekday()方法的返回值返回值具体描述0星期一1星期二2星期三3星期四4星期五5星期六6星期日3.3.3循环语句1.while语句1.while语句while条件表达式:循环语句体3.3.3循环语句1.while语句2.for语句3.continue语句4.break语句1.while语句while条件表达式:循环语句体【例2-16】i=1;sum=0;whilei11:sum+=i;i+=1;print(sum)2.for语句foriinrange(start,end):循环体【例2-17】i=1;sum=0;foriinrange(1,11):print(i)sum+=iprint(sum)3.continue语句【例2-18】如果只计算1~100之间偶数之和,可以使用下面的代码:i=1;sum=0;foriinrange(1,101):ifi%2==1:continuesum+=iprint(sum)4.break语句【例2-19】将【例2-16】修改为使用break语句跳出循环体。i=1;sum=0;whileTrue:ifi==11:break;sum+=i;i+=1;print(sum)2.3.4try-except语句try:try语句块except[异常处理类,异常处理类,….]as异常处理对象:异常处理代码finally:最后执行的代码【例2-20】i=10;print(30/(i-10));程序中存在一个30/0的错误,运行该程序会出现下面的报错信息。Traceback(mostrecentcalllast):FileD:\MyBooks\2014\python\源代码\02\例2-20.py,line2,inm
本文标题:Python基础教程第2章
链接地址:https://www.777doc.com/doc-3198691 .html