版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块2Python语言基础
12.1基本输入输出
Python提供了两种基本的输出方式:表达式语句和print()函数。Python提供了input([参数])内置函数从标准输入读入一行文本,默认的标准输入是键盘。22.1.1基本输出1.基本输出方式Python提供了两种基本的输出方式:表达式语句和print()函数。print()函数很强大,可以输出各种类型的数据。>>>s='HelloWorld!'>>>s#表达式语句输出'HelloWorld!'>>>x=12.3>>>y=6.6>>>x+y#表达式语句输出18.9>>>print(x*y)#print()函数输出81.18>>>print(x,y)#print()函数输出12.36.632.1.1基本输出2.整数格式化输出整数格式化输出的规则是:用%d输出一个整数;用%wd输出一个整数,w是宽度值,如w>0则右对齐,w<0则左对齐,如w的宽度小于实际整数占的位数,则按实际整数宽度输出;用%0wd输出一个整数,w是宽度值,此时w>0右对齐,如果实际的数据长度小于w,则左边用0填充。42.1.1基本输出>>>a=123>>>print("|%d|"%a)|123|>>>print("|%6d|"%a)|123|>>>print("|%-6d|"%a)|123|>>>print("|%06d|"%a)|000123|>>>print("|%-06d|"%a)|123|>>>print("|%2d|"%a)|123|52.1.1基本输出3.浮点数格式化输出浮点数格式化输出的规则是:用%f输出一个浮点数,有效数字为7位,超过7位按四舍五入处理;用%w.pf输出一个浮点数,w是总宽度,小数位占p位(p>=0),如w>0则右对齐,w<0则左对齐,如w的宽度小于实际实数占的位数,则按实际宽度输出,小数位一定是p位,按四舍五入的原则进行。如p=0则表示不输出小数位,注意输出的符号、小数点都要各占一位。62.1.1基本输出>>>a=3.1415926>>>print("|%f|"%a)|3.141593|>>>print("|%8.2f|"%a)|3.14|>>>print("|%-8.3f|"%a)|3.142|>>>print("|%-8.0f|"%a)|3|72.1.1基本输出4.字符串格式化输出字符串格式化输出的规则是:用%s输出一个字符串;用%ws输出一个字符串,w是宽度值,如w>0则右对齐,w<0则左对齐,如w的宽度小于实际字符串占的位数,则按实际宽度输出。82.1.1基本输出>>>a="hello">>>print("|%s|"%a)|hello|>>>print("|%8s|"%a)|hello|>>>print("|%-8s|"%a)|hello|92.1.2基本输入Python提供了input([参数])内置函数从标准输入读入一行文本,默认的标准输入是键盘。input的参数可有可无,如果有参数的话,会在运行界面输出参数的内容,不换行。所以经常会在input参数中写一些用于提示用户输入的信息。执行到input函数时,我们在运行界面输入一些数据,然后敲击回车,就完成了本次输入。注意:input返回的是string类型,如果想得到数字或其他类型的数据,还需要进行类型转换。102.1.2基本输入>>>name=input()张三#从键盘输入“张三”后,敲回车完成输入>>>name张三#输出变量name的值>>>name=input("请输入你的姓名:")请输入你的姓名:张三
#在系统输出的“请输入你的姓名:”后输入“张三”>>>print("姓名:",name)姓名:张三112.2基本数据类型
在Python中的一切都是对象,常用的基本数据类型也是对象,常量、变量、数字类型、整型、浮点型、布尔型、复数、字符串、列表、元组、字典、集合是对象,zip、map、enumerate、filter等函数返回的也是对象,函数和类也是对象。Python中的对象有内置对象、标准库对象和扩展库对象,其中内置对象可以直接使用,标准库对象需要导入之后才能使用,扩展库对象需要先安装相应的扩展库然后才能导入并使用。122.2.1常量和变量1.常量常量指在程序运行过程中值不会改变的量。常量可以是数字,也可以是字符或字符串,还可以是一个列表、一个元组。例如:整数常量:0、1、-3、123、-6521等;浮点数常量:0.2、3.1415、-15.89等;字符串常量:'a'、”中”、'计算机'、”Hello_World”等;逻辑常量:True、False;列表常量:[1,2,3,4]、[0.1,0.3,0.5]等;元组常量:(1,2,3)、('a','b','c')等。132.2.1常量和变量2.变量变量是有名字的存储单元,存储单元中的值可以改变。在Python中,不需要事先声明变量名及其类型,直接起个名字并赋值即可创建一个变量。例如:x=3这条语句就创建了一个变量,变量名是x,变量的值是3。我们接着写一个x=”Hello”,变量x的值就由3变成了字符串”Hello”。在Python中,变量没有类型,我们所说的"类型"是指变量所引用的内存中对象的类型。Python中的变量并不直接存储值,而是存储了值的内存地址或者引用,这也是Python中同一个变量可以赋值为各种不同类型的值的原因。142.2.1常量和变量在给变量命名时,要遵循以下规则:(1)变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。但以下划线开头的变量在Python中有特殊含义。(2)变量名区分大小写。例如Sum和sum是两个不同的变量。(3)不能使用关键字作变量名。可以导入keyword模块后,使用print(keyword.kwlist)查看所有Python关键字。根据上述规则,name、DAY、a123、_a、word12_和x_y_z等变量名是有效的,而1a、%stu、a-b、x#yz、M.John、HelloWorld等变量名是无效的。152.2.2数字类型Python中有六个标准的数据类型:数字(Numbers)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionaries)和集合(Sets)。本小节我们先来了解一下数字类型。数字类型,顾名思义是用来存储数值的。Python支持的数字类型有:整型(int)、浮点型(float)、布尔型(bool)和复数(complex)。162.2.2数字类型1.整型通常被称为整数或整数类型,是正整数、负整数或零,不带小数点。Python支持任意大的整数,具体可以大到什么程度仅受内存大小的限制。整数类型除了常见的十进制整数,还有:二进制。以0b开头,每一位只能是0或1。八进制。以0o开头,每一位只能是0、1、2、3、4、5、6、7这八个数字之一。十六进制。以0x开头,每一位只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e之一。172.2.2数字类型2.浮点型浮点型也就是实数,例如:1.23、-66.7、0.1234、5.0等。浮点型也可以使用科学计数法表示,例如3.5e2,等同于3.5×102。由于精度的问题,对于实数运算可能会有一定的误差,应尽量避免在实数之间直接进行相等性测试,而是应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据。>>>a,b=0.6,0.2>>>a–b==0.4False>>>abs(a-b-0.4)<1e-6#abs是求绝对值的函数,1e-6表示10的-6次方True182.2.2数字类型3.布尔型从Python2.3开始Python中添加了布尔类型。布尔类型有两个值:True和False。对于值为0的数字、空集(空列表、空元组、空字典等)在Python中对应的布尔类型值都是False。192.2.2数字类型4.复数复数由实数部分和虚数部分构成,可以用a+bj、a+bJ或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。>>>x=-3+5.7j>>>x(-3+5.7j)>>>x.real,x.imag#real指实部,imag指虚部(-3.0,5.7)202.2.3字符串在Python中,没有字符的概念,只有字符串。即使是单个字符也是字符串。Python使用单引号、双引号、三单引号、三双引号作为定界符来表示字符串,不同的定界符之间可以互相嵌套。其中三单引号和三双引号可以定义多行的字符串。另外,Python3.x全面支持中文,中文和英文字母都作为一个字符对待,甚至可以使用中文作为变量名。>>>a='Python'#使用单引号作为定界符>>>b="欢迎光临!"#使用双引号作为定界符>>>c='''你好,很高兴认识你'''#使用三单引号作为定界符>>>d='''Hesaid,"Thankyou"'''#不同定界符之间互相嵌套>>>a,b,c,d('Python','欢迎光临!','你好,\n很高兴认识你','Hesaid,"Thankyou"')212.2.4列表列表是Python中最常用的数据类型。列表是写在方括号[]之间、用逗号分隔开的元素列表,列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套),列表中的元素是可以改变的。示例:list1=['baidu','google',12,34]list2=[1,2,3,4,5]list3=["a","b","c","d"]list4=['张三','李四',['王五','马六']]list5=[]#空列表222.2.4列表列表中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从0开始,然后是1、2、3……,以此类推。可以通过“列表名[索引下标]”的形式访问列表中的元素。>>>Weekday=['Monday','Tuesday','Wednesday','Thursday','Friday']>>>print(Weekday[0])Monday>>>Weekday[0]=1>>>print(Weekday[0:3])#输出下标从0到2之间的元素[1,'Tuesday','Wednesday']232.2.5元组元组与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开,元组中的元素类型也可以不相同。元组中元素的访问和列表一样,都是通过下标索引进行访问操作。示例:tuple1=('a','b','c','d','e')tuple2=('ab',86,2.66,'cd')tuple3=()#空元组242.2.5元组注意:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。>>>num=(67)>>>type(num)#不加逗号是整型<class'int'>>>>num=(67,)>>>type(TupNum)#加上逗号是元组<class'tuple'>252.2.6字典字典是Python语言中唯一的一种映射类型,字典用花括号{}标识,它是一个无序的“键:值”对集合。字典的关键字必须为不可变类型,也就是说list和包含可变类型的tuple不能做关键字。在同一个字典中,关键字还必须互不相同。示例:dict1={'name':'John','age':21}dict2={1:'a',2:'b',3:'c',4:'d'}dict3={1:100,0.5:50,0:0}dict4={}#空字典262.2.6字典字典中的数据是无序排列的,字典不能像列表、元组一样用下标值做索引,可以通过“字典名[健值]”的格式对字典元素进行访问。>>>d1={'no':'001','name':'John','age':19}>>>print(d1['age'])#输出键为'age'的值19>>>d1['age']=20#修改键为'age'的值>>>print(d1)#输出完整的字典{'no':'001','name':'John','age':20}>>>print(d1.keys())#输出所有键dict_keys(['no','name','age'])>>>print(d1.values())#输出所有值dict_values(['001','John',20])272.2.7集合集合是由不重复元素组成的无序的集。可以使用大括号{}或者set()函数创建集合。注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。示例:set1={'Tom','Mary','Jack','Rose'}set2={1,2.3,'abc'}set3=set('12345')#等效于set3={'1','2','3','4','5'}set4=set()#空集合282.2.7集合Python语言的集合类型同数学集合类型一样,也有求集合的并集、交集、差集、对称差集运算。>>>a=set('abcdefgh')>>>b=set('alaczm')>>>print(a){'f','b','d','c','g','e','h','a'}>>>print(b){'z','c','m','a','l'}>>>print(a|b)#a和b的并集(a或b中存在的元素){'f','b','d','c','g','e','z','h','a','l','m'}>>>print(a&b)#a和b的交集(a和b中同时存在的元素){'c','a'}>>>print(a-b)#a和b的差集(a中存在且b中不存在的元素){'f','b','d','g','e','h'}>>>print(a^b)#a和b的对称差集(a和b中不同时存在的元素){'f','b','d','g','e','z','h','l','m'}292.2.8数据类型转换Python中可以通过内置的type()函数来查询变量所指的对象类型。>>>a,b,c,d=77,3.14,True,-8+5j>>>print(type(a),type(b),type(c),type(d))<class'int'><class'float'><class'bool'><class'complex'>有时候,我们需要对对象的类型进行转换。表2-1所列的内置函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。302.2.8数据类型转换31函数描述int(x)将x转换为一个整数float(x)将x转换到一个浮点数complex(real[,imag])创建一个复数str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象list(s)将序列s转换为一个列表tuple(s)将序列s转换为一个元组2.2.8数据类型转换32函数描述dict(d)创建一个字典,d必须是一个(key,value)元组序列set(s)转换为可变集合frozenset(s)转换为不可变集合chr(x)将一个整数转换为一个字符ord(x)将一个字符转换为它的整数值bin(x)将一个整数转换为一个二进制字符串oct(x)将一个整数转换为一个八进制字符串hex(x)将一个整数转换为一个十六进制字符串2.2.8数据类型转换>>>print(int(3.6))#浮点数转换为整数3>>>print(float(57))#整数转换为浮点数57.0>>>print(float('123.4'))#字符串转换为浮点数123.4>>>print(complex(1.5,2))#实数转换为复数(1.5+2j)>>>print(complex('36'))#字符串转换为复数(36+0j)>>>str(1234)#整数转换为字符串'1234'>>>str([1,2,3])#列表转换为字符串'[1,2,3]'332.2.8数据类型转换>>>list('12345')#字符串转换为列表['1','2','3','4','5']>>>set('1112234')#字符串转换为集合,自动去除重复元素{'4','2','3','1'}>>>chr(65)#返回数字65对应的字符'A'>>>ord('a')#返回字符的Unicode编码值97>>>bin(61)#整数转换为二进制字符串'0b111101'>>>oct(95)#整数转换为八进制字符串'0o137'>>>hex(678)#整数转换为十六进制字符串'0x2a6'342.3运算符程序中经常需要对数据进行运算。要进行运算,就需要用到运算符。运算符是表明做何种运算的符号。Python中的常用运算符有算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符、身份运算符和赋值运算符等。352.3.1算术运算符
36运算符描述实例+加-两个对象相加或得到一个正数12+23运算结果为35-减-两个对象相减或得到一个负数5.6-2.4运算结果为3.2*乘-两个数相乘或是返回一个被重复若干次的字符串2.1*4运算结果为8.4;'ab'*3运算结果为'ababab'/除-两个数相除15/4运算结果为3.75%取模-返回整除后的余数14%4运算结果为2**幂-返回x的y次幂4**3为4的3次方,运算结果为64//取整除-取商的整数部分9//2运算结果为42.3.2关系运算符
关系运算符又称比较运算符,用来比较两个数据的大小。如果关系成立,运算结果为True,否则为False。Python中的关系运算符可以连用,要求操作数之间必须可比较大小。例如:6<7<8#运算结果为True'a'<'b'>'c'#运算结果为False372.3.2关系运算符
38运算符描述实例>
大于-返回x是否大于y12>29运算结果为False<
小于-返回x是否小于y'a'<'b'>=大于等于-返回x是否大于等于y6.8>=10运算结果为False<=小于等于-返回x是否小于等于y5<=5运算结果为True==等于-比较两个对象是否相等'A'=='a'运算结果为False!=不等于-比较两个对象是否不相等'A'!='a'运算结果为True2.3.3逻辑运算符
逻辑运算符用于实现逻辑运算,用于将多个逻辑值组成一个逻辑表达式。由于python中的任何数据类型都有逻辑值,所以逻辑运算符可以对任意类型数据进行操作,运算结果也可以是任意类型。表2-4是各种类型数据对应的布尔值。39数据类型FalseTrue整型0其他浮点型0.0其他字符串''其他列表[]其他元组()其他字典{}其他2.3.3逻辑运算符
Python中使用“not”、“and”、“or”这三个单词分别作为逻辑运算“与”、“或”、“非”的运算符,其中not为单目运算符,and和or为双目运算符。3种逻辑运算符的功能见表2-5。40运算符描述实例not逻辑非-若操作数的布尔值为False则返回True,否则返回Falsenot5-3运算结果为Falseand逻辑与-若左操作数的布尔值为False,则返回左操作数(若为表达式,返回计算结果),否则返回右操作数的执行结果8-8and9运算结果为0;5and'a'运算结果为'a'or逻辑或-若左操作数的布尔值为True,则返回左操作数(若为表达式,返回计算结果),否则返回右操作数的执行结果0or3.5运算结果为3.5;5>3or0运算结果为True2.3.3逻辑运算符
如果在一个逻辑表达式中,同时出现了多个逻辑运算符,要考虑它们的优先级。3种逻辑运算符的优先级如下:not>and>or。例如:1or2andnot3该表达式等同于1or(2and(not3))。首先计算not3的运算结果为False,再计算2andFalse的结果为False,最后计算1orFalse的结果为1,所以表达式的运算结果是1。412.3.4位运算符位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。Python中的位运算符见表2-6。42运算符描述实例&按位与-参与运算的两个值,如果两个对应的二进制位都为1,则该位的结果为1,否则为060&13运算结果为12|按位或-只要对应的两个二进制位有一个为1时,结果位就为160|13运算结果为61^按位异或-当两个对应的二进制位相同时结果为0,相异时结果为160^13运算结果为49~按位取反-对数据的每个二进制位取反,即把1变为0,把0变为1~60运算结果为-61<<
左移–把<<左边的运算数的各二进制位全部左移若干位,<<右边的数字指定移动的位数,高位丢弃,低位补060<<2运算结果为240>>
右移-把>>左边的运算数的各二进制位全部右移若干位,>>右边的数字指定移动的位数,低位丢弃,高位补060>>2运算结果为152.3.4位运算符60的二进制数是00111100,13的二进制数是00001101,60&13=00111100&00001101=00001100,运算结果对应的十进制数是12。60|13=00111100|00001101=00111101,运算结果对应的十进制数是61。60^13=00111100^00001101=00110001,运算结果对应的十进制数是49。~60=~00111100=11000011,运算结果对应的十进制数是-61。60<<2,把00111100左移两位得到11110000,运算结果对应的十进制数是240。60>>2,把00111100右移两位得到00001111,运算结果对应的十进制数是15。432.3.5成员运算符
成员运算符用于成员测试,即测试一个对象是否包含另一个对象。Python中的成员运算符见表2-7。44运算符描述实例in如果在指定的序列中找到值返回True,否则返回Falsexiny,如果x在y序列中运算结果为True,否则为False。notin如果在指定的序列中没有找到值返回True,否则返回Falsexnotiny,如果x不在y序列中运算结果为True,否则为False。例如:'stu'in'student',运算结果是True。'a'notin'student',运算结果是True。6inrange(1,10),运算结果是True。
6in[1,2,3,4,5],运算结果是False。
2.3.6身份运算符
Python的身份运算符主要用于判断两个变量是否引用自同一个对象。Python中的身份运算符见表2-8。45运算符描述实例isis是判断两个标识符是不是引用自一个对象xisy,类似id(x)==id(y)。如果引用的是同一个对象运算结果为True,否则为False。isnotisnot是判断两个标识符是不是引用自不同对象xisnoty,类似id(a)!=id(b)。如果引用的不是同一个对象运算结果为True,否则为False。注:id()函数用于获取对象的内存地址。
2.3.6身份运算符
num1=100num2=100print(num1isnum2)代码运行后,输出True。注意区分身份运算符和比较运算符。简单来说,身份运算符的“is”用于判断两个变量引用对象是否为同一个(同一块内存空间),比较运算符的“==”用于判断两个变量的值是否相等。462.3.7赋值运算符
运算符描述实例=简单的赋值运算符c=a+b表示将a+b的运算结果赋值给c+=加法赋值运算符c+=a等效于c=c+a-=减法赋值运算符c-=a等效于c=c-a*=乘法赋值运算符c*=a等效于c=c*a/=除法赋值运算符c/=a等效于c=c/a%=取模赋值运算符c%=a等效于c=c%a**=幂赋值运算符c**=a等效于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园食堂保温工作制度
- 气候变化应对法律制度完善与国际合作机制创新研究-基于2024年碳达峰碳中和目标下环境法治建设实证分析
- 基于移动互联网的社区服务互助模式构建分析研究 计算机科学与技术专业
- 文体用品公司工作管理办法
- 肺动脉血栓栓塞的介入治疗总结2026
- 2026年儿童健康管理试卷及答案
- 2026年生物进化论考点解析试卷
- 正压力对石墨超润滑的影响及基于石墨超润滑异质性结构的摩擦学研究
- 止嗽散加味治疗风邪犯肺型喉源性咳嗽的疗效与机制探究
- 2026.4.13 桶装润滑油本森关节码垛机器人
- 2025年信阳职业技术学院单招职业技能考试试题及答案解析
- 保洁保安岗位职责培训
- 老年骨折术后快速康复(ERAS)策略
- 常州2025年江苏常州市锡剧院公开招聘企业用工工作人员5人笔试历年参考题库附带答案详解
- 并购项目尽职调查清单及风险提示模板
- 2026.01.01施行《招标人主体责任履行指引》
- 下肢静脉血栓诊疗指南
- 金河乳业市场调研汇报及战略建议报告
- 2025年小学生人工智能知识竞赛试卷及参考答案
- 2025海南三亚市纪委监委(市委巡察办)招聘下属事业单位工作人员3人(第1号)笔试考试参考试题及答案解析
- 健美操课教案(2025-2026学年)
评论
0/150
提交评论