Python程序设计现代方法(第2版) 课件 第2章 Python基础语法_第1页
Python程序设计现代方法(第2版) 课件 第2章 Python基础语法_第2页
Python程序设计现代方法(第2版) 课件 第2章 Python基础语法_第3页
Python程序设计现代方法(第2版) 课件 第2章 Python基础语法_第4页
Python程序设计现代方法(第2版) 课件 第2章 Python基础语法_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章Python基础语法《Python程序设计现代方法(第2版)》学习目标/Target

熟悉Python语言的代码风格,能够说出缩进、注释、语句换行基本规范

熟悉标识符的命名规则,能够在程序中正确命名标识符

熟悉关键字,能够正确识别程序中的关键字

熟悉变量的定义方式,能够在程序中定义合法的变量学习目标/Target

熟悉数据类型的分类,能够使用变量保存数字类型的数据

熟悉数据类型的查看方式,能够通过type()函数查看变量数据类型

熟悉数字类型的转换方式,能够实现数字数据类型的转换

熟悉运算符的用法,能够使用运算符进行数值运算学习目标/Target

熟悉运算符优先级,能够在数值运算中正确使用运算符

熟悉input()函数的使用,能够通过input()函数接收从键盘输入的数据

熟悉print()函数的使用,能够通过print()函数以不同的形式输出数据章节概述/Summary九层之台,起于累土。如果要开发Python程序,那么需要提前掌握Python语言的基础语法。本章将针对Python的代码风格、标识符、关键字、变量、数据类型、数字运算、基本输入和输出这些基础语法进行详细地讲解。目录/Contents01代码风格标识符和关键字变量数据类型020304目录/Contents05数字运算基本输入和输出实例:毛遂自荐0607代码风格2.12.1.1注释注释是代码中穿插的辅助性文字,用于标识代码的作者、创建时间、含义或功能等信息,以提高代码的可读性。注释的内容会被Python解释器自动忽略,并不会被执行。

2.1.1注释1.单行注释单行注释以“#”开头,“#”后面的内容用于说明当前行或当前行之后代码的功能,“#”与内容之间有一个空格。单行注释既可以单独占一行,也可以放在要标识的代码右侧,跟代码位于同一行。若单行注释与代码位于同一行,则“#”与代码之间建议至少保留两个空格。#我是注释print("志当存高远")#我也是注释2.1.1注释2.多行注释多行注释是由三对单引号或三对双引号包裹的语句。

'''博学之审问之慎思之明辩之笃行之'''"""勤能补拙是良训一分辛苦一分才"""2.1.1注释多行注释不允许嵌套使用,即三对单引号包裹的语句中不允许再次出现三对单引号,三对双引号包裹的语句中不允许再次出现三对双引号。'''少壮不努力'''

老大徒伤悲''''''2.1.1注释当“#”、单引号、双引号这几个符号作为字符串的一部分时,便不能再将它们视为注释标记,而应该作为正常代码的一部分。

print("#是单行注释的开始标记")2.1.2缩进Python使用缩进控制代码的逻辑关系和层次结构。Python中使用Tab键或者空格控制缩进,但不允许Tab键和空格键混合使用,其中空格是推荐的控制缩进方法,一般情况下使用4个空格表示一个缩进。同一级别的代码块具有相同的缩进。第2行和第5行代码是顶行的,它们属于同一级别;第3~4行代码前面有4个空格,它们从属第2行代码;第6~7行代码前面有4个空格,它们从属第5行代码。2.1.3语句换行Python官方建议一行代码的长度不要超过79个字符。语句换行主要有两种方式:

①在代码所在行的末尾加上符号“\”。

②使用小括号包裹代码。side_01=3;side_02=4;side_03=5result=side_01+side_02>side_03or\side_02+side_03>side_01or\side_01+side_03>side_02side_01=3;side_02=4;side_03=5result=(side_01+side_02>side_03orside_02+side_03>side_01orside_01+side_03>side_02)在行的末尾加上符号“\”实现换行使用小括号包裹代码实现换行标识符和关键字2.22.2.1标识符标识符是一些符号,用于对程序中的数据进行标识。Python中的标识符在命名时,需要遵守一定的命名规则,具体如下。Python中的标识符由字母、数字或下画线组成,且不能以数字开头。Python中的标识符区分大小写。例如,andy和Andy是不同的标识符。Python不允许开发人员使用关键字作为标识符。student

