[Python] Python 基础教程

news/2024/11/16 14:20:40/文章来源:https://www.cnblogs.com/johnnyzen/p/18383840

1 概述

1.1 简介

  • Python 是一种解释型面向对象动态数据类型高级程序设计语言
  • https://www.python.org/
  • Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
  • 像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
  • Python 2 与 Python 3
  • 官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。
  • Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容

1.2 第一个Python程序

在线模拟环境(Python3) - 菜鸟教程

#!/usr/bin/python3print("Hello, World!")
  • Python 常用文件扩展名为 .py

  • 你可以将以上代码保存在 hello.py 文件中,并使用 python 命令执行该脚本文件。

$ python3 hello.py
Hello, World!

1.2 查看版本

  • 方式1 命令行
python --version
python3 --version或python -V
python3 -V
  • 方式2 利用 sys 模块
import sys
print(sys.version);
# 或  print(sys.version_info)

  • 方式3 利用 platform 模块
import platform
print(platform.python_version())

1.3 退出 command 模式

>>> exit();
xx@yyyy:~$ 

1.4 Python的发展历程

  • Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
  • Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
  • 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
  • 现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
  • Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。
  • Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。
  • Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
  • Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。

1.5 Python的语言特点

  1. 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  2. 易于阅读:Python代码定义的更清晰。
  3. 易于维护:Python的成功在于它的源代码是相当容易维护的。
  4. 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
  5. 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
  6. 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
  7. 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
  8. 数据库:Python提供所有主要的商业数据库的接口。
  9. GUI编程:Python支持GUI可以创建和移植到许多系统调用。
  10. 可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

1.6 开发环境与工具

Python Command : 原始工具

python

VSCode : 支持Python插件/编程的IDE

PyCharm : 专业的 Python 集成软件开发环境(IDE)

  • Reference Document
  • [Python] PyCharm(Python IDE)安装教程 - 博客园/千千寰宇
  • https://www.jetbrains.com/pycharm/

Jupter Lab / Jupter NoteBook

  • JupyterLab: 用于交互式数据科学和可视化的集成开发环境(IDE)。
  • https://jupyter.org
  • 支持语言: Jupyter 支持超过 40 种编程语言,包括 Python、R、Julia 和 Scala。

Jupyter是它要服务的三种编程语言(Julia,Python、R)的缩写。

  • Julia 是一个面向科学计算的高性能动态高级程序设计语言。
  • Python 是一门编程语言,具有丰富强大的库。Python 也被称为胶水语言,因为它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地连在一起。
  • R是用于统计分析、绘图的语言和操作环境。
  • 共享笔记本 : 可以通过电子邮件、Dropbox、GitHub 和Jupyter Notebook Viewer与他人共享笔记本。
  • 交互式输出 : 您的代码可以产生丰富的交互式输出:HTML、图像、视频、LaTeX 和自定义 MIME 类型。
  • 大数据集成 : 利用 Python、R 和 Scala 中的大数据工具(例如 Apache Spark)。使用 pandas、scikit-learn、ggplot2 和 TensorFlow 探索相同的数据。
  • Jupter NoteBook

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。
Jupyter Notebook 是用于创建和共享计算文档的原始 Web 应用程序。它提供简单、精简、以文档为中心的体验。

在没有Jupyter Notebook之前,在IT领域工作的程序员是这样工作的:首先,在普通的 Python shell 或者在IDE(集成开发环境)如Pycharm中写代码,然后,在word中写文档来说明他的项目。这个过程很繁琐,通常是写完代码,再写文档的时候还要重头回顾一遍代码。
最麻烦的地方在于,有些数据分析的中间结果,还要重新跑代码,然后把结果弄到文档里给客户看。有了Jupyter Notebook之后,程序员的世界突然美好了许多,因为Jupyter Notebook可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。
也就是,它可以能将代码、文档等这一切集中到一处,让用户一目了然。
  • JupyterLab : 下一代笔记本界面。

是最新的基于 Web 的交互式开发环境,适用于笔记本、代码和数据。
其灵活的界面允许用户配置和安排数据科学、科学计算、计算新闻和机器学习中的工作流程。
模块化设计允许扩展以扩展和丰富功能。

  • 推荐文献
  • Jupyter 的安装及使用 - CSDN 【推荐】

Jupyter 的安装方法有3种:

  • 1、命令行安装 Jupyter Notebook : pip install jupyter
  • 2、VSCode 安装 Jupyter Notebook : Python插件 + Jupyter插件
  • 3、Anaconda 安装 Jupyter Notebook

版本环境管理 : Conda

包管理 : pip

