Python 入门

在Python中 , 默认情况下 , print()语句输出后会自动换行 , 如果要一次输出多个内容 , 并且不换行 , 可以将要输出的内容使用逗号分隔!!!
"""流程控制语句:1.if表达式:语句块2.if表达式:语句块else:语句块3.if...elif...else4.if语句的嵌套循环语句:whilefor...in对象:循环体循环嵌套breakcontinue""""""序列:一块用于存放多个值的连续内存空间,按照一定顺序排列,每一个值(称为元素)都分配一个数字,称为索引或位置.通过索引可以取出相应的值!Python中内置了5个常用的序列结构:1.列表2.元组3.集合4.字典5.字符串以上序列结构的有几个通用操作,其中,集合和字典不支持索引、切片、相加和相乘操作!索引:[x]->names=["tony","wenxin","文心"]names[0]#输出:tony负数也可以作为索引(-1)切片:可以访问一定范围内的元素,并生成一个新的序列:names[start:end:step]start:开始位置(包括),不指定,默认为0end:结束位置(不包括),不指定,默认为序列的长度step:步长,不指定,默认为1,最后一个:也可以省略names[2:]输出:["文心"]names[1:2]输出:["wenxin"]names[0:2:2]输出:["tony"]如果要复制整个序列,可以将start和end参数都省略,中间添加冒号:names[:]相加:+(相同类型、不去重、连接),相同类型:通过列表、元组、集合等,序列中的元素类型可以不同.乘法:*原来序列被重复n次的结果.[None]*3in:检查某个元素是否为序列的成员(某个元素是否包含在某个序列中)valueinsequence内置函数计算序列的长度、最大值和最小值:len()max()min()其他内置函数及作用:list():将序列转换为列表str():将序列转换为字符串sum():计算元素和sorted():对元素进行排序reversed():反向序列中的元素enumerate():将序列组合为一个索引序列,多用在for循环中""""""#列表:由一系列按特定顺序排列的元素组成的 。 内置的可变序列 。 #元素都放在一对[]中,相邻元素间使用逗号','分隔开.#内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且同一个列表中,#元素的类型可以不同的#创建num=[7,12,45,19,23,29]#空列表name=[]#list(data):data表示可以转换为列表的数据,其类型可以是rangge对象、字符串、元组#或其他可迭代类型的数据list=list(range(10,20,2))print(list)#删除列表dellistname(删除前要保证列表是存在的)#访问列表元素[索引]#遍历'''foriteminlistname:输出itemforindex,iteminenumerate(listname):输出index和item#index索引item元素值'''#添加、修改、删除列表元素"""添加:+:也可以实现为列表添加元素,但执行速度比使用列表对象的append()方法慢,建议使用append(),append()在列表的末尾追加元素.listname.append(obj)insert():也可以向列表的指定位置插入元素,效率没append()高,不推荐!listname.extend(seq):一个列表中的全部元素添加到另一个列表中!修改:listname[x]=value删除:根据索引:dellistname[x]根据元素值:listname.remove(name)删除前判断元素是否存在iflistname.count(value)>0:listname.remove(value)"""#对列表进行统计和计算"""#获取指定元素出现的次数:listname.count(value)#获取指定元素首次出现的下标:listname.index(value)元素不存在,会抛出异常.#统计数值列表的元素和:sum(iterable,[,start])iterable:要统计的列表start:统计从哪个数开始(包含),没指定,默认为0"""#对列表进行排序"""1.使用列表对象的sort()方法:排序后原列表中的元素顺序将发生改变.只为列表定义!listname.sort(key=None,reverse=False)#对中文内容支持不太好key:指定在进行比较之前要在每个列表元素上进行调用的函数,例如,key=str.lower:表示排序时不区分大小写key形参的值应该是一个函数,它接受一个参数并返回一个用于排序的键.只调用一次!reverse:True:降序排列;False:升序排列(默认)"""student_tuples=[('john','A',15),('jane','B',12),('dave','B',10)]print("排序前的列表:",student_tuples)#key(('john','A',15))student_tuples.sort(key=lambdastudent:student[2])print("排序后的列表:",student_tuples)#列表推导公式"""#快速生成一个列表,或者根据某个列表生成满足指定需求的列表.1.list=[Expressionforvarinrange]Expression:表达式,用于计算新列表的元素var:循环变量range:采用range()函数生成的range对象2.newlist=[Expressionforvarinlist]newlist:新生成的列表名称list:用于生成新列表的原列表3.newlist=[Expressionforvarinlistifcondition]condition:条件表达式,用于指定筛选条件"""#1importrandomrandomNumber=[random.randint(10,100)foriinrange(10)]print("随机数:",randomNumber)#2price=[1200,5400,2999,6200,1999,8888]sale=[int(x*0.5)forxinprice]print("原价格:",price)print("打5折的价格:",sale)#3price=[1200,5400,2999,6200,1999,8888]sale=[xforxinpriceifx>5000]print("原价格:",price)print("价格高于5000的:",sale)#二维列表的使用(行,列)"""直接定义:[['床','前','明','月','光'],['疑','是','地','上','霜'],['举','头','望','明','月'],['低','头','思','故','乡']]for循环创建列表推导公式创建创建二维数组后,访问方式:listname[x][y]"""#直接创建poem=[['床','前','明','月','光'],['疑','是','地','上','霜'],['举','头','望','明','月'],['低','头','思','故','乡']]print("直接创建:",poem)print(len(poem))#for循环创建num=[]foriinrange(4):num.append([])forjinrange(5):num[i].append(j)print("for循环创建:",num)#列表推导公式创建arr=[[jforjinrange(5)]foriinrange(4)]print("列表推导公式创建:",arr)#访问foriinrange(len(poem)):print(poem[i])foriinrange(len(num)):forjinrange(len(num[i])):print(num[i][j],end="")print("",end="n")#元组(tuple):与列表类似,也是由一系列按特定顺序排列的元素组成,但它是不可变序列!!!#元组也可称为不可变得列表 。 ()"逗号"分隔#内容上,可以是整数、实数、字符串、列表、元组等任何类型!#在同一个元组中,元素的类型可以不同,因为它们之间没有任何关系!#通常情况下,元素用于保存程序中不可修改的内容.#元组和列表结构相似,主要区别:元组是不可变序列(不可以单独修改),列表是可变序列(任意修改)!"""元组的创建和删除:1.tuplename=(element1,element2,...)注意:元组中的小括号(),并不是必须的,只要将一组元素值用逗号隔开,Python就可以视其为元组!name="tony","wenxin","sunwentony"创建的元组只包括一个元素,需要在元素的后面加一个逗号(,):name=("tony",)2.空元组tuplename=()3.tuple(data):data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或其他可迭代类型的数据.tuple(range(10,20,2))4.删除元组:deltuplenamedel语句在实际开发时,并不常用.Python自带的垃圾回收机制可以自动销毁不用的元组!name=("tony","wenxin","sunwentony")delname5.访问:1.索引2.切片3.for遍历name[0]name[:3]fornicknameinname:print("姓名:"+nickname,end="")6.修改:name[0]="sun"#元组是不可变序列,不能对它的单个元素值进行修改,但可以对元组进行重新赋值.name=("tony","wenxin","sunwentony")name=("文心","wenxin","sunwentony")#对元组进行重新赋值对元组进行连接组合!name=("tony","wenxin","sunwentony")print("原元组:",name)name=name+("什么","test")print("组合后:",name)7.元组推导式:类似列表推导式,只需要将[]该为(),和列表推导式不同的是,元组推导式生成的结果是一个生成器对象.要使用该生成器可以将其转换为元组或者列表,转换为元组用tuple()函数,列表用list()函数.列表和元组的区别:1.列表可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可修改,除非整体替换.2.列表可以使用append(),extend(),insert(),remove(),pop()等方法实现添加和修改,元组没有这几个方法.3.列表可以使用切片访问和修改列表中的元素.元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改.4.元组比列表的访问和处理速度快,所以当只是对其中的元素进行修改,建议使用元组.5.列表不能作为字典的键,而元组可以."""name="tony","wenxin","sunwentony"fornicknameinname:print("姓名:"+nickname,end="n")#enumerate()函数用于将一个可遍历的数据对象(如列表或元组)组合为一个索引序列,#同时列出数据和数据下标,一般在for循环中使用.forindex,iteminenumerate(name):print("姓名"+str(index)+":"+item,end="n")name=("tony","wenxin","sunwentony")name=("文心","wenxin","sunwentony")print("对元组进行重新赋值:",name)#在进行元组连接时,连接的内容必须都是元组.#不能将元组和字符串或者列表进行连接.name=("tony","wenxin","sunwentony")print("原元组:",name)name=name+("什么","test")print("组合后的元组:",name)#元组推导公式importrandomrandomNumber=(random.randint(10,100)foriinrange(10))#打印查看randomNumber的类型print("randomNumber的类型:",type(randomNumber))#转换为列表#print("转换为列表",list(randomNumber))#转换为元组#print("转换为元组",tuple(randomNumber))#用for或__next__()方法对生成器对象进行遍历#在Python中,一般循环一边计算的机制,称为生成器:generator,遍历后原生对象不存在!#生成器也是可迭代对象!foriinrandomNumber:#输出元素的值print(i,end="")print("n"*10)#字典:与列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以键值对的形式存放的.#key-value,键是唯一的,而值可以有多个."""字典的主要特征:字典有时也称为关联数组或散列表(hash)1.通过键不是索引来读取2.任意对象的无序集合:无序,各项从左到右随机排序,这样可以提高查找效率.3.可变的,且可以任意嵌套:可以在原处增长或缩短(无须生成一个副本),且支持任意深度的嵌套(即它的值可以是列表或其他的字典)4.键必须唯一:不允许同一个键出现两次,如果出现两次,则后一个值会被记住.5.键必须不可变:可以使用数字,字符串或元组,但不能使用列表!""""""字典的操作:1.创建和删除创建:key和value之间使用冒号分隔,相邻两个元素使用逗号分隔,所有元素放在一对"{}"中dictionary={'key1':'value1',...}key1:元素的键,必须是唯一的,并且不可变,例如,可以是字符串、数字或者元组value1:元素的值,可以是任何数据类型,不是必须唯一的.information={"name":"文心","age":18,"hobby":"basketball


    推荐阅读