#全部是小写字母LEVEL#全部是大写字母Flower#大写字母、小写字母混合Flower123#大写字母、小写字母、数字混合Flower_123#大写字母、小写字母、数字、下画线混合from#12#标识符不能包含#符号2ndObj#标识符不能以数字开头if #if是关键字,不能作为标识符合法不合法除以上规则外,Python对于标识符的命名还有以下两点建议。标识符应有意义,尽量做到看一眼便知道标识符的含义,例如使用name标识姓名。变量名使用小写的单个单词或由下画线连接的多个单词,如name、native_place。常量名使用大写的单个单词或由下画线连接的多个单词,如ORDER_LIST_LIMIT、GAME_LEVEL。模块名、函数名使用小写的单个单词或由下画线连接的多个单词,如low_with_under、generate_random_numbers。类名使用大写字母开头的单个或多个单词,如Cat、CapWorld。1.见名知意2.命名格式2.2.1标识符2.2.2关键字关键字又称保留字,它是Python语言预先定义好、具有特定含义的标识符,用于记录特殊值或标识程序结构。FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield2.2.2关键字每个关键字都有不同的作用,通过“help("关键字")”可查看关键字的说明。例如,查看关键字pass的说明,示例代码如下:help('pass')The"pass"statement********************pass_stmt::="pass”

"pass"isanulloperation—whenitisexecuted,nothinghappens.Itisusefulasaplaceholderwhenastatementisrequiredsyntactically,butnocodeneedstobeexecuted,forexample:

deff(arg):pass#afunctionthatdoesnothing(yet)

classC:pass#aclasswithnomethods(yet)运行结果变量2.32.3变量程序运行期间可能会用到一些临时数据,程序会将这些数据保存在计算机的内存单元中,为了区分这些存放了数据的内存单元,每个内存单元用唯一的标识符进行标识。这些内存单元称为变量,标识内存单元的标识符称为变量名,内存单元里面存储的数据称为变量的值。定义变量的语法格式:

变量名=值定义变量的示例:a=5

#将数字5赋给变量ab=3+5 #将表达式3+5的运算结果8赋给变量bc=a #将变量a的值赋给变量c2.3变量Python中还可以同时连续为多个变量赋同一个值,语法格式如下:

变量名1=变量名2=...=值例如,同时给变量a、b、c、d赋同一个值,具体代码如下:a=b=c=d=20d=20c=db=ca=b等价于2.3变量Python中也可以连续为多个变量赋不同的值,语法格式如下:

变量名1,变量名2,...=值1,值2,...例如,同时给变量a、b、c、d赋不同的值,具体代码如下:a,b,c,d=0,1,2,3a=0b=1c=2d=3等价于多学一招:常量常量是指程序运行过程中值不变的量,比如圆周率就是一个常量。Python中其实并没有严格意义上的常量,它没有语法规则来限制开发人员改变一个常量的值。为此,Python约定把程序运行过程中不会改变的变量称为常量,常量通常放在程序的开头位置,用大写的单个单词或由下画线连接的多个单词表示常量名。例如,分别定义表示π和圆半径的常量,代码如下:PI=3.1415926CIRCLE_R=10数据类型2.42.4.1数据类型分类Python的基础数据类型主要分为两类,分别是数字类型和组合数据类型。2.4.1数据类型分类1.整型整型用于表示整数,比如100、-100等。整型数据常用的计数方式有4种,分别是二进制(以“0B”或“0b”开头)、八进制(以数字“0o”或“0O”开头)、十进制和十六进制(以“0x”或“0X”开头),默认使用的计数方式是十进制。5 #十进制0b101 #二进制0o5 #八进制0x5 #十六进制2.4.1数据类型分类2.浮点型浮点型用于表示实数,比如1.23、3.1415926等。Python中浮点型数据一般由整数和小数组成,小数部分可以是0。1.23,10.0,36.5