X 参考文献

  • Python
  • https://www.python.org
  • GPT
  • Python 2.X - 菜鸟教程
  • Python 3.X - 菜鸟教程
  • 手机最强Python编程神器,在手机上运行Python不再是梦! - Weixin
  • QPython OH : Qpython是一个轻量级的、成熟的python编程工具。它配有终端和简单的代码编辑器。它支持安装第三方库。目前,它支持Python 3.6.6,这还不算太老。
  • Aid Learning : 一款很酷的高端移动编程工具,可以直接在app Store中下载和安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795364.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从数据洞察到智能决策:合合信息infiniflow RAG技术的实战案例分享

从数据洞察到智能决策:合合信息&infiniflow RAG技术的实战案例分享从数据洞察到智能决策:合合信息&infiniflow RAG技术的实战案例分享 标题取自 LLamaIndex,这个内容最早提出于今年 2 月份 LlamaIndex 官方博客。从 22 年 chatGpt 爆火,23 年大模型尝鲜,到 24 年真…

数据飞轮转进快递行业 能够为企业带来哪些新想象

快递行业的2024年下半场竞赛已然开始,鉴于双11、年货节等电商营销重要节点都集中在下半年,流转出快递行业在下半年的巨大市场机会,数据飞轮或许能成为更多快递企业的增长动力,转出更为稳健的业绩增长。更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【…

手动用梯度下降法和随机梯度下降法实现一元线性回归

手动用梯度下降法和随机梯度下降法实现一元线性回归(超详细)手动用梯度下降法实现一元线性回归 实验目的 本次实验旨在通过手动实现梯度下降法和随机梯度下降法来解决一元线性回归问题。具体目标包括:生成训练数据集,并使用matplotlib进行可视化。 设计一个`LinearModel`类…

[JavaScript] 事件委托以及 Vue 列表循环事件绑定的性能优化

前言 事件委托(Event Delegation) 是一种通过将事件监听器绑定到父元素,而不是直接绑定到每个子元素上的技术。这样可以减少事件监听器的数量,提升性能,并使得对动态添加或移除的元素更容易进行事件处理。 事件冒泡和事件捕获 事件冒泡:从里往外 <div id="parent…

GT收发器

1.GT触发器的IP使用 第一页 第二页 第三页 GTP IP 提供了两种解决跨时钟域的方法:(1)RX Elastic Buffer(RX 弹性缓冲器);(2)RX Phase Alignment(RX 相位对齐电路),两种方法的比较:RXElastic Buffer优点在于稳定,易使用, 执行相位校准的速度快,但是需要时钟和通道进…

Qt 中实现异步散列器

在很多工作中,我们需要计算数据或者文件的散列值,例如登录或下载文件。 而在 Qt 中,负责这项工作的类为 `QCryptographicHash`。 虽然 `QCryptographicHash `很优秀,但它最大的问题在于其散列值的计算是同步的( 即阻塞 ),对小数据来说并没什么影响,但对大数据来说则意味明…

新建工程——STM32学习笔记2

目录新建工程 添加启动程序Start 添加内核程序Core相关资料下载 下载链接(来自B站江协科技) 通过百度网盘分享的文件:STM32入门教程资料 链接:https://pan.baidu.com/s/17_sbwMXU-xBVFA2sK0smrg?pwd=cgn6 提取码:cgn6STM32开发方式有3种,分别是基于寄存器开发、基于标准…

Java八股复习指南-集合

Java集合 Map HashMap 实现原理/底层 Java1.8之前:数组加链表 Java1.8之后:当一个链表的长度超过8,且数组大小超过64时,会将链表转换成红黑树存储,查找效率更高,时间复杂度O(log n)。如果长度超过8,但是数组容量不足64,则会选择扩容数组。 定位算法 计算key的哈希值,并…

幂函数与指数函数区别

本文来自博客园,作者:cytlz2730,转载请注明原文链接:https://www.cnblogs.com/cytwjyy/p/18407701

zabbix“专家坐诊”第255期问答

问题一 Q:大家好,问一下,zabbix做聚合图的时候,可以做到两根线在一个图里- 吗?还是说只能,单边计算聚合,然后再最后作图的时候,添加两条线上去A:两个数据吗 Q:是的。一个端口,有进有出 A:如果是两个监控项可以做到聚和一起问题二 Q:请问大佬们,这个加密是干嘛的?…

项目管理方法,方法和框架–初学者指南

项目可以通过各种方式成功结束。但是,最好,最受欢迎的项目管理方法,方法和框架总是在变化。新概念无时无刻不在出现。所有成功的项目都包含一整套方法,工具和技术。实际上,作为项目管理从业人员,您一生中可能会使用其中的一种以上。 但是,项目管理方法论,方法和框架不仅…