python第一课:如何学好一门语言

本文指导如何快速掌握编程语言,包括Python的历史、特性、基本语法、选择合适的开发工具(如Anaconda/VSCode)、在线编程手册、流行的开源框架(如PyTorch、TensorFlow和PaddlePaddle),以及动态与静态计算图的区别。
摘要由CSDN通过智能技术生成

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:

优点:

  1. Dynamic Computational Graph(动态计算图):PyTorch使用动态计算图方法,允许在运行时轻松调试和动态创建神经网络,使其更直观的实验和调试。

缺点:

  1. 部署复杂性: 从历史上看,在生产中部署PyTorch模型可能更复杂,因为本地部署选项更少。然而,这一差距一直在缩小。
  2. 没有TensorFlow成熟:虽然快速发展,但与紧张流相比,它的预先训练过的模型可能更少,与其他工具的集成也更少。

TensorFlow:

优点:

  1. 强大的部署支持:Tensorflow有更好的支持和工具来大规模部署模型,包括针对移动和边缘设备的张流服务和张流精简版。
  2. TensorBoard: 提供了用于模型可视化、分析和调试的一个强大的可视化工具(拉伸板)。

缺点:

  1. Graph Definition: Historically, TensorFlow使用静态图, 这对于初学者来说可能不那么直观,也不太有利于动态模型。TensorFlow 2.x 引入动态图来缓解这个问题.

tensorflow 是比较早的模型框架。在tensorflow1.0时代大家普遍使用tensorflow 。tensorflow的与训练模型以及相应部署支持比较多。但是由于采用静态图机制。被后来而上的pytorch赶超。pytorch的动态图设计对用户更加友好。历史舞台上还出现了很多深度学习框架Keras(后被集成到tensorflow中)MXNet、caffee等。PaddlePaddle是百度公司的。百度公司作为我国最早的一批互联网公司,近些年在人工智能领域的投入十分巨大。其语言模型能力十分优秀。国产的需要特别介绍下。

PaddlePaddle :

优点:

  1. 易用性:paddle以其用户友好的api和易用性而闻名,提供命令式和声明式编程风格
  2. 与硬件的深度集成:为各种硬件架构提供优化和支持,包括cpu、gpu和专用的AI智能加速器。
  3. 分布式训练的简单性:为大型集群上的分布式计算和训练提供了简单的api。
  4. 擅长自然语言处理(NLP):以其在NLP任务中的鲁棒性和性能而闻名。

缺点:

  1. 更小的社区:与tensorflow和PyTorch相比,paddlepaddle拥有更小的用户基础和社区,导致潜在的更少的资源和社区贡献的内容。
  2. 有限的资源和教程:tensorflow和PyTorch广泛的资源、教程和社区驱动的内容。

作业1:自行查找30道python编程题跟着教程进行练习
作业2:提前预习什么是计算图、动态计算图和静态计算图

参考博文:https://zhuanlan.zhihu.com/p/164806402 如何快速掌握一门编程语言

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值