-3.14e2,3.14e-3#合法的浮点型314e,e2,3.14e-1.5#非法的浮点型2.4.1数据类型分类2.浮点型Python中的浮点型是双精度的,每个浮点型数据占8个字节(即64位),且遵守IEEE标准,其中52位用于存储尾数,11位用于存储阶码,剩余1位用于存储符号。Python中浮点型的取值范围为-1.8e308~1.8e308,若超出这个范围,Python会将值视为无穷大(inf)或无穷小(-inf)。例如,在命令窗口进入Python环境,分别输入两个超过取值范围的值,具体如下:print(3.14e500)print(-3.14e500)inf-inf运行结果2.4.1数据类型分类2.浮点型Python中的浮点型数据提供了17位数字的精度,但是计算机只能保证15个数字的精度。一旦浮点型数据的位数超过了17位,之后的数据就会被截断。print(3.12347698902871978504)#浮点数的有效位超过17位运行结果例如,在控制台窗口输入一个精度超过17位的浮点数。

3.123476989028722.4.1数据类型分类3.复数类型复数类型用于表示复数,复数由实部和虚部组成,一般形式为real+imagj或real+imagJ,其中real是实部,imag是虚部,j或J是虚部单位,虚部不能单独存在。例如,创建一个实部是3虚部是2的复数,如下所示:

a=3+2jprint(a)(3+2j)运行结果2.4.1数据类型分类3.复数类型通过complex()函数创建复数类型的数据,该函数的使用方式为complex(实部,虚部),我们需要根据需要传入实部和虚部。若是没有传入虚部,则虚部默认为0。示例如下:a=complex(3,2)#创建复数,分别传入实部和虚部print(a)b=complex(5)#创建复数,只传入实部print(b)(3+2j)(5+0j)运行结果通过字符“.”可以单独获取复数的实部和虚部。print(a.real)#获取复数的实部print(a.imag)#获取复数的虚部运行结果3.02.02.4.1数据类型分类4.布尔类型布尔类型用于表示逻辑判断的真或假,真对应的取值是True,假对应的取值是False,常见于控制程序的执行流程的场景。Python中逻辑判断后得到的布尔值都是False的情况:None;任何为0的数字类型,如0、0.0、0j;任何空的组合数据类型,如空字符串、空元组、空列表、空字典;2.4.1数据类型分类4.布尔类型布尔值可以使用bool()函数查看。

print(bool(‘

’))

#查看空字符串''的布尔值print(bool(10))

#查看整型数据10的布尔值print(bool(0.0))

#查看浮点型数据0.0的布尔值FalseTrueFalse运行结果2.4.1数据类型分类5.字符串类型字符串是由一系列字符组成的序列,包括字母、数字、标点符号等。Python中一般使用单引号、双引号或者三引号(三单引号或三双引号)创建字符串。'Failureisthemotherofsuccess' #这是一个字符串"Failureisthemotherofsuccess" #这也是一个字符串2.4.1数据类型分类6.元组类型元组可以保存任意数量、任意类型的元素,但这些元素不可以被修改。Python中一般使用小括号创建元组,元组中的元素以逗号分隔。(1,4.5,'python') #这是一个元组2.4.1数据类型分类7.列表类型列表可以保存任意数量、任意类型的元素,且这些元素可以被修改。Python中一般使用中括号创建列表,列表中的元素以逗号分隔,[1,4.5,‘python’] #这是一个列表2.4.1数据类型分类8.集合类型集合可以保存任意数量、任意类型的元素,但这些元素是无序的且唯一的。Python中一般使用大括号创建集合。{'apple','orange',1} #这是一个集合2.4.1数据类型分类9.字典类型字典可以保存任意数量的元素,元素是“Key:Value”形式的键值对,Key不能重复。Python中一般使用大括号创建字典,字典中的键值对以逗号分隔。#这是一个字典{'名称':'第二十四届冬季奥运会','举办城市':'中国北京','举办时间':'2022年2月4日'}2.4.2查看数据类型Python语言属于动态类型的语言,它在声明变量时无须显式地指定具体的数据类型,而是解释器在执行时会自动确定数据类型。若要知道变量保存的数据具体是什么数据类型,则可以通过type()函数进行查看。

empty_str=''print(type(empty_str))<class'str'>运行结果2.4.3数字类型转换函数功能说明int()将浮点型、布尔类型的值,或者符合数字类型规范的字符串转换为整型的值float()将整型的值,或者符合数字类型规范的字符串转换为浮点型的值complex()将其他数字类型的值,或者符合数字类型规范的字符串转换为复数类型的值bool()将任意类型的值转换为布尔类型的值数字类型转换的函数Python内置了一系列可以实现数据类型之间强制转换的函数。

