zoukankan      html  css  js  c++  java
  • python基础-第四篇-4.1内置函数

    lambda表达式

    1. lambda表达式是对简单函数的精简化表达
    2. 语法结构:函数名 = lambda:运算表达式
    def f1(a):
        a = a + 1
        return a
    
    ret = f1(1)
    print(ret)  #结果为2
    
    #lambda表达式
    f2 = lambda a: a + 1
    ret2 = f2(1)
    print(ret2)  #结果为2

    python内置函数

    • abs()  求数字的绝对值

    a = 12
    a1 = abs(a)
    print(a1)  #结果为12
    
    b = -13
    b1 = abs(b)
    print(b1)  #结果为13
    • all(可迭代的) 循环每个元素,如果每个元素都为真,那么all的返回值为真(0,None,空列表,空字典,空字符串,空元组为假,如果你不确定真假,可以bool检验)     

    ret1 = all([1,[0.2]])
    print(ret1)  #结果为True
    
    ret2 = all([None,1])
    print(ret2) #结果为False
    
    ret3 = all((11,{},22))
    print(ret3)  #结果为False
    • any(可迭代的)  循环每个元素,只要有一真,则为真

    ret1 = any([0,(),''])
    print(ret1)  #结果为False
    ret2 = any((1,0,{}))
    print(ret2)  #结果为True
    • bin()  二进制

    • oct()  八进制

    • int()  十进制

    • hex()  十六进制

    r1 = bin(11)  #十进制转二进制
    print(r1)  #结果为0b1011
    
    r2 = oct(8)  #十进制转八进制
    print(r2)  #结果为0o10
    
    r3 = int('0b1000',base=2)  #二进制转化为十进制
    print(r3)  #结果为8
    r4 = int('0o10',base=8)    #八进制转化为十进制
    print(r4)  #结果为8
    #利用int的第二参数可以将其他进制转化十进制
    
    r5 = hex(14)   #十进制转化为十六进制
    print(r5)  #结果为0xe  
    • bool() 判断真假,把一个对象转换成布尔值

    a = {}
    r1 = bool(a)
    print(r1)  #结果为False
    
    b = 12544
    r2 = bool(b)
    print(r2)  #结果为True
    
    c = '123'.isdigit
    r3 = bool(c)
    print(r3)  #结果为True
    
    d = None
    r4 = bool(d)
    print(r4)  #结果为False
    • chr()  返回整数对应的ASCII字符

    • ord() 作用和chr()相反,返回字符对应的ASCII编号

    随机验证码实例:

    import random  #首先要导入随机数模块
    
    rand_num = ''  #初始化验证码
    
    for i in range(6):   #定义随机码的长度为6
        k = random.randrange(0,3)  #给出一个让随机码组成不定的随机数
        if k == 1:                 #对随机码进行判断,然后确定是给数字还是字母
            a = random.randrange(0,10)  #随机数字
            rand_num += str(a)
        elif k == 2:
                i = random.randrange(97,123)  #随机小写字母
                a = chr(i)
                rand_num += a
        else:
            i = random.randrange(65,91)    #随机大写字母
            a = chr(i)
            rand_num += a
    
    print(rand_num)
    •  divmod(被除数,除数)  返回商和余数组成的元组  应用方面:网站目录展示

    t = divmod(10,3)
    print(t,type(t))  #结果为(3, 1) <class 'tuple'>
    • eval() 可以执行字符串形式的表达式,并且有返回值

    ret = eval('102+788')
    print(ret)  #结果为890
    
    ret2 = eval('a+63',{'a':90})
    print(ret2)  #结果为153
    • exec() 直接执行字符串代码,无返回值

    exec('for i in range(10):print(i)')
    exec('print("明天你好")')   #结果为  明天你好
    • filter(函数,可迭代的)    把循环的每个元素当做函数的参数并执行函数,筛选返回Ture的元素,元素组成的对象类型和range的类型差不多,没有创建在内存里,只有迭代是才创建

      函数内部实现过程:

    #函数
    def f1(args):
        if args > 25:
            return True
        else:
            return False
    
    #先循环列表
    my_list = []  #符合函数条件的元素存储列表
    li = [11,22,33,44,55]
    for i in li:
        a = f1(i)
        if a == True:
            my_list.append(i)
    
    print(my_list)
    def f1(args):
        if args > 25:
            return True
        else:
            return False
    li = [11,22,33,44,55]
    ret = filter(f1,li)
    print(ret)
    for i in ret:
        print(i)
    
    结果为:
            <filter object at 0x0000000000A5CC50>
            33
            44
            55
    • map(函数,可迭代的)  对循环的元素进行函数运算,结果组成迭代器

      函数内部实现过程:

    f2 = lambda x: x + 100 #运算式
    
    my_list = []  #函数运算后的元素存储列表
    li = (11,22,55,88,99,456,14258)
    for i in li:
        a = f2(i)
        my_list.append(a)
    
    print(my_list)  #结果为[111, 122, 155, 188, 199, 556, 14358]
    f2 = lambda x: x + 100 #运算式
    
    li = (11,22,55,88,99,456,14258)
    ret = map(f2,li)
    print(ret)
    
    for i in ret:
        print(i)
    
    结果为:
            <map object at 0x0000000000A4CC50>
            111
            122
            155
            188
            199
            556
            14358
    • globals()  获取当前程序所有的全局变量

    • locals()    获取当前程序所有局部变量

    global a
    global C
    C = 'test' 
    test = 'haha'
    b = 'init'
    def function1():
        global a
        a = 123
        b = 'string'
        print(a)
        print(b)
        print(globals())
        print(locals())
    
    function1()
    print(a)
    print(b)
    print(globals())
    print(locals())
    • isinstance()  数据类型匹配

    s = '景女神'
    ret = isinstance(s,str)
    print(ret)  #结果为True
    
    num = 123
    ret1 = isinstance(num,str)
    print(ret1)  #结果为False
    • max(可迭代的)   取最大值

    • min(可迭代的)    取最小值

    • sum(可迭代的)   求和

    li = [11,22,33,44]
    ret1 = sum(li)
    print(ret1)  #结果为110
    
    ret2 = max(li)
    print(ret2)  #结果为44
    
    ret3 = min(li)
    print(ret3)  #结果为11
    • pow(底数,指数) 求幂

    ret1 = pow(2,10)
    print(ret1)  #结果为1024
    
    ret2 = 2**10
    print(ret2) #结果为1024
    • callable()  是不是可执行的

    def f1():
        return  123
    
    r = callable(f1)
    print(r)  #结果为True
    
    f2 = 123
    r1 = callable(f2)
    print(r1)  #j结果为False
    • __import__()   导入模块时并别名

    • round()  四舍五入

    • ascii()  到对象的类中找__repr__,获取其返回值

    • compile()  把字符串转换成python可执行的代码(代码编译)

    • hash() 对字典的key优化

    • iter(可迭代的)  创建一个可迭代的对象

    python内置的排序方法

    • 排序中不能同时有两种数据类型

        

    • 数字排序,从小到大
    li = [12,458,30,751,25,42]
    ret = sorted(li)
    print(ret)
    • 字符串排序,先数字,再字母,后中文
    li = ['125','','alex','25','wen','','356326823']
    ret = sorted(li)
    print(ret)  #结果为['125', '25', '356326823', 'alex', 'wen', '中', '号']

                                                           欢迎大家对我的博客内容提出质疑和提问!谢谢

                                                                                 笔者:拍省先生  

  • 相关阅读:
    探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
    探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理
    SVN:Previous operation has not finished; run 'cleanup' if it was interrupted
    探索ASP.NET MVC5系列之~~~1.基础篇---必须知道的小技能
    MVC:The name 'Scripts' does not exist in the current context
    Dapper.Contrib:GetAsync<T> only supports an entity with a [Key] or an [ExplicitKey] property
    Dapper扩展之~~~Dapper.Contrib
    AutoFac在项目中的应用
    群福利:百度云管家-本地SVIP
    【声明】前方不设坑位,不收费!~ 我为NET狂官方学习计划
  • 原文地址:https://www.cnblogs.com/xinsiwei18/p/5528606.html
Copyright © 2011-2022 走看看