python基础知识1

来源:互联网 发布:php 获得父类的属性 编辑:程序博客网 时间:2024/06/03 22:50
1、并发和并行

     你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也 不支持并行。
     你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持 并发。
     你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。

     并发的关键是你有处理多个任务的能力,不一定要同时。
     并行的关键是你有同时处理多个任务的能力。

     并发和并行的关键点在于同时。

2、map()函数
 
    map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,
    得到一个新的 list 并返回。

    例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

    如果希望把list的每个元素都作平方,就可以用map()函数:    
       因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

    def f(x):
        return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    输出结果:[1, 4, 9, 10, 25, 36, 49, 64, 81]
    注意:map()函数不改变原有的 list,而是返回一个新的 list。

    利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

    由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

3、
    upper() 方法将字符串中的小写字母转为大写字母
    str.upper()

    lower() 将字符串中的大写转小写
   
4、python 匿名函数

     当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

     在Python中,对匿名函数提供了有限支持。还是以map()函数为例,除了定义一个f(x)的函数外,还可以直接传入匿名函数:
             map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])

                  [1, 4, 9, 16, 25, 36, 49, 64, 81]


     通过对比可以看出,匿名函数lambda x: x * x实际上就是:
     def f(x):
         return x * x

 
        关键字lambda表示匿名函数,冒号前面的x表示函数参数。    
    匿名函数有个限制,就是只能有一个表达式,不用写return,返回 值就是该表达式的结果。

    用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。
    此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
         f = lambda x: x * x
         f
        <function <lambda> at 0x10453d7d0>
        f(5)
        25

       同样,也可以把匿名函数作为返回值返回,比如:def build(x, y):
                                                                                            return lambda: x * x + y * y



5、‘ 7w876543217w'怎么拆分成[7w,87,65,43,21,7w]

          s='sef1234324sdf24sf'
          lis = [s[i:i+2] for i in range(0,len(s),2)]
          print lis
          ['se', 'f1', '23', '43', '24', 'sd', 'f2', '4s', 'f']