Python学习

1、python中的标识符是区分大小写的。

2、以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

3、global 代表是全局变量

4、可变参数参数带*就代表是可变参数,如果要把list或者元组转成可变参数也只需简单的前面加上*。关键字参数,可以给函数传递一个具名的参数,前面带**标识。和可变参数的对比就是,可变参数是数据按照顺序的传过来,有时候不知道对应的序号,这时候关键字参数就比较方便了,直接找到对应的名字的参数,拿到并去处理。相应的和可变参数一样,关键字参数的函数也可以传一个前面带**的字典进去。

5、命名关键字参数,是需要有具体名字限定的时候所使用的可变关键字参数,就是在关键字参数的基础上进行名字的限定,用*当做分割符号,来表示后面的参数名字是命名关键字,如果前面出现了可变参数,那么可变参数后面的参数,默认就是命名关键字参数了。

6、切片是处理字符串、数组、元组的方式,:就可以做处理了,这个相当简单,:后跟着:代表要隔着多少个取。

7、列表生成式,比如[x*x for x in range(1,11)] ,就可以快速的生成1-10的平方所组成的数组。还可以增加if限定、多重for,简单的理解就是前面的是结果表达式 ,后面的是对于前面表达式的解释。

8、列表生成器,如果要生成100w个数据,不能使用列表生成式,因为会浪费大量内存,所以要边读边创建,就需要列表生成器,只需要简单的把[]替换成()就可以了。而且可以指定函数来当做生成器,这个也生成器好像就是es6里面的generator,每次调用都会返回不同的返回值。相比较生成器() ,使用函数来得到生成器更加让人容易理解,但()方式却非常简单,这个可以加速开发,简单的时候()就好了,复杂的时候再自己去写函数来创造生成器。

9、map和reduce,map是依次把流的没一个元素进行转换;reduce是依次把流中的元素代入函数进行处理,处理完了以后用前面的函数和后面的函数再次代入函数进行处理。

10、functools.partial可以固化原来的函数的参数,‘生成’一个新的函数(拥有原先固化参数的函数)。比如int('100',base=2),输出2进制的100,这时候用int2 = functools.partial(int,base=2) ,int2函数默认就是生成2进制的。

11、import导入的是全文件moudle,from……import导入的是一部分,导入的时候要是想导入某个moudle的其中一个py文件,那就直接引用,但是使用的时候需要加上moudle的名字.xxx 这样去使用。

你可能感兴趣的:(Python学习)