2.4.3数字类型转换类型转换的示例代码:a=21.8print(type(a))a=int(a)print(a)print(type(a))b=Trueprint(type(b))b=int(b)print(b)print(type(b))c=float(a)print(c)print(type(c))d=complex(a)print(d)print(type(d))数字运算2.52.5.1运算符算术运算符赋值运算符比较运算符逻辑运算符成员运算符身份运算符运算符是一种特殊符号,用于告诉解释器对一个或多个操作数执行数学或逻辑操作,并返回操作后的结果。运算符分类2.5.1运算符算术运算符是比较简单的运算符,用于对两个操作数进行简单的数学运算,包括加减乘除等,并返回运算后的结果。下面以操作数a=2、b=8为例,介绍算术运算符的功能及示例。1.算术运算符运算符功能说明示例+加:使两个操作数相加,获取它们的和a+b,结果为10

-减:使两个操作数相减,获取它们的差a–b,结果为-6

*乘:使两个操作数相乘,获取它们的积a*b,结果为16

/除:使两个操作数相除,获取它们的商a/b,结果为0.25

//整除:使两个操作数相除,获取商的整数部分a//b,结果为0

%取余:使两个操作数相除,获取它们的余数a%b,结果为2

**幂:使两个操作数进行幂运算,获取a的b次幂a**b,结果为256

2.5.1运算符算术运算符既支持对相同类型的操作数进行运算,也支持对不同类型的操作数进行混合运算。在混合运算时,Python会强制将操作数的值进行转换,这些转换遵循如下原则:1.算术运算符1布尔类型的值进行算术运算时,将False和True视为数值0和1;2整型与浮点型进行混合运算时,将整型转化为浮点型;3其他类型与复数运算时,将其他类型转换为复数类型。2.5.1运算符赋值运算符的作用是将运算符右侧的操作数赋值给左侧的变量。若右侧的操作数是一个表达式,则需要先执行表达式,再将表达式执行后的结果赋值给左侧的变量。下面以操作数a=2,b=8为例,介绍赋值运算符的功能及示例。

2.赋值运算符运算符功能说明示例=等:将右侧操作数赋给左侧的变量a=b,a为8+=加等:将左侧变量的值加上右侧操作数的和赋给左侧变量a+=b,a为10-=减等:将左侧变量的值减去右侧操作数的差赋给左侧变量a–=b,a为-6*=乘等:将左侧变量的值乘以右侧操作数的积赋给左侧变量a*=b,a为162.5.1运算符赋值运算符的作用是将运算符右侧的操作数赋值给左侧的变量。若右侧的操作数是一个表达式,则需要先执行表达式,再将表达式执行后的结果赋值给左侧的变量。下面以操作数a=2,b=8为例,介绍赋值运算符的功能及示例。

2.赋值运算符运算符功能说明示例/=除等:将左侧变量的值除以右侧操作数的商赋给左侧变量a/=b,a为0.25//=整除等:将左侧变量的值整除右侧操作数的商的整数部分赋给左侧变量a//=b,a为0%=取余等:将左侧变量的值除以右侧操作数的余数赋给左侧变量a%=b,a为2**=幂等:将左侧变量值的右侧操作数次方的结果赋给左侧变量a**=b,a为2562.5.1运算符比较运算符的作用是比较运算符两边的操作数,以判断两个操作数之间的关系,并返回判断的结果,判断的结果只能是True或False。下面以操作数a=2,b=8为例,介绍比较运算符的功能及示例。

3.比较运算符运算符功能说明示例==比较左右两侧的操作数,若两者相同则为True,否则为Falsea==b不成立,结果为False!=比较左右两侧的操作数,若两者不相同则为True,否则为Falsea!=b成立,结果为True>

比较左右两侧的操作数,若左侧操作数大于右侧操作数则为True,否则为Falsea>b不成立,结果为False2.5.1运算符比较运算符的作用是比较运算符两边的操作数,以判断两个操作数之间的关系,并返回判断的结果,判断的结果只能是True或False。下面以操作数a=2,b=8为例,介绍比较运算符的功能及示例。

3.比较运算符运算符功能说明示例<

比较左右两侧的操作数,若左侧操作数小于右侧操作数则为True,否则为Falsea<b成立,结果为True>=比较左右两侧的操作数,若左侧操作数大于或等于右侧操作数则为True,否则为Falsea>=b不成立,结果为False<=比较左右两侧的操作数,若左侧操作数小于或等于右侧操作数则为True,否则为Falsea<=b成立,结果为True2.5.1运算符Python中的逻辑运算符包括or、and和not。

