day18 python学习 内置函数,匿名函数,装饰器的

Posted 王大拿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day18 python学习 内置函数,匿名函数,装饰器的相关的知识,希望对你有一定的参考价值。

format的用法

print(format(aa,>20))
print(format(aa,<20))
print(format(aa,^20))

打印结果如下

                  aa
aa                  
         aa     

sort    用法     li. sort()  得到的是新的列表li   从小到大排列    li.sort(reverse=True)#这个是倒叙排列(从大到小)

sorted   ret=sorted(li)   的到的是一个可迭代对象,需要print(list(ret))  强转列表在打印才能取出他的值

reverse     与sort相同

reversesed  与sorted相同

 

print(globals())#打印全局变量,
print(locals())#打印局部变量


a=‘你好‘

b=a.encode(‘utf-8‘) 编码 ,将文字编码成二进制形式
print(t)
#打印结果是   b‘\xe4\xbd\xa0‘   实质是二进制,内置的ide转成十六进制了


c=b.decode(‘utf-8‘) 解码
print(c)
#打印结果是 你 将二进制解码成文字

#bytearray
ret = bytearray(‘alex‘,encoding=‘utf-8‘)#对比较长的字符串做修改的时候,
# 指定某一处进行修改,不会改变这个bytearry的内存地址
print(id(ret))
print(ret[1])
ret[1]=11
print(id(ret))
a=ret.decode(utf-8)
print(a)  #  这是打印结果 aex
print(ord(v))#  118  打印一个字母的ascll码的十进制值

print(chr(97))#  a  这个可以打印出ascll码值对应的字母

print(repr(sada))# ‘sada‘ 可以打印出这种带字符串和它带的引号的格式

print(name:%r%(金老板)) #这个同上,打印结果  name:‘金老板‘
#enumerate    #枚举
l = [笔记本, phone, apple, banana]

for i,k in enumerate(l,1):  这里两个参数来接受,i接受后边的数字print(i,k)
#拉链函数 zip  他会将数值按照最终的数量值转换成对应数量的拉链元祖形式的
print(list(zip([0,1,2,3,4],[5,6,7,8],[a,b])))
#这是打印结果[(0, 5, ‘a‘), (1, 6, ‘b‘)]

filter   过滤,过滤器

map  

#filter(方法也就是函数,可迭代对像)就是有一个可迭代对象,
# 想要一个新的内容集,是从原可迭代对象中筛选出来的
#新内容少于等于原内容的时候,才能用到filter
def func1(X):
    if X>10:
       return True
ret1=filter(func1,[1,22,3,45,12,6])#有返回值,返回的是一个迭代器
print(list(ret1))
#去掉所用空内容(None)和空字符串(内容为空格)
l=[sad,dsz,None,   , DSA]

def func(x):
    return x and x.strip()#直接return新的值,当里边的值不为空,而且x.strip()之后不是空的,
    # 意思是不是空格的就可以
ret=filter(func,l)
print(list(ret))
#map(function,itrator)  #返回一个与原来数量相同的迭代器
ret=map(abs,[-1,-5,5,6,-11])
print(list(ret))
#filter和map
#参数很相近:都是一个函数名+可迭代对象
#且返回值页很相近:都是返回可迭代对象
#区别
#filter是做筛选的,结果还是原来就在可迭代对象中的项
#装饰器进阶
#装饰器的进阶有两个
@func1
@func2
def ada()
#俄罗斯套娃式函数,里边套靠近函数的
#装饰器函数,外边套另一个函数# 要记住是那个套那个的
ef wrapper1(func):
    def inner1(*args,**kwargs):
        print(in wrapper 1,before)
        ret = func(*args,**kwargs)   #qqxing
        print(in wrapper 1,after)
        return ret
    return inner1

def wrapper2(func):     #inner1
    def inner2(*args,**kwargs):
        print(in wrapper 2,before)
        ret = func(*args,**kwargs)   #inner1
        print(in wrapper 2,after)
        return ret
    return inner2
#当一个函数要引用两个装饰器才能完成功能时
@wrapper2  #先在外层执行这个的第一句
@wrapper1  #在执行这个地方执行的所有内容,然后再返回去执行上边的函数剩下的内容
def qqxing():
    print(qqxing)
qqxing()

#装饰器进阶2  带有def  outer():的函数

def outer(flag):  #这里写的是要传入的标志位,作用
    # 是给装饰器在通过标志位判断在执行时要不要执行if  flag的内容
    def timer(func):
        def inner(*args,**kwargs):
            if flag:
                print(‘‘‘执行函数之前要做的‘‘‘)
            re = func(*args,**kwargs)
            if flag:
                print(‘‘‘执行函数之后要做的‘‘‘)
            return re
        return inner
    return timer

@outer(False)#在这里传入要不要执行那句的条件
def func():
    print(111)

func()

 





 


























以上是关于day18 python学习 内置函数,匿名函数,装饰器的的主要内容,如果未能解决你的问题,请参考以下文章

python学习-day16:函数作用域匿名函数函数式编程mapfilterreduce函数内置函数r

python之路--day13---函数--三元表达式,递归,匿名函数,内置函数-----练习

Python开发基础 day10 内置函数 匿名函数 递归

Python基础day-11[内置函数(未完),递归,匿名函数]

day23 内置函数,匿名函数,递归

python全栈开发-Day12 三元表达式函数递归匿名函数内置函数