一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
original_list = [1, [2, 3], 4]
shallow_copy = copy.copy(original_list)
##### 深拷贝(Deep Copy):
1. **定义:** 深拷贝创建一个新对象,并递归地复制原对象中的所有元素,包括嵌套的元素。新对象中的元素是原对象中元素的副本,而不是引用。
2. **复制层次:** 复制了对象的所有层次结构,包括嵌套的对象。
3. **使用方法:** 使用 **`copy.deepcopy()` 函数**来进行深拷贝。
import copy
original_list = [1, [2, 3], 4]
deep_copy = copy.deepcopy(original_list)
* 浅拷贝对于不可变对象(如整数、字符串)来说,效果和深拷贝相同,因为不可变对象没有嵌套的引用关系。
* 深拷贝可能会更耗费资源,因为它需要递归地复制整个对象结构,而且可能导致循环引用的问题。
* 如果原对象中包含自定义对象,需要确保自定义对象支持拷贝操作,即实现 `__copy__()` 和 `__deepcopy__()` 方法。
##### 关于拷贝的地址问题:
* 在浅拷贝和深拷贝中,都会复制对象的地址,但它们对于嵌套的对象(即对象内部包含其他对象)的处理方式不同。
* **浅拷贝:**
* 复制对象的一层结构,但对于嵌套的对象,只复制其引用,而不是创建副本。因此,浅拷贝中的元素仍然指向原始对象中相同的地址。
import copy
original_list = [1, [2, 3], 4]
shallow_copy = copy.copy(original_list)
原始对象和浅拷贝后的对象共享嵌套列表的地址
print(original_list[1] is shallow_copy[1]) # True
* **深拷贝:**
* 递归地复制对象的所有层次结构,包括嵌套的对象。深拷贝中的元素是原始对象中元素的副本,而不是引用。
import copy
original_list = [1, [2, 3], 4]
deep_copy = copy.deepcopy(original_list)
原始对象和深拷贝后的对象的嵌套列表是相互独立的
print(original_list[1] is deep_copy[1]) # False
>
> 总结起来,**浅拷贝和深拷贝都是复制对象的地址,但深拷贝会递归地复制整个对象结构,包括嵌套的对象,使得复制后的对象完全独立于原始对象。**
>
>
>
#### 六. range和xrange的区别
`range` 返回一个列表,`xrange` 返回一个生成器。在 Python 3 中,`xrange` 被移除,`range` 本身就是一个生成器。
#### 七. is和==的区别
* `==` 用于比较对象的值是否相等。
* `.is` 用于比较对象的身份标识是否相等(是否是同一个对象)。
#### 八. 什么是lambda函数
`lambda` 函数是一种匿名函数,通常用于简化代码,特别是在函数参数中传递简单的功能。
#### 九. 字符串拆分方法有哪些
**`split()`、`splitlines()`、`partition()`** 等。
#### 十. 单引号、双引号、三引号区别
* 单引号和双引号在 Python 中用于表示字符串,没有实质性区别。
* **三引号用于表示多行字符串(能够实现多行字符串的输入),也可以表示多行注释。**
#### 十一. python传参时需要注意什么
Python 中函数参数可以是位置参数、关键字参数、默认参数和可变参数。注意参数的顺序和类型匹配。
#### 十二. 装饰器
装饰器是一种用于修改函数或方法行为的高级技术。装饰器可以在不改变函数代码和调用方式的情况下给函数添加新的功能。本质上是一个嵌套函数,接收被装饰的函数(func)作为参数,并返回一个包装过的函数,以实现不影响函数的情况下添加新的功能。抽离出大量与函数主体功能无关的代码,增加一个函数的重用性。
应用场景:性能[测试]( )(统计程序运行时间)、插入日志、权限校验
#### 十三. 函数或变量的作用域
作用域是指在程序中定义变量或函数的区域,它决定了在何处可以访问变量或函数。作用域分为全局作用域和局部作用域。
**局部作用域(Local Scope):** 定义在函数内部的变量具有局部作用域。这意味着这些变量只能在函数内部访问,对于函数外部是不可见的。
def my_function():
x = 10 # x在此处有局部作用域
print(x)
my_function()
print(x) # 这里会报错,因为 x 在函数外不可见
**全局作用域(Global Scope):** 在函数外部定义的变量拥有全局作用域,可以在整个程序中被访问。全局变量可以在函数内部进行访问和修改,但在函数内如果出现同名的局部变量,它将会覆盖全局变量。
y = 20 # y在此处有全局作用域
def my_function():
print(y) # 可以访问全局变量 y
my_function()
def another_function():
y = 30 # 这里定义了一个同名的局部变量 y
print(y) # 输出的是局部变量 y,而不是全局变量 y
another_function()
在 Python 中,还有一个概念叫做**嵌套作用域(Enclosing Scope)**,它指的是在函数内部包含其他函数的情况。在嵌套作用域中,内部函数可以访问外部函数的变量,但不能修改它们,除非使用 `nonlocal` 关键字。
def outer_function():
z = 50 # z在此处有嵌套作用域
def inner_function():
nonlocal z
print(z) # 可以访问外部函数的变量 z
z = 60 # 修改外部函数的变量 z
inner_function()
print(z) # 输出的是修改后的 z
outer_function()
#### 十四. 解释型和编译型语言的区别
* 解释型语言在运行时逐行解释源代码。
* 编译型语言在运行之前先将源代码转换为机器代码。
#### 十五. inti和new的区别
* `__init__` 初始化对象的属性。
* `__new__` 创建对象,并返回对象实例。
文末有福利领取哦~
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
👉**一、Python所有方向的学习路线**
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。![img](https://img-blog.csdnimg.cn/c67c0f87cf9343879a1278dfb067f802.png)
👉**二、Python必备开发工具**
![img](https://img-blog.csdnimg.cn/757ca3f717df4825b7d90a11cad93bc7.png)
👉**三、Python视频合集**
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
![img](https://img-blog.csdnimg.cn/31066dd7f1d245159f21623d9efafa68.png)
👉 **四、实战案例**
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。**(文末领读者福利)**
![img](https://img-blog.csdnimg.cn/e78afb3dcb8e4da3bae5b6ffb9c07ec7.png)
👉**五、Python练习题**
检查学习结果。
![img](https://img-blog.csdnimg.cn/280da06969e54cf180f4904270636b8e.png)
👉**六、面试资料**
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
![img](https://img-blog.csdnimg.cn/a9d7c35e6919437a988883d84dcc5e58.png)
![img](https://img-blog.csdnimg.cn/5db8141418d544d3a8e9da4805b1a3f9.png)
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**