4.逻辑运算符or运算符用于实现逻辑或运算,等价于数学中的“或”;and运算符用于实现逻辑与运算,等价于数学中的“且”;not运算符用于实现逻辑非运算,等价于数学中的“非”。2.5.1运算符当使用or运算符连接两个操作数时,若左侧操作数的布尔值为True,则返回左侧操作数,否则返回右侧操作数。4.逻辑运算符result1=2+3orNoneprint(result1)result2=0or3+5print(result2)运行代码,结果如下所示。582.5.1运算符当使用and运算符连接两个操作数时,若and运算符左侧操作数的布尔值为False,则返回左侧操作数,否则返回右侧操作数。4.逻辑运算符result1=3-3and5print(result1)result2=3-8and5print(result2)运行代码,结果如下所示。052.5.1运算符当使用not运算符对一个操作数进行逻辑非运算时,若操作数的布尔值为False,则返回True,否则返回False。

4.逻辑运算符result1=not10-2print(result1)result2=notFalseprint(result2)运行代码,结果如下所示。FalseTrue2.5.1运算符成员运算符用于检测给定值是否存在字符串、列表、元组、集合、字典中,并返回检测后的结果。Python中提供了两个成员运算符,分别是in和notin,它们的功能如下。5.成员运算符in:如果给定值在字符串、列表等数据中,返回True,否则返回False。notin:如果给定值不在字符串、列表等数据中,返回True,否则返回False。words=‘abcdefg’

#定义一个变量,保存字符串类型的数据print(‘f’inwords)

#检测‘f’是否在字符串中,结果为Trueprint(‘c’notinwords)

#检测‘c’是否在字符串中,结果为False2.5.1运算符6.身份运算符is:检测两个对象的内存地址是否相同,相同返回True,否则返回False。isnot:检测两个对象的内存地址是否不同,不同返回True,否则返回False。Python中的身份运算符有is和isnot,用于检测两个对象的内存地址是否相同。a=b=10print(aisb)#检测a和b的内存地址是否相同,结果为Truea_address=id(a)

#获取a的内存地址print(a_address)b_address=id(b)

#获取b的内存地址print(b_address)a和b内存地址相同2.5.2运算符优先级Python支持使用多个不同的运算符连接简单表达式,实现相对复杂的功能,为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。运算符功能说明结合性or逻辑或自左至右and逻辑与自左至右not逻辑非自右至左in,notin成员检测自左至右is,isnot身份检测自左至右<,<=,>,>=,!=,==比较自左至右+,-加法,减法自左至右*,/,%,//乘法、除法,取余,整除自左至右**幂自右至左2.5.2运算符优先级示例代码:result=1+2*3print(result)运行代码,结果如下所示。7result=(1+2)*3print(result)示例代码:运行代码,结果如下所示。92.5.2运算符优先级运算符的结合性是指相同优先级的运算符在同一个表达式中,且没有括号的时候,运算符和操作数的结合方式,通常有自左至右和自右至左两种结合方式,大多数运算符的结合方式是自左至右。result=1+2–3print(result)运行代码,结果如下所示。0基本输入和输出2.62.6.1

input()函数input()是Python标准库内置的函数,该函数的功能是获取用户从键盘输入的数据,并将输入的数据以字符串的形式进行返回。input()函数在获取用户输入之前可先在控制台中输出提示信息。input(提示信息)提示信息可以省略,如果传入了提示信息,则会在用户输入之前显示在控制台上,以告诉用户应该输入什么内容。2.6.1

input()函数例如,获取用户输入的问题答案,具体代码如下:

question=input("世界上首座双奥之城是哪个城市?")print(question)运行代码,结果如下所示:世界上首座双奥之城是哪个城市?北京北京2.6.1

input()函数需要注意的是,无论用户在控制台输入的是数字、单个字母还是任何其他数据,input()函数都将其以字符串形式返回,示例代码如下:result=input()print(type(result))运行代码,结果如下所示:100000000<class'str'>2.6.2

print()函数print()是Python程序中经常出现的函数,该函数的功能是将数据输出到控制台,它可以输出任何类型的数据。print(数据1<,数据2,

..

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论