zoukankan      html  css  js  c++  java
  • python(五)函数补充,内置函数,Random函数

    1. 可变参数

    def   send_message(*args) :在调用这个函数的时候,可以不传参数,也可以传一个参数,也可以传多个参数。只要传参了,就会把参数放进一个元组中。

    2. 关键字参数

    def  send_message(**kwargs):在调用这个参数的时候,可以不传参数,可以传一个参数,也可以传入多个参数。传入的格式为k=v

    3 位置参数,关键字参数混合使用时,需要注意

    def myfunc2(name,addr='beijing',*args,**kwargs)

    关键字参数后面不能使用位置参数,也就是当位置参数和关键字参数一起时,要把位置参数放在前面,最后在写关键字参数

    4  解包

    def connect (ip,port,username,password)

    info=('196.36.23.22',‘3323’,‘root’,‘123456’)

    connect(*info),

    在元组,列表,集合,字符串只要数量和变量一致,就能个以一一对应。

    字典的话要用connect(**dic)

    5 常用的内置函数

    print(max([123,423,1,2,3,45,332]))#取最大值
    print(sum([123,423,1,2,3,45,332]))#求和
    print(divmod(10,3))#余数
    print(round(11.222222,2))#取几位小数
    l = ['u1','u2','u3']
    l2 = ['p1','p2','p3']
    print(list(zip(l,l2)))#将两个list和为一个二维数组
    print(dict(zip(l,l2)))#将两个list和为一个二维数组
     l = [1,2,34,12,32,98,3221,98,34,532]
    print(sorted(l))#排序
    print(sorted(l,reverse=True))#降序排序
     print(l)
    
    l2 = [
        ['xiaobai',12],
        ['xiaohei',11],
          ['lisi',98],
        ['wangwu',34]
     ]
    
     l3 = sorted(l2,key=lambda x:x[-1][-1])#二维数组排序,key是传一个函数名,是指用哪个参数来进行排序
     print(l3)
     def user_key(x):
         return x[-1]
     #key是传一个函数名,由sorted循环排序时去调用该函数
     l4 = sorted(l2,reverse=True,key=user_key)
     print(l4)
    l = [1,2,34,12,32,98,3221,98,34,532]
    #循环把list的每个参数传给函数,
    #根据某个规则来过滤list里的参数
    result = filter(lambda x:x>5,l)#输出的是大于5的数
    stri = 'fdsfrewrwerwrffdsf'
    str_result = filter(lambda x:x!='f',stri)
    print(list(str_result))
    print(list(result))
    #保留函数返回的值,就是循环执行函数
    map_result = map(lambda x:x>5,l)#返回的是True或false,返回所有
    print(list(map_result))
    map_result1 = map(lambda x:str(x).strip().zfill(3),l)#返回所有
    print(list(map_result1))
    
    for index,i in enumerate(l,1):#将list转为带下标的二维数组,传1是从1开始,默认从0开始
        print('%s -> %s'%(index,i))
    str_code = '''
    l = [1,2,34,12,32,98,3221,98,34,532]
    map_result1 = map(lambda x:str(x).strip().zfill(3),l)
    print(list(map_result1))
    print('hhhh')
    '''
    #让程序自动帮你执行代码,可以执行所有的python代码
    #用exec方法有风险,比如执行os.remove()把文件删除等
    exec(str_code)
    
    result = eval('{"name":"xiaohei","age":"19"}')#执行python代码,只能执行简单的,定义数据类型和运算
    print(result)

    不常用的内置函数

    print(all([1,2,3,4,5,0]))#判断可迭代对象里的值是否都为真
    print(any([1,2,3,4,5,0]))#判断可迭代对象里的值是否有一个为真
    print(bin(10))#10进制转2进制
    print(hex(10))#10进制转成16进制
    print(oct(10))#10进制转成8进制
    print(chr(33))#数字对应的ascii码
    print(ord('v'))#字符对应的ascii码
    #python3 默认的字符集是utf-8
    #python2 默认的字符集是ASCII
    f = open('a.txt','w')
    print(dir(f))#打印传入对象的可调用方法
    print(locals())#返回局部变量
    def fun():
        name = 'abc'
        age = 18
        print(locals())  # 返回局部变量,返回的是一个字典
    fun()
    
    print(globals())#返回全局变量,返回的是一个字典

     匿名函数:是个简单的函数,没有名字

    f1=lamber x:x+1
    
    print(f1(2))

    Random函数:

    1. 使用Random模块,需要导入 import random

    2. 随机生成一个整数:random.randint(1,6):会随机生成一个1-6中的任意一个数

    3. 随机生成一个小数:random.uniform(1,10):会随机生成1-10中的任意一个小数

    4.random.simple("jkjkjkjk",3):会随机从给出的字符串中取,取几个由后面的数字决定。最后生成的是一个列表。然后用''.join(列表)变成一个字符串

    5.random.shuffle(列表) :打乱列表的顺序。俗称洗牌

    6. 随机生成小写,大写字母,特殊字符,数字,需要导入:import string

    小写字母:string.ascii_lowercase

    大写字母:string.ascii_uppercase

    字母:string.ascii_letter

    特殊字符:string.punctuation

    整数数字:string.digits

    随机取一个值:random.choice() 里面可以是列表,数字,字母

    补充:

    当字符不满的时候长度的时候可以填充用的方法是string.zfill(位数)

  • 相关阅读:
    [GIT] warning: LF will be replaced by CRLF问题解决方法
    最近想学的工具
    如何在webstrom中配置eslint和less
    Git常用命令
    windows下nginx安装、配置与使用
    关于 addEventListener 和 handleEvent 方法
    PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toStr
    Git使用详细教程
    9个永恒的UI设计原则
    常见浏览器兼容性问题与解决方案
  • 原文地址:https://www.cnblogs.com/dmjsd/p/11161067.html
Copyright © 2011-2022 走看看