《完整版python基础重点梳理笔记.docx》由会员分享,可在线阅读,更多相关《完整版python基础重点梳理笔记.docx(5页珍藏版)》请在第一文库网上搜索。
1、Python变量和数据类型变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型。如果字符串本身包含怎么办?比如我们要表示字符串ImOK,这时,可以用括起来表示:Im0K类似的,如果字符串包含,我们就可以用括起来表示:*1earnPythoninimooc,如果字符串既包含又包含“怎么办?这个时候,就需要对字符串的某些特殊字符进行转义,Python字符串用进行转义:BobsaidV1,m0K.字符串前面加个前缀r,表示这是一个raw字符串,里面的字符就不需要转义了。例如:r,(V)/CS)f表示多行字符串,可以用表示:1ine11ine21ine3还
2、可以在多行字符串前面添加r,把这个多行字符串也变成一个raw字符串:Python在后来添加了对UniCodC的支持,以Unicode表示的字符串用u.表示,比如:printu,中文Python中布尔类型and和or运算的一条重要法则:短路计算。1 .在计算aandb时,如果a是Fa1se,则根据与运算法则,整个结果必定为Fa1se,因此返回a;如果a是True,则整个计算结果必定取决与b,因此返回b。2 .在计算aorb时,如果a是True,则根据或运算法则,整个计算结果必定为True,因此返回a;如果a是Fa1se,则整个计算结果必定取决于b,因此返回b。1ist和TUPIe类型1ist用把
3、IiSt的所有元素都括起来,就是一个IiSt对象。通常,我们会把IiSt赋值给一个变量。由于Python是动态语言,所以IiSt中包含的元素并不要求都必须是同一种数据类型,我们完全可以在IiSt中包含各种数据用-1这个索引来表示1ist最后一个元素,倒数第二个元素用-2,以此类推,注意不要越界。用1ist的append0方法,把元素追加到1ist的末尾;用IiSt的insert。方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。用IiSt的pop()方法总是删掉IiSt的最后一个元素,并且它还返回这个元素。如果要删除的元素a不在末尾,先定位的a的索引,例如a的索引是2,则用
4、pop(2)把a删除。对1ist中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,1ist包含的元素个数保持不变。tup1e是另一种有序的列表,中文翻译为元组tup1e和1ist非常类似,但是,tup1e-旦创建完毕,就不能修改了。tup1e创建tup1e和创建1ist唯一不同之处是用()替代了。Python规定,单元素tup1e要多加一个逗号“,”,这样就避免了歧义。例:t=(1,)条件判断和循环PythOn代码的缩进规则。具有相同缩进的代码被视为代码块。缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。在P
5、ython交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车if语句后接表达式,然后用:表示代码块开始。根据条件表达式的值为True或者Fa1se,分别执行if代码块或者e1se代码块。e1se后面有个“:”避免嵌套结构的if.e1se,我们可以用if.多个e1if.e1se.的结构,一次写完所有的规则。e1if意思就是e1seif。for循环可以依次把IiSt或tup1e的每个元素迭代出来:fornamein1:代码块井依次取出1ist1中的每个元素并将元素赋值给name。whi1e循环不会迭代1ist或tup1e的元素,而是根据表达式判断循环是否结束。whi1e表达式:Dic
6、t和Set类型Dict花括号表示这是一个diet,然后按照key:va1ue,写出来即可。最后一个key:va1ue的逗号可以省略。DiCt的特点:diet的第一个特点是查找速度快,第二个特点是存储的key-va1ue序对是没有顺序的,第三个特点是作为key的元素必须不可变。diet对象有一个VakJeS()方法,这个方法把diet转换成一个包含所有Va1Ue的1istSetset持有一系列元素,这一点和1ist很像,但是Set的元素没有重复,而且是无序的,这点和diet的key很像。创建set的方式是调用set()并传入一个1ist,IiSt的元素将作为set的元素。由于Set存储的是一组不
7、重复的无序元素,因此,更新Set主要做两件事:一是把新的元素添加到Set中,二是把已有元素从Set中删除。添加元素时,用Set的add()方法,删除Set中的元素时,用Set的remove。方法。函数在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。Python的函数返回多值其实就是返回一个tup1e。函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:deffn(
8、*args):printargsPython解释器会把传入的一组参数组装成一个tup1e传递给可变参数,因此,在函数内部,直接把变量args看成一个tup1e就好了。切片指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(S1iCe)操作符。例如:10:3,指取前3个元素,从索引0开始取,直到索引3为止,但不包括索引3。切片操作还可以指定第三个参数,例1:n,会每n个元素取出一个来。range()函数可以创建一个数列:ranged,101)对于1ist,既然Python支持1-1取倒数第一个元素,那么它同样支持倒数切片,记住倒数第一个元素的索引是倒序切片包含起始索引,不包含结束索
9、引。迭代Python中,迭代永远是取出元素本身,而非元素的索引。使用enumerate()函数,我们可以在for循环中同时绑定索引index和元素name实际上,enumerate()函数把:Adam,1isa,Bart,Pau1变成了类似:(0,Adam),(1,1isa),(2,Bart),(3,Pau)因此,迭代的每一个元素实际上是一个tup1eo如果我们知道每个tup1e元素都包含两个元素,for循环又可以进一步简写为:forindex,nameinenumerate(1):printindex,-,namediet对象有一个va1uesO方法,这个方法把diet转换成一个包含所有va
10、1ue的1ist;Iterva1uesO方法不会转换,它会在迭代过程中依次从diet中取出va1ue,所以iterva1ues()方法比va1ues()方法节省了生成1ist所需的内存。items0方法把diet对象转换成了包含tup1e的1ist,我们对这个1ist进行迭代,可以同时获得key和VaIUeoitems()也有一个对应的iteritems(),iteritems()不把diet转换成1ist,而是在迭代过程中不断给出tup1e,所以,iteritems()不占用额外的内存。x*Xforxinranged,11)这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成IiStO列表生成式的for循环后面还可以加上if判断:x*XforXinranged,11)ifx%2=0,有了if条件,只有if判断为True的时候,才把循环的当前元素添加到列表中。