zoukankan      html  css  js  c++  java
  • python内置函数与模块

    一、函数中如果return是多个参数,只用一个参数接收时,是元组;也可以用多个参数接收,那就是解包
    def func():
        a = 1
        b = 2
        c = 3
        return a,b,c
    q,w,e = func()
    print(func(),type(func()),q,w,e)
    输出:
    (1, 2, 3) <class 'tuple'> 1 2 3
    
    二、函数自己调用自己,递归
    最大的递归次数是:999
    
    #1、尽量少用global 变量,一直占用内存
    #2、函数即变量
    
    三、内置函数
    
    zip
    可以利用zip直接把两个列表转成二维数组,再利用dict即可转成字典:
    a = [1,2,3]
    b = ['z','y','b']
    print(dict(zip(b,a)))
    all   any
    print(all([1,2,3,4,0]))   #判断传入的参数是否都为真,都为真才返回Ture,否则为False
    print(any([1,2,0]))    #判断传入的参数是否都为假,都为假才返回False,否则为True
    
    locals()#返回函数的局部变量
    # def func():
    #     a= 1
    #     b = 2
    #     print(locals())#返回函数的局部变量
    # func() 
    
    sorted()
    l = [1,2,5,7,6,9]
    l1 = sorted(l)  #升序排列,返回一个新的list
    l2 = sorted(l,reverse=True)  #降序排列,返回一个新的list
    l.sort()   #也是排序,但是不返回,只是改变原来list
    
    l3 = [
        ['xiaohai',5],
        ['xiaohei',8],
        ['xiaoming',30],
        ['zyb',7]
    ]
    
    l4 = sorted(l3,reverse=True,key = lambda x:x[-1])   #key这个参数可以把二维数组进行排序
    print(l4)
    
    filter()
    result = filter(lambda x:x>5,[12,3,12,2,1,2,35])  #过滤
    print(list(result))  #输出:[12, 12, 35]
    
    map()
    l = [12,3,12,2,1,2,35]
    result = filter(lambda x:x>5,l)  #直接把满足条件的元素返回
    print(list(result))  #输出:[12, 12, 35]
    
    result = map(lambda x:x>5,l)  #直接保存函数的返回值
    print(list(result))  #输出:[True, False, True, False, False, False, True]
    
    result = map(lambda x:str(x).strip().zfill(3),l)  #直接保存函数的返回值
    print(list(result))  #输出:['012', '003', '012', '002', '001', '002', '035']
    
    result = [str(i).strip().zfill(3) for i in l]  #列表生成式也可以实现上述功能
    print(result)  #输出:['012', '003', '012', '002', '001', '002', '035']
    
    enumerate()
    l = [12,3,12,2,1,2,35]
    l1 = ['购物','注册','充值','积分查询']
    index = 0
    for i in l :
        print('%s --> %s'%(index,i))
        index +=1
    
    for index,i in enumerate(l):   #enumerate 自动计算下标,会生成二维数组
        print(index,i)  
    输出:
    0 12
    1 3
    2 12
    3 2
    4 1
    5 2
    6 35
    
    for index,i in enumerate(l1,1):   #enumerate 自动计算下标,会根据第一个参数生成二维数组,第二个参数是指定下标从几开始
        print(index,i)  
    输出:
    1 购物
    2 注册
    3 充值
    4 积分查询
    
    eval()   执行python代码,只能执行简单的。定义数据类型和运算
    
    
    exec()      #执行python代码
    
    
    四、匿名函数:
    lambda x,y:x+y  #lamda是用来定义匿名函数,冒号前面的是入参,后面是返回表达式
    
    
    
    五、导入模块
    1、就是一个python文件
    2、标准模块,python自带的
    3、第三方模块,需要自己安装
    
     import 一个模块,就是把该模块的代码执行一遍
    
    导入模块的顺序:
    1、先从当前目录
    2、从python环境变量里面找
    
    import 一个文件夹的时候,就是执行文件夹下__init__.py的文件
    
    添加python环境变量的方法:
    1、sys.path.append(r'D:PythonTrainning_BestTestsheshouzuoExerciseday4')
    2、sys.path.insert(0,r'D:PythonTrainning_BestTestsheshouzuoExerciseday4')
    3、在pycharm里面右键文件夹,Mark directory as -->Sourcese Root,也可以添加到sys.path
    
    
    第三方模块安装:
    1、python安装目录
    2、python安装目录下script目录
    需要把上面路径加入系统变量。
    
    
    import random
    number = random.randint(1,100) #随机整数
    print(number)
    f = random.uniform(1,100) #随机小数
    print(f)
    l = [1,2,3,4,5,6,7,8,9,10]
    print(random.choice(l))
    print(random.sample(l,3))
    
    random.shuffle(l)  #洗牌,打乱
    print(l)
    

      

  • 相关阅读:
    《JS权威指南学习总结--6.6属性getter和setter》
    《JS权威指南学习总结--6.5枚举属性》
    django的模板系统
    django额外参数的传递和url命名
    python在图片上画矩形
    当爬虫遇到js加密
    php基础-7
    php基础-6
    php基础-5
    php基础-4
  • 原文地址:https://www.cnblogs.com/arraon/p/12828958.html
Copyright © 2011-2022 走看看