1、数据预处理
2、介绍线性回归、逻辑回归模型
3、python的深拷贝、浅拷贝
3.1 浅拷贝
浅拷贝会创建一个新的对象,但是它包含是对原对象地址的引用,而不是其副本。因此如果原始对象的项是可变的,修改
这些项会影响到拷贝后的对象。
创建浅拷贝的方法:
使用列表的list.copy()方法
切片操作,例如 new_list = old_list[:]
使用copy模块的copy函数: from copy import copy; new_list=copy(old_list);
1 2 3 4 5 6 7 8 9 import copy original = [1, 2, [3, 4]] shallow = copy.copy(original) # 修改原始列表中的嵌套列表也会影响浅拷贝 original[2][0] = "changed" print(shallow) # 输出:[1, 2, ['changed', 4]]
3.2 深拷贝
深拷贝创建一个新的对象,并且递归拷贝原始对象中的所有项。这意味着它将创建所有项的副本,包括嵌套对象。
修改原始对象不会影响到新创建的副本。
1 2 from copy import deepcopydeep = deepcopy(original)
4、Python lambda匿名函数
在python中,lambda 函数是一种轻量级的匿名函数,它通常用以编写简单的,一行的函数,无须定义正式的函数名
1 2 3 4 lambda arguments: expression- arguments: 参数,可以是多个,用逗号隔开 - expression: 一个表达式,描述函数的行为,返回值是个表达式的结果
特点:
匿名: lambda函数通常是匿名的,没有函数名
一行表达式: 只能有一个表达式,不能包含其他的语句或者多个表达式
可随时使用: 可以在任何地方使用
灵活性: 常用简化代码,特别是在函数编程或者需要传递小函数作为参数的场合。
1 2 3 4 5 6 7 8 list (map (lambda x: x*2 , [1 ,2 ,3 ,4 ])) list (filter (lambda x: x>2 , [1 ,2 ,3 ,4 ])) sorted ([(1 , 'one' ), (2 , 'two' ), (3 , 'three' )], key=lambda x: x[1 ])
5、python装饰器
在python中,装饰器是一种很勇的设计模式,主要用于在不修改原始函数或方法定义的情况,给函数或方法添加新的功能。
这种功能添加通常关联跨系统的关注点,比兔日志、事务处理等等。。
装饰器本质上是一个函数,它接受一个函数作为参数并返回一个新的函数。
1 2 3 4 5 6 7 8 9 10 11 def my_decorator (func ): def wrapper (): print ("Something is happening before the function is called." ) func() print ("Something is happening after the function is called." ) return wrapper @my_decorator def say_hello (): print ("Hello!" )
装饰器的高级用法:
1.带参数的装饰器:
1 2 3 4 5 6 7 8 9 10 11 12 def decorator_with_args (arg1, arg2 ): def my_decorator (func ): def wrapper (): print (f"Arguments received: {arg1} , {arg2} " ) func() return wrapper return my_decorator @decorator_with_args("arg1" , "arg2" ) def say_hello (): print ("Hello!" )
2.装饰有参数的函数:如果被装饰的函数有参数,装饰器内部的wrapper 函数需要能够接受这些参数,并在调用的时候床底给她
1 2 3 4 5 6 7 8 9 10 11 12 13 def my_decorator (func ): def wrapper (*args, **kwargs ): print ("Before calling the function" ) result = func(*args, **kwargs) print ("After calling the function" ) return result return wrapper @my_decorator def add (a, b ): return a + b
6、python的执行过程
python是一种解释性语言,这意味着python代码在执行时先转换成子字节码,然后由python虚拟机PVM执行
源代码::编写的Python文件
编译::Python解释器首先将源代码编译成字节码。这一过程涉及到语法分析和语义分析,确保代码符合Python的语法规则。字节码是一种低级、与平台无关的代码,保存在.pyc中
字节码::编译得到的字节码是一种中间表示形式,存储在内存中。字节码的执行比直接解释源代码要快。
python虚拟机::Python虚拟机(PVM)是Python运行时环境的一部分,负责读取字节码,将其转换成机器码,然后执行。PVM是解释器的核心,它执行存储在pyc中
执行::PVM逐条执行字节码指令,进行函数调用、内存管理等
7、is 和==的区别
is是比较两个对象的内存地址是是否相等
比较的是两个对象的值是否相当,在使用 时,实际上是调用了对象的__eq__()方法, 这意味这==的行为可以根据对象不同改变
8、python多线程, GIL
__END__