内置函数与程序模块

  • 一些常见的内置函数

    函数 参数
    sorted(iterable[,key,reverse]) iterable为原序列,key为排序参考位置,reverse若为true则降序,false则升序
    map(function,iterable1[,iterable2......]) 调用参数序列的每一个元素进入函数,每次返回函数返回值
    zip([iterable,...]) 将列表打包成元组,最好是两个以上,且返回值是一个对象(py3.x)
    eval() 计算表达式并返回值,必须是数字
    exec() 运行程序返回结果
    all() 参数都是True时返回True,否则False
    any() 参数有一个为True就返回True
    • sorted()

      a=[5,4,1]
      b=sorted(a)
      print(a) 
      #[5,4,1]
      print(b)
      #[1,4,5]
      student=[('xx,51,11'),('李四',81,12),('王五',100,10)]
      print(sorted(student,key=lambda s:s[2],reverse=True))
      #按照年纪从大到小排列
      #[('李四',81,12),('xx,51,11'),('王五',100,10)]
      
    • map()

      print(list(map(lambda x:x**2,[1,2,3,4])))
      #[1,4,9,16]
      print(list(map(lambda x,y:x+y,[12,13,14],[1,2,3])))
      #[13,15,17]
      
    • zip()

      a=[1,2,3,4]
      b=[1,2,3]
      print(list(zip(a,b)))
      # [(1, 1), (2, 2), (3, 3)]
      print(list(zip(b)))
      #[(1,), (2,), (3,)]
      print((zip(a,b))
      #<zip object at 0x2b41e9a00448>
      
    • eval(),exec()

      a=eval(input())
      print(a)
      '''
      >>111
      111
      >>asdf
      NameError: name 'asd' is not defined
      '''
      
      exec(print('hello'))
      #hello
      
  • 程序结构

    • 调用文件名(需在同一目录下)

      • triangle.py

        import math
        def area(a,b,c):
            s=(a+b+c)/2
            return(math.sqrt(s*(s-a)*(s-b)*(s-c)))
        
      • count.py

        import triangle
        a=12
        b=34
        c=22
        print(triangle.area(a,b,c))
        

        使用方法有很多种,比如:

        import math  #调用math中的所有函数
        from math import *   #同理
        from math import sqrt  #只调用math中的sqrt
        
    • sys模块

      • 查看sys模块的变量和函数

        使用dir(sys)既可

        import sys
        print(dir(sys))
        
      • 显示添加搜索路径

        #显示路径
        print(sys.path)
        #添加路径
        sys.path.append('xxxxxxx')
        
      • 命令行参数

        利用命令行参数传参

        sys.argv[0] #程序文件名
        sys.argv[1] #数一
        sys.argv[2] #数二
        
      • 展示

        函数 功能
        sys.argv 从程序外部向程序传递参数
        sys.exit([arg]) 程序中间的退出,arg=0正常退出
        sys.getdefaultencoding() 获取系统当前编码
        sys.setdefaultencoding() 设定系统当前编码
        sys.path 模块搜索路径的字符串列表
        sys.platform 获取当前系统平台
        sys.stdin sys.stdout sys.stderr 重新定向输入输出,ctrl+D 结束
posted @ 2020-09-19 14:36  life_if_forever  阅读(136)  评论(0)    收藏  举报