暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python那些有用的小知识点1

Python大数据与SQL优化笔记 2019-03-25
134


1. global 修改全局变量

    a=5
    def change():
    a=3
    change()
    print(a) # 5


    ######################################
    a=5
    def change():
    global a
    a=3
    change()
    print(a) # 3


    2. Python GIL (来源于网络,感觉解释的比较好  程序IT圈 )

    GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。

    多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大


    3.assert()方法,断言成功,则程序继续执行,断言失败,则程序报错

      a=7
      assert a>5
      print('asset go on!~')


      assert a>9
      print('asset failed!~')


      asset go on!~
      File "C:/Users/Augus/PycharmProjects/mystudy/knowlage.py", line 5, in <module>
      assert a>9
      AssertionError


      4.map函数,这个函数的意思就是将function应用于iterable的每一个元素,结果以map的形式返回。常用lambda一起使用的

      格式:map(function, iterable, …)

      function: 自定义函数,内置函数等

      iterable:可迭代对象,如列表,元组,字符串,并且map后面可以接多个iterable对象


        def maptest(a):
        return a*a


        print(list(map(maptest,[1,2,3]))) #自定义函数


        [1, 4, 9]




        a=list(map(str,'python')) # 内置函数
        print(a)


        ['p','y','t','h','o','n']


        lambda函数:
        print(list(map(lambda x: x ** 2, [1, 2, 3,]))) #lambda x: x ** 2相当于上面的自定义函数


        [1, 4, 9]


        5.Glob()查找文件

          import glob #查询一类文件


          files = glob.glob('*.py')
          print(files)


          ['knowlage.py', 'log.py', 'slice.py']

            获取多类文件


            import glob,itertools


            # files = glob.glob('*.py')
            # print(files)


            def get_files_miltiple(*args):
            return itertools.chain.from_iterable(glob.glob(pat) for pat in args)


            for file in get_files_miltiple("*.py","*.log"):
            print(file)


            文章转载自Python大数据与SQL优化笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论