zoukankan      html  css  js  c++  java
  • python 学习之函数

    1.内置函数

    callable() #定义是否能调用
    def (f1):
        false
    f1()
    print(callable(f1)) #判断f1是否能被调用,可以返回True 否则返回False


                  
    chr()  用来做ASCII码转换  a=chr(65) print(a) A #65所对应的ascii码
    ord()  用来做ASCII码转换  b=ord'A') print(b) 66   #A在ASCII码表所对应的数字

    import random  #随机生成字母
    list1 = [] 
    for i in range(0,6):
        num = random.randrange(65,91) #65-91 为A-Z
        asc = chr(num) 
        list1.append(asc)
        random_str = ''.join(list1)
    print(random_str)
    BFRVQP #随机生成的字母


    import random  随机生成字母和数字
    list1 = []
    for i in range(6):  #循环6次
        r  = random.randrange(0,6)   #r为0到6的随机数
        if r == 3 or r == 5:
            num1 = random.randrange(0,10) #num1为0-10的随机数
            list1.append(str(num1)) str类型.join时列表里面的元素必须为str类型
        else:
            num = random.randrange(65,91) #65-91 为A-Z
            asc = chr(num)
            list1.append(asc)
    random_str = ''.join(list1)
    print(random_str) G623E1  #随机生成的字母和数字

    #python执行代码过程 python会把字符串-》编译-》特殊代码(python代码)-》执行
    #编译函数:
    compile()
    #执行函数
    exec()#可以执行所有python代码,没有返回值,接受代码或者字符串(如果直接代码直接执行,如果接受字符串转换成python代码再执行)
    eval() #只能做表达式运算,有返回值
    exec(7+8)  #没有返回值
    ret=eval(7+8) #print(ret)有返回值
    s = "print(sss)"
    #编译类型 single eval exec
    #将字符串编译成python代码

    r = compile(s,'<string>','exec')
    exec(r)  #用来做编译

    s='8*8'  #用来转换成表达式
    ret1 = eval(s)
    print(ret)

    dir() #查看类里面有哪些功能
    help() #查看功能的详细使用

    #共97条数据,每页显示10条 用来计算可不可以整除,返回元组 (商和余数)
    r = divmod(97,10) #返回元组
    n1,n2 = r


    #对象为类的实例
    #isinstance() #判断对象是否为类的实例
    s  = '123'  #调用str类
    r=isinstance(s,str)
    print(r)  #返回True或者False


    #filter 函数返回True,将元素添加到结果
    #map 将函数返回值添加到结果

    #filter('函数','可迭代的对象')
    #fileter内部,循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,表示该元素合法,,将元素添加到fileter()返回值
    # result = []
    # for item in 第二个参数:  #第二个参数为列表
    #     r = 第一个参数(item) #把item传参给f2函数
    #     if r:
    #         result.append(item)

    def f2(a):
        if a >22:
            return True
    li = [11,22,33,44,55]
    ret = filter(f2,li) #ret为一个对象
    print(list(ret))

    f1 = lambda a:a>30  #f1函数名 a为函数名括号里面的参数 a应用参数
    li = [11,22,33,44,]
    ret = filter(lambda a:a>22,li)
    print(list(ret))

    #map(函数,可以迭代的对象)
    list1=[1,2,3,4,5,]
    ret = map(lambda a:a+100,list1) #让其中每个元素+100
    print(list(ret))

    #globals()代表所有全局变量 locals代表所有局部变量
    #hex() 十进制转换为16进制

    #bytes()将字符串转换为字节
    #len() 查看实例长度,python2里面查看字节长度,python3查看字符长度
    s = "王永翔"
    a=bytes(s,encoding='utf-8')
    print(len(a))  #结果为9

    #round 四舍五入
    #pow(3,4) #为三的四次方

    2.装饰器
    #@+函数名
    #功能:
    #1. 自动执行outer函数并且将下面的函数名f1当做参数传递
    #2. 将outer函数的返回值,重新赋值给f1
    def outer(func):
        def inner():
            print('log')
            a=func()
            return a
        return inner


    @outer
    def f1():
        print('F1')
        return '哈哈'
    print(f1())

  • 相关阅读:
    SD卡路径问题以及如何获取SDCard 内存
    Android_JarZip压缩和解压文件
    android:imeOptions属性
    JAVA长连接demo
    高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
    WebSocket 实战
    android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
    Android屏幕适配全攻略(最权威的官方适配指导)
    Android设计模式系列
    Android开发MVP模式解析
  • 原文地址:https://www.cnblogs.com/bigjerry/p/5558048.html
Copyright © 2011-2022 走看看