python入门系列一(python概述)

204 阅读5分钟

1.引言

python算得上是一门古老的语言,相比较于java编程语言发布更早(python于1991年正式发布,java于1995年正式发布)。这里提起java没有别的因素,只因为java是作者的第一编程语言(实际工作中使用最多,不管是项目研发,还是产品研发,教学等)。当然了,技多不压身,顺带着还有第二第三编程语言,分别是python和go。

2022年11月Open AI发布chatGPT后,发展近70年的人工智能终于有机会飞入寻常百姓家,具备了产业普适性的条件和要素,不再那么高冷!而AI领域编程语言首选当属python。

当下,AI领域大语言模型LLM和智能体Agent异常热闹,于编程界甚至于可以大胆的去做比较,类似于PC时代Web的开发,移动互联网时代App的开发,那么LLM时代当属Agent的开发。

于是思索再三,有了这个系列的分享,目标针对零基础或对python还不是很熟悉的朋友,一句话总结:入门专用!衔接配套我的另外一个分享系列(LLM+Agent),作为开胃菜打好基础,共同学习分享交流,与大家共勉!

整体内容涉及:

  • python概述
  • 环境准备
  • 基础知识
  • 数据类型
  • 流程控制
  • 文件操作
  • 函数
  • 模块与标准库
  • 异常

2.python概述

2.1.python历史简介

python之父是吉多·范罗苏姆,作为ABC语言的设计者之一。可以说python的源起来自于ABC语言,ABC是专用于教学的语言,集简洁优美强大于一身,于是在python的身上我们可以看到python的优美简洁强大。

至今,python已经发布了3个大版本,历史跨度比较久,分别跨度时间线:

  • 1991年发布python 1大版本
  • 2000年发布python 2大版本,稳定版本是python2.7
  • 2008年发布python 3大版本,最新正式版本python3.13

实际生产项目中,需要注意的是python2大版本,官方于2018年宣告终止支持,如果是新项目,建议直接使用python3大版本了。同时不建议直接用最新版本3.13,考虑到很多第三方库,以及框架和IDE未必跟上更新步伐,使用3.10或者3.11版本是不错的选择。

小知识:
Q:这么多版本,如果要同时负责多个项目,且不同项目使用的python版本不一致,怎么办?
A:不要着急,虚拟环境呀!在环境准备篇,我会详细分享python虚拟环境的使用

官网地址:www.python.org/

image.png

2.2.python语言特点

python是一门面向对象,动态特性,解释型编程语言。这里有几个关键词:面向对象,动态,解释型。首先我们来看面向对象,它是一种编程范式,关于编程范式主流有面向过程,面向对象,函数式几种。不知道你有没有搞清楚几种编程范式之间的区别,我在这里简单分享一下。

  • 面向过程:以函数作为组织代码单元,将数据和操作数据的方法(函数)分开,适合于小型,逻辑关系不复杂的应用。代表语言C
  • 面向对象:以类和对象作为组织代码单元,将数据和操作数据的方法绑定,适合于大型,逻辑关系复杂的应用。代表语言java,python,go等
  • 函数式:函数式编程这里的函数,不是一般意义的函数,更倾向于数学函数,或者叫做表达式。它是程序面向数学的更底层抽象,把计算过程表述为表达式,更加适合于科学计算,统计分享,数据处理等场景。代表语言scala,Lisp等

简单搞清楚了几种编程范式,回到我们的主题python动态特性。动态特性是指具有类型动态分配和对象属性的动态添加,以及对象方法动态添加。非常灵活!我们可以从优缺点和具体应用层面来看一下。

  • 优点:灵活,易用扩展使用
  • 缺点:牺牲一定代码可读性和维护性。IDE难以提供完整代码补全和错误检查能力
  • 应用场景:数据注入场景,插件系统开发场景,运行时特性探测场景

最后再来看,python的解释特性。说起解释型,那就有对应的编译型语言,比如说java,C++。执行过程需要将源程序代码,通过编译器(VM)编译成字节码,再进一步通过解释器将字节码转化成不同底层平台指令集的指令(二进制)。python不需要编译成二机制代码,直接把源程序翻译成计算机使用的机器语言并运行,这也是python更加简单,程序更易于移植的原因。当这样一来相比较于编译型语言,牺牲了一定的执行性能,每次运行都要从源文件重头来过。

2.3.python应用场景

python编程语言的特点,决定了它有支撑广泛应用场景的能力。比如在谷歌内部有一句著名的格言:python where we can,c++ where we must。大意是说能用python我们就用python了,没有办法了才c++。你看看!那么什么时候用python,什么时候必须用c++呢?如果应用对性能有要求,那就是必须要使用c++这样的编程语言,python为了易用性,在性能牺牲上做了一些权衡取舍。

具体罗列一下,python常用的一些应用场景:

  • web开发
  • 科学计算和统计应用开发
  • gui开发
  • 图形处理应用开发
  • 网络编程应用开发
  • 爬虫开发
  • 人工智能开发

以上是常用场景支撑,更多场景就不一一列举了。