2020-10-31

今天一天的知识点总结,有不足之处,请大家留言,一起讨论。

模块导入

import copy#导入copy(拷贝)这个模块
copy.deepcopy()#使用这个copy这个组件中的这个deepcopy这个组件(深度拷贝)

2.from copy import deepcopy#导入copy中的deepcopy这个组件(只导入这个组件)
string类型操作及切片操作


str1=‘abc’
str2=‘bde’
print(str1 +str2 )#相加就是字符串拼接
print(str1 *5)#打印str15次


切片操作:、
str1='abc'
str2='bde'
for i in str1 :
    print(type(i ) )
    #print(str2 [0:2])#对字符串进行切断
    print(str2 [::-1])#才末尾开始取,倒序输出

python的函数

为什么要使用函数?代码可以复用(可复用性)。
(定义方法:定义函数 定义名称(形成)

def funcName(args1):
        pass(空方法,定义没有用)
def haha():
    print()#定义一个无参的函数
def xixi_args(name,age):
    print('name=%s,age=%d'%(name ,age )) #定义有参无返
def xixi_arge_value(name,age=20):
    print('name=%s,age=%d'%(name ,age ))
if __name__=='__main__':#函数的调用
    # print()
    #print( type (xixi_args('python',20)) )
    #print(xixi_arge_value('name') )
    xixi_arge_value('liwenbo')#输出
xixi_arge_value('liwenbo',age= 88)#输出修改参数为88

#不定长参数定义

def func(*args):#*为不定长是元组**是字典
    print('sum=%d'%min(args ))
if __name__=='__main__':
    func(1,2,3,4)

#清理函数

def cleanWork():
    print('already clean!')
#函数参数是function类型
def func(name,callback=cleanWork):
    print('name=%s'%name)
    callback()#call function函数回调
if __name__=='__main__':
    func('counnect,database')

定义输出
def lx():
return [1,2,3,4]#定义输出
if name==‘main’:
x=lx()
print(x )

函数体局部变量生命周期(仅限于函数体内部)
全局变量的改变

def haha():
    global x #指向全局变量x
    x+=10#此时修改变量会影响全局
haha()
print(x )

函数嵌套

def haha():
    def xixi():
        pass 
print(x )

nonlocal(能获取外变量的变量值)
def haha():
    x=1
    def xixi():
        nonlocal x 
        x+=10
        print('x=%d'%x )
        xixi() #类似于调用函数没有括号为指针。

函数调用

x=10#全局变量
def haha():
    x=1

    def xixi():
        nonlocal x
        x+=10
        print('x=%d'%x )
        return xixi() #返回一个函数的引用
x=haha()#haha的调用
print(type (x ))
print(haha() )

闭包
镶嵌式模型
在内部引用外部变量、
函数外层返回内部函数的引用
闭包应用场景(装饰器)

def wrapper(func):
    def inner():
        print('func invoke start...')
        func () #func function调用
        print('func invoke end...')
    return inner
#@wrapper起到作用等于func=wrapper(func)
@wrapper #装饰器
def func():#数据库其他函数的释放
    print('func invoke...')
@wrapper
def test():
    print('test () invoke...')
    func ()
test ()

匿名函数
#定义一个匿名函数
func =lambda x:x+1
#等于
#def test(x):
print(type (func ))
print(func (1))



匿名函数和filter的使用
l=['abcd','abc','acd','jkh']
for item in filter(lambda x:len(x )>=2 ,l ) :
    print(item )

reduce结合lamda用法
from functools import reduce #导入函数
l=[1,2,3,4]
print(reduce(lambda x,y:x+y ,l,) )#l的加法l,还有就一起加上
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页