先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
正文
- Python 是高级语言:这里所说的高级,是指 Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放)。
高级语言的优点是使用方便,不用顾虑细枝末节;缺点是容易让人浅尝辄止,知其然不知其所以然。 - Python 是解释型语言,能跨平台:解释型语言一般都是跨平台的(可移植性好),Python 也不例外。
- Python 是面向对象的编程语言:面向对象(Object Oriented)是大多数“现代”语言(即第三代编程语言)都具备的特性,否则在开发中大型程序时会捉襟见肘。
Python 虽然支持面向对象,但它并不强制你使用这种特性。Java 是典型的面向对象的编程语言,它强制必须以类和对象的形式来组织代码。除 Python 和 Java 外,C++、C#、PHP、RuBy、Perl 等,也都支持面向对象的特性。
除了面向对象的编程语言外,还有一种面向过程的编程语言,其中最典型的代表就是 C 语言。
- Python 功能强大(模块众多):Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。
Python 社区发展良好,除了 Python 官方提供的核心模块,很多第三方机构也会参与到模块的开发中,这其中就有 Google(谷歌)、Facebook(脸书)、Microsoft(微软) 等软件巨头。
在 Python 中,即使是一些小众的功能,它往往也有对应的开源模块,甚至有可能不止一个。
- Python 可扩展性强:Python 的可扩展性体现在它的模块,Python 具有脚本语言中最丰富、强大的库或模块,这些库或模块覆盖了文件操作、图形界面编程、网络编程、数据库访问等绝大部分应用场景。
值得注意的是,这些类库的底层代码不一定都是 Python,还有很多 C/C++ 的身影。
比如当需要一段关键代码运行速度更快时,就可以使用 C/C++ 语言实现,然后在 Python 中调用它们。Python 能把其它语言“粘”在一起,所以被称为“胶水语言”。
Python 依靠其良好的扩展性,在一定程度上弥补了运行效率慢的缺点。
Python的缺点
除了上面提到的各种优点,Python 也是有缺点的。
- 运行速度慢:运行速度慢是解释型语言的通病,Python 也不例外。
Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。
Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
但是速度慢的缺点往往也不会带来什么大问题。首先是计算机的硬件速度运来越快,多花钱就可以堆出高性能的硬件,硬件性能的提升可以弥补软件性能的不足。其次是有些应用场景可以容忍速度慢,比如网站,用户打开一个网页的大部分时间是在等待网络请求,而不是等待服务器执行网页程序。服务器花 1ms 执行程序,和花 20ms 执行程序,对用户来说是毫无感觉的,因为网络连接时间往往需要 500ms 甚至 2000ms。
- 代码加密困难:不像编译型语言那样,源代码会被编译成可执行程序(这个编译过程就相当于对源码加密),对于 Python 来说是直接运行源代码,因此对源码加密是比较困难的。
基础语法
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
# coding:windows-1252
或者
# coding=windows-1252
上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、马其顿语、俄语、塞尔维亚语。
代码缩进
Python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}
。通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个Tab键就表示 4 个空格)。
Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
以上程序由于缩进不一致,执行后会出现类似以下错误:
File "test.py", line 6
print ("False") # 缩进不一致,会导致运行错误
^
IndentationError: unindent does not match any outer indentation level
对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \
来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
在 []
, {}
, 或 ()
中的多行语句,不需要使用反斜杠 \
,例如:
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
注释
Python 中单行注释以 #
开头,实例如下:
# 第一个注释
print ("Hello, Python!") # 第二个注释
从井号 #
开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到 #
时,会忽略它后面的整行内容。多行注释可以用多个 #
号,还有 '''
和 """
:
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
合理使用注释可以提高代码的可读性和可理解性。一般情况下,合理的代码注释应该占源代码的 1/3 左右。
标识符与保留字
标识符可以简单地理解为-一个名字,比如每个人都有自己的名字,它主要用来标识变量、函数、类、模块和其他对象的名称。
Python 语言标识符命名规则如下:
- 由字母(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
- 标识符不能和 Python 中的保留字相同。
- Python 中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
需要注意的是,
- 在 Python 中,标识符中的字母是严格区分大小写的。
- Python中以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符。
- 现在 Python 语言中允许使用汉字和非 ASCII 码作为标识符,但应尽量避免,这会避免遇到很多奇葩的错误
编码规范
在讲解具体的 Python 编码规范之前,先来看看两段代码:
对比图中的两段代码你会发现,它们所包含的代码时完全相同的,但很明显,右侧的代码编写格式看上去比左侧的代码段更加规整,阅读起来也会比较轻松、畅快,因为它遵循了最基本的 Python 代码编写规范。
编码规范是一套约定俗成的规则,有助于提高代码的可读性和可维护性。Python官方推荐的编码规范是PEP 8,其中 PEP 是 Python Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。下面仅给大家列出 PEP 8 中初学者应严格遵守的一些编码规则:
- 使用4个空格进行缩进。
- 不要在行尾添加分号,也不要用分号将两条命令放在同一行。
- 每个 import 语句只导入一个模块,尽量避免一次导入多个模块。
- 每行代码不超过80个字符,如果超过,建议使用小括号将多行内容隐式的连接起来,而不推荐使用反斜杠
\
进行连接。 - 通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。
- 在函数之间、类之间、方法之间使用必要的空行增加代码的可读性等。
遵循编码规范有助于你编写出结构清晰、易于阅读和维护的 Python 代码。
命名规范
命名规范是关于如何命名变量、函数、类和模块的规则。良好的命名规范能够使你的代码更易于理解。
在Python中,通常使用小写字母和下划线来命名变量和函数(例如:my_variable、calculate_sum)。类名应该采用驼峰命名法(例如:MyClass)。
选择具有描述性的名称,并尽量避免使用单个字符或缩写,以便代码的可读性更强。
标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:
- 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。
- 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
- 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
- 模块内部的类名,可以采用 “下划线+首字母大写” 的形式,如 _Book;
- 函数、类的属性和方法的命名规则同模块类似,应全部使用小写字母,多个单词之间可以用下划线分割;
- 常量命名应全部使用大写字母,单词之间可以用下划线分割;
- 使用单下划线“_”开头的模块变量或者函数是受保护的,在使用 from xxx import* 语句从模块中导入时这些变量或者函数不能被导入。
- 使用双下划线“__”开头的实例变量或方法是类私有的。
结语
通过了解代码缩进、注释、编码规范、命名规范等,你已经迈出了零基础 Python 编程的第一步。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-PAdlKx9X-1713380584327)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!