python 语言入门

news/2024/11/12 21:25:25/

1.发展历程

之前国内(软件为主)使用最多的编程语言是 java(C++难学,主要应用于开发硬件)。近年来由于 AI 的出现,python 逐渐火起来(之前火不起来,是因为它是脚本,脚本优点是开发速度快、缺点是承受力有限,国内基本后台开发都用 java)。

自从 20 世纪 90 年代初 Python 语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和 Web 编程。 Python 的创始人为荷兰人吉多 · 范罗苏姆 (Guido van Rossum,数学家)。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国 20 世纪 70 年代首播的电视喜剧《蒙提 · 派森的飞行马戏团》(Monty Python's Flying Circus)。

由于 Python 语言的简洁性、易读性以及可扩展性,在国外用 Python 做科学计算的研究机构日益增多,一些知名大学已经采用 Python 来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python 语言讲授。众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV、三维可视化库 VTK、医学图像处理库 ITK。而 Python 专用的科学计算扩展库就更多了,例如如下 3 个十分经典的科学计算扩展库:NumPy、SciPy 和 matplotlib,它们分别为 Python 提供了快速数组处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。 2018 年 3 月,该语言作者在邮件列表上宣布 Python 2.7 将于 2020 年 1 月 1 日终止支持。用户如果想要在这个日期之后继续得到与 Python 2.7 有关的支持,则需要付费给商业供应商。

主要学习语言应用,技术原理可不用那么深究。本系列文章使用 python 3.10 版本(主要关注大版本 python 3.10,小版本 python 3.10.14 不用关注太多,它是一些小幅改动及修复bug)。

2.优缺点

  • 优点:简单、易学、速度快、开源(意味着可白嫖)、高层语言(越低层的语言越难学)、解释性(速度快的原因之一。计算机语言分为编译性(把代码翻译为机器认识的,再执行)和解释性(写代码就行机器能看懂,脚本)两种)、面向对象、可嵌入式(可操作硬件)、丰富的库(十几万个)、规范代码。
  • 缺点:单行语句(其他编程语言约束的是分号或大括号;python 是靠回车,当一行过长时不能回车到下一行去做(也非绝对,但回车后写会很难受))、独特语法(其语法纯靠回车和缩进约束)、相对于 C、C++ 运行速度慢(除了它俩就是最快的)。

3.环境搭建

3.1.Anaconda

python 写的一个程序,集成了很多常用的库,相当于 python 的一个平台,做其他一些集成方便很多。

Anaconda 和 miniconda 是广泛用于数据科学的软件发行版,用于简化包管理和部署。miniconda 是 Anaconda 的迷你版本。

a.主要区别:

  • packages 包数量:Anaconda 自带了大量 150 多个科学计算、数据分析和机器学习相关的包(如 NumPy、Pandas、scikit-learn 等),安装包非常大,约有3 GB;而 miniconda 是 Anaconda 的精简版,安装体积小,只有基础的 conda 包管理器和 Python 环境,不包含其他预安装包,约为50-100 MB。
  • Interface 接口:Anaconda 有一个称为 Navigator 的图形用户界面 (GUI);而 miniconda 有一个命令行界面。

b.适用人群:

Anaconda:

  • 适合刚开始接触数据科学的用户(不熟悉 conda 或 Python)或有完整数据分析需求的人,自带包齐全,可以免去手动安装包的麻烦。
  • 有时间和磁盘空间(几分钟和 3 GB)。

miniconda:

  • 适合有经验的用户,可根据需要随时安装删除包,更灵活,或希望只安装自己需要的包,避免冗余。
  • 没时间(想快速访问 Python 和 conda 命令)或磁盘空间不够。

可装Miniconda(完整版会装现阶段用不着的东西):

清华镜像站比官网下载快些。

一直点继续。选为所有用户安装。(windows默认装c盘即可,避免后续问题)。

3.2.VSCode

编辑工具,更方便地写 python 代码(缩进、高亮、语法检查),插件丰富,体量小(pycharm 体量大,一启动占用 3 个多 G 内存,慢)。

直接点蓝色高亮下载安装包。

可直接拖到桌面。

安装 python 插件。

中文插件自选安装。

截图插件:

选中代码右键,点 CodeSnap 即可。

图标插件:

安装软件路径不要太深。

windows 路径不要有中文、空格,由于不同国家不同语言版本是不一样的,中文常用编码格式不同:

  • GBK 一个中文两个字节。
  • UTF-8 一个中文三个字节。

macos 无所谓,其编码方式是统一的,不会出现乱码问题。

3.3.重装自己的独立环境

打开终端:

conda create -nSF130 python==3.10 -y

  • conda create:创建新 Conda 环境的命令。
  • -n SF130:-n 即 -name,用于指定新环境名称,这里是 SF130
  • python==3.10:指定了要在新环境中安装的 Python 版本。
  • -y:用于自动确认所有提示,避免在创建环境过程中需要手动输入 yes

执行这个命令后,Conda 将会:

  1. 检查是否已安装所需版本的 Python。
  2. 如果没有,它会下载并安装 Python 3.10。
  3. 创建一个名为 SF130 的新环境,并将 Python 3.10 安装在这个环境中。
  4. 由于使用了 -y 选项,所有可能的确认提示都会被自动接受。

出现三个连续的 done 即表示安装成功。

电脑慢预算不足买新电脑也可加个内存条~

4.第一个 python 程序

4.1.创建一个 .py 的文件

python 支持中文,可以有中文,但最好不要有空格。

vscode 支持所有语言的开发,所以本质上去识别该用哪个语言的语法去对写的代码进行验证,取决于文件的后缀。

4.2.编写 python 代码

vscode 默认没有自动保存,需要手动保存:

  • macos:command + s
  • windows:control + s

vscode 也能手动保存,这里培养下手动保存习惯,避免台式机断电问题。

英文标点占一个字符,中文标点占两个字节。


4.3.运行 python 代码

顶部会弹一个下拉列表,选中所需的独立环境:

终端清屏:

  • macos:clear
  • windows:cls

macos 和 linux 用的都是 unix 操作系统。

5.注释

注释的作用是为了让程序的可读性更高 , 更容易理解代码。

程序在执行时不会执行注释。

写代码前应该先写出注释,通过注释映射到代码里。

5.1.单行注释

用井号(#)对代码进行单行注释,上&右。

python"># 在程序的控制台打印一个 Hello World
print('Hello World') # 注释格式:# 后加空格 加注释内容

5.2.多行注释

用一对三引号('''或""")。

python">'''
这是一个
多行注释
'''"""
这也是一个
多行注释
"""

一般不建议用多行注释。

多行注释内容和 hello world 颜色一样,一旦前面加点啥就变成不是注释了。

文档注释:

多行注释通常用于文档字符串(docstrings),这是一种为函数、模块和类编写文档的方法。

python">def my_function():"""这是一个文档字符串的例子。可以用于描述函数的功能、参数和返回值。"""pass

选中所要加注释的代码,macos:command + ?;windows:control + ?,即可将所选代码变为注释。再按取消注释,再按加上注释。

6.转义字符

mac:command + 空格,搜索要找的软件。

7.变量

程序本质上是数据结构(不同类型的变量) + 算法。

数据类型大致分为:数字、文本、时间。

  • 变量是计算机程序中用于存储和引用数据的一种命名标识符。
  • 它是为了在程序执行过程中保存和操作数据而创建的一种存储区域。
  • 变量的使用使得程序能够动态地存储和操作数据,从而实现更灵活和可重用的代码。

7.1.变量类型

a.可变类型:变量内容发生改变 , 但是变量在内存当中的地址不变。

  • 列表
  • 字典
  • 集合

b.不可变类型:变量内容发生改变 , 变量在内存当中的地址也发生了改变。

  • 数字 (整数、小数(浮点数)、布尔类型)
  • 字符串(即文本)
  • 元组

7.2.变量命名规则

  • 只能是数字、字母、下划线、中文(python 官方还支持日文)。
  • 不能以数字开头。
  • 别加空格。
  • 不能使用 python 关键字。
  • 见名知意。

Python 关键字(也称为保留字),指被 Python 语言内部定义并保留使用的标识符,其他开发者不允许自定义和它们相同的标识符。

  1. and 逻辑与
  2. or 逻辑或
  3. not 逻辑非
  4. if 条件语句,常与 else、elif 结合使用
  5. elif 条件语句,常与if、else 结合使用
  6. else 在条件语句中使用,与 if、elif 结合使用。也可用于异常和循环语句
  7. for 循环语句
  8. while 循环语句
  9. True 布尔类型的值,表示真,与 False 相反
  10. False 布尔类型的值,表示假,与 True 相反
  11. continue 跳出本次循环,执行下一次循环
  12. break 中断整个循环语句的执行
  13. pass 空的类、方法或函数的占位符
  14. try 常用于捕捉异常,与 except、finally 结合使用
  15. excpet 包含捕获异常后的操作代码块,与 try、finally 结合使用
  16. finally 出现异常后,始终要执行 finally 包含的代码块,与 try、except 结合使用
  17. raise 抛出异常
  18. from 用于导入模块,与 import 结合使用
  19. import 用于导入模块,与 from 结合使用
  20. def 定义函数或方法
  21. return 函数或方法的返回值
  22. class 定义一个类
  23. lambda 匿名函数
  24. del 删除变量或某个序列中的值
  25. global 定义一个全局变量
  26. nonlocal 声明一个非局部变量,用于标识外部作用域的变量
  27. in 判断某个变量是否在序列中
  28. is 判断是否是同一个对象
  29. None 表示什么也没有,它有自己的数据类型-NoneType
  30. assert 用于调试
  31. as 创建别名
  32. with 常与open使用,用于读取或写入文件
  33. yield 结束一个函数,返回一个生成器,用于从函数依次返回值

7.3.变量定义使用

有 = 的代码是从右往左读。


http://www.ppmy.cn/news/1545907.html

相关文章

ThreadLocal从入门到精通

1.ThreadLocal是什么 ThreadLocal 是 Java 提供的一个用于线程存储本地变量的类。它为每个线程提供独立的变量副本,确保变量在多线程环境下的线程安全。每个线程访问 ThreadLocal 时,都会有自己专属的变量副本,互不干扰,避免了并…

Spring Boot 的核心原理和工作机制

1. 自动配置 (Auto-configuration) Spring Boot 的自动配置机制是它最引人注目的特性之一。它基于 Spring 的条件化配置(Conditional Configuration),允许 Spring Boot 根据类路径上的依赖和 Bean 的存在来决定如何配置应用。以下是自动配置的…

Rust常用数据结构教程 序列

文章目录 一、Vec1.Vec与堆栈2.什么时候需要Vec3.get()方法4.与枚举的结合 二、VecDeque1.什么情况适合VecDeque2.VecDeque的方法 三、LinkedList1.什么时候用LinkedList 参考 一、Vec 可变数组(vector)数组存储在heap上,在运行时(runtime)可以增加或减少数组 长度 有人把Ve…

怎样使用pycharm中的服务?

在PyCharm中使用服务,你需要执行以下步骤: 打开PyCharm,并在项目中创建一个新的Python文件。在Python文件中,编写你的代码来创建和使用服务。根据你想要使用的服务类型,可能需要安装相关的库或模块。在PyCharm的菜单栏…

Springboot+thymeleaf结合Vue,通过thymeleaf给vue赋值解决Vue的SEO问题

通过结合Spring Boot、Thymeleaf和Vue,可以充分利用Thymeleaf的服务端渲染功能,解决Vue全客户端渲染带来的SEO问题。以下是结合上述SEO优化重点的具体实现思路: 1. 在服务端渲染Title标签关键词 在Spring Boot控制器中定义页面的标题&#…

Vue全栈开发旅游网项目(9)-用户登录/注册及主页页面开发

1.用户登录页面开发 1.查询vant组件 2.实现组件模板部分 3.模型层准备 4.数据上传 1.1 创建版权声明组件Copyright 新建文件&#xff1a;src\components\common\Copyright.vue <template><!-- 版权声明 --><div class"copyright">copyright xx…

vue+exceljs前端下载、导出xlsx文件

首先安装插件 npm install exceljs file-saver第一种 简单导出 //页面引入 import ExcelJS from exceljs; import {saveAs} from file-saver; export default {methods: { /** 导出操作 */async handleExportFun() {let that this// 获取当前年月日 用户下载xlsx的文件名称设…

无人机之飞行管控平台篇

无人机的飞行管控平台是一种基于互联网和物联网技术的智能管理系统&#xff0c;旨在实现对无人机飞行任务的全自动化、全过程化管理。 一、主要功能 飞行计划管理&#xff1a;用户可以通过平台提前设置好无人机的飞行计划&#xff0c;包括起飞时间、航线、飞行高度等信息。平…