0:如何快速掌握一门编程语言
1)了解编程语言的特性和历史
2)了解编程语言的基本语法
3)选择开发工具并实现第一个程序
4)选择一个编程手册,便于查阅
5)选择一个流行的开源框架,并掌握
6)不断实践,并养成阅读技术博客的习惯
1:了解编程语言的特性与发展历史
Python是一种通用的高级编程语言,以其简单性和可读性而闻名。Python由Guido van Rossum创建,于1991年首次发布,旨在强调代码的可读性和效率,使初学者和有经验的开发人员都可以使用它。以下是对其特点和发展历史的概述:
特性:
1)Readability:Python的语法清晰易理解,类似于伪代码。这种可读性降低了程序维护和开发的成本。
2)Extensive Libraries: Python拥有丰富的库和框架集合,用于各种任务,从web开发(Django,Flask)到数据分析(NumPy,Pandas)和机器学习 (pytorch,TensorFlow, scikit-learn).
3)Portability: Python是独立于平台的, 允许在一个系统上编写的代码在另一个系统上运行而不需要修改,这是因为它的解释性质。
4)Interpreted Nature:Python是一种解释式语言, 逐行执行代码, 它可以实现快速的开发和调试。
5)Dynamic Typing: Python使用动态类型,允许变量在执行过程中根据需要更改类型,提供了灵活性,但需要注意潜在的与类型相关的错误。
发展历史:
早期(20世纪80年代-90年代):圭多·范·罗瑟姆在20世纪80年代末在荷兰的威斯昆德和信息学中心(CWI)发起了巨蟒公司的发展。第一个版本,Python 0.9.0,于1991年发布。
Python2和Python 3的一个重要里程碑。Python 3于2008年推出,旨在纠正一些设计缺陷,增强语言。然而,由于向后不相容的变化,采用是渐进的。
用户的增长和流行:Python的流行由于其在数据科学,网络开发和人工智能等领域的简单性和应用,在2010年代激增。
社区和支持:Python拥有一个充满活力和包容性的社区,为其丰富的库、框架和资源的生态系统做出了贡献。Python软件基金会(PSF)负责监督Python的开发和社区活动。
最近的开发:Python继续随着常规版本的发展。不断地引入新特性、性能改进以及对库和框架的更新。
Python的开发过程特点是其对各种领域的适应性,其强大的社区支持,以及其对可读性和简单性的承诺,使其成为所有级别程序员的流行选择。
2:了解编程语言的基本语法
1)缩进:
Python使用缩进来定义代码块,而不是大括号或关键字。一致的缩进(通常是四个空格)对于代码的可读性和功能至关重要。
2)注释:
单行注释以#
开始,而多行注释可以包含在三引号中(“
或”“”
)。
3)变量和数据类型:
变量是通过使用=
为它们赋值来创建的。Python有多种数据类型,包括:
- Integers (int
), e.g., x = 5
- Floats (float
), e.g., y = 3.14
- Strings (str
), e.g., name = "Python"
- Booleans (bool
), e.g., is_true = True
4)控制结构:
条件语句 (if-elif-else):
if condition1:
# code block
elif condition2:
# code block
else:
# code block
循环结构 (for and while):
for item in iterable:
# code block
while condition:
# code block
5)方法:
函数使用def
关键字进行定义:
def function_name(parameters):
# code block
return something
6)列表、元组和字典:
列表(list
):用方括号括起来的有序的、可变的项目集合[]
my_list = [1, 2, 3, 'a', 'b']
元组(元组
):有序,不可变集合,括号()
。
my_tuple = (1, 2, 3, 'a', 'b')
字典(dict
):在花括号{}
中包含的键值对的无序集合。
my_dict = {'key1': 'value1', 'key2': 'value2'}
7) Input/Output:
- Input:
input()
函数用于接收用户的输入。 - Output:
print()
函数用于显示到控制台的输出。
8) 异常处理:
- Python 使用
try
,except
,finally
,else
, 和raise
用于处理异常和错误的语句。
3:选择开发工具并实现第一个程序
在实际工作中,主流软件一般选择安装Anaconda/ VScode 组合,也可使用pycharm等。大家可自行网上查找相关资料下载安装尝试。因教学阶段大家还未接触很深很复杂的代码和网络。debug需求不大,另外个人电脑,配置不同,安装各种软件造成卡顿等极其麻烦。所以我们可先选择在线平台进行开发。如 AIstudio: https://aistudio.baidu.com/index 有丰富的实战项目及有奖竞赛。以上开发工具及在线平台大家自行选择。相互帮助问一下如何使用即可。
同时也给大家推荐 七月在线平台:https://www.julyedu.com/,有丰富的AI课程和相关辅导。
4:选择一个在线编程手册,便于查阅
Python 语言参考手册 https://docs.python.org/zh-cn/3/reference/index.html
python菜鸟教程 https://www.runoob.com/python/python-tutorial.html
5:选择一个流行的开源框架,并掌握
目前主流python框架PyTorch, TensorFlow, and PaddlePaddle.
PyTorch:
优点:
- Dynamic Computational Graph(动态计算图):PyTorch使用动态计算图方法,允许在运行时轻松调试和动态创建神经网络,使其更直观的实验和调试。
缺点:
- 部署复杂性: 从历史上看,在生产中部署PyTorch模型可能更复杂,因为本地部署选项更少。然而,这一差距一直在缩小。
- 没有TensorFlow成熟:虽然快速发展,但与紧张流相比,它的预先训练过的模型可能更少,与其他工具的集成也更少。
TensorFlow:
优点:
- 强大的部署支持:Tensorflow有更好的支持和工具来大规模部署模型,包括针对移动和边缘设备的张流服务和张流精简版。
- TensorBoard: 提供了用于模型可视化、分析和调试的一个强大的可视化工具(拉伸板)。
缺点:
- Graph Definition: Historically, TensorFlow使用静态图, 这对于初学者来说可能不那么直观,也不太有利于动态模型。TensorFlow 2.x 引入动态图来缓解这个问题.
tensorflow 是比较早的模型框架。在tensorflow1.0时代大家普遍使用tensorflow 。tensorflow的与训练模型以及相应部署支持比较多。但是由于采用静态图机制。被后来而上的pytorch赶超。pytorch的动态图设计对用户更加友好。历史舞台上还出现了很多深度学习框架Keras(后被集成到tensorflow中)MXNet、caffee等。PaddlePaddle是百度公司的。百度公司作为我国最早的一批互联网公司,近些年在人工智能领域的投入十分巨大。其语言模型能力十分优秀。国产的需要特别介绍下。
PaddlePaddle :
优点:
- 易用性:paddle以其用户友好的api和易用性而闻名,提供命令式和声明式编程风格
- 与硬件的深度集成:为各种硬件架构提供优化和支持,包括cpu、gpu和专用的AI智能加速器。
- 分布式训练的简单性:为大型集群上的分布式计算和训练提供了简单的api。
- 擅长自然语言处理(NLP):以其在NLP任务中的鲁棒性和性能而闻名。
缺点:
- 更小的社区:与tensorflow和PyTorch相比,paddlepaddle拥有更小的用户基础和社区,导致潜在的更少的资源和社区贡献的内容。
- 有限的资源和教程:tensorflow和PyTorch广泛的资源、教程和社区驱动的内容。
作业1:自行查找30道python编程题跟着教程进行练习
作业2:提前预习什么是计算图、动态计算图和静态计算图
参考博文:https://zhuanlan.zhihu.com/p/164806402 如何快速掌握一门编程语言