python 语言入门

news2024/11/24 8:38:39

目录

1.发展历程

2.优缺点

3.环境搭建

3.1.Anaconda

3.2.VSCode

3.3.重装自己的独立环境

4.第一个 python 程序

4.1.创建一个 .py 的文件

4.2.编写 python 代码

​4.3.运行 python 代码

5.注释

5.1.单行注释

5.2.多行注释

6.转义字符

7.变量

7.1.变量类型

7.2.变量命名规则

7.3.变量定义使用


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.单行注释

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

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

5.2.多行注释

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

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

一般不建议用多行注释。

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

文档注释:

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

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.coloradmin.cn/o/2238283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++11 --- 智能指针详解

C11 智能指针 一、智能指针的使用场景分析二、RAII和智能指针的设计思路三、智能指针的本质及衍生的问题四、C标准库的智能指针的使用五、智能指针的原理(模拟实现)1. auto_ptr的模拟实现2. unique_ptr的模拟实现3. shared_ptr的模拟实现(简单…

(实战)WebApi第13讲:怎么把不同表里的东西,包括同一个表里面不同的列设置成不同的实体,所有的给整合到一起?【前端+后端】、前端中点击标签后在界面中显示

一、实现全局跨域:新建一个Controller,其它的controller都继承它 1、新建BaseController 2、在后端配置,此处省略【详情见第12讲四、3、】 3、其它的控制器继承BaseController,这个时候就能够完成全局的跨域 【向后台传cookie和…

【C++】map和set的介绍及使用

前言: map和 set 是 C STL(标准模板库)中的两种非常重要的容器,它们基于一种叫做平衡二叉搜索树(通常是红黑树)的数据结构来实现。在 C 中,map 是一个键值对容器,set 只存储唯一的键…

Python的函数(补充浅拷贝和深拷贝)

一、定义 函数的定义:实现【特定功能】的代码块。 形参:函数定义时的参数,没有实际意义 实参:函数调用/使用时的参数,有实际意义 函数的作用: 简化代码提高代码重用性便于维护和修改提高代码的可扩展性…

el-input 正则表达式校验输入框不能输入汉字

<el-form :model"data1" :rules"rules" ref"ruleForm" label-width"210px" class"demo-ruleForm"><el-form-item label"锯路&#xff1a;" prop"sawKref"><el-input class"inptWid…

嵌入式linux系统中I2C控制实现AP3216C传感器方法

大家好,今天主要给大家分享一下,如何使用linux系统里面的I2C进行控制实现。 第一:Linux系统中I2C简介 Linux 内核开发者为了让驱动开发工程师在内核中方便的添加自己的 I2C 设备驱动程序,更容易的在 linux 下驱动自己的 I2C 接口硬件,进而引入了 I2C 总线框架。与 Linux 下…

OceanBase 应用实践:如何处理数据空洞,降低存储空间

问题描述 某保险行业客户的核心系统&#xff0c;从Oracle 迁移到OceanBase之后&#xff0c;发现数据存储空间出现膨胀问题&#xff0c;数据空间 datasize9857715.48M&#xff0c;实际存储占用空间17790702.00M。根据 required_mb - data_mb 值判断&#xff0c;数据空洞较为严重…

【flask开启进程,前端内容图片化并转pdf-会议签到补充】

flask开启进程,前端内容图片化并转pdf-会议签到补充 flask及flask-socketio开启threading页面内容转图片转pdf流程前端主js代码内容转图片-browser端browser端的同步编程flask的主要功能route,def 总结 用到了pdf,来回数据转发和合成,担心flask卡顿,响应差,于是刚好看到threadi…

QT栅格布局的妙用

当groupBox中只有一个控件时&#xff0c;我们想要它满格显示可以对groupBox使用栅格布局

MyBatis快速入门(上)

MyBatis快速入门&#xff08;上&#xff09; 一、MyBatis 简介1、概述2、JDBC、Hibernate、MyBatis 对比 二、MyBatis 框架搭建1、开发环境2、创建maven工程3、创建MyBatis的核心配置文件4、创建mapper接口5、创建MyBatis的映射文件6、通过junit测试功能7、加入log4j2日志功能 …

在Pybullet中加载Cinema4D创建的物体

首先明确我们的目标&#xff0c;是希望在cinema4D中创建自己想要的模型&#xff0c;并生成.obj文件&#xff0c;然后在pybullet中加载.obj文件作为静态物体&#xff0c;可以用于抓取物体&#xff0c;避障物体。&#xff08;本文提到的方法只能实现静态物体的建模&#xff0c;如…

第十三届交通运输研究(上海)论坛┆智能网联汽车技术现状与研究实践

0.简介 交通运输研究&#xff08;上海&#xff09;论坛&#xff08;简称为TRF&#xff09;是按照国际会议的组织原则&#xff0c;为综合交通运输领域学者们构建的良好合作交流平台。交通运输研究&#xff08;上海&#xff09;论坛已经成功举办了十二届&#xff0c;凝聚了全国百…

Pr:视频过渡快速参考(合集 · 2025版)

Adobe Premiere Pro 自带七组约四十多个视频过渡 Video Transitions效果&#xff0c;包含不同风格和用途&#xff0c;可在两个剪辑之间创造平滑、自然的转场&#xff0c;用来丰富时间、地点或情绪的变化。恰当地应用过渡可让观众更好地理解故事或人物。 提示&#xff1a; 点击下…

stm32 踩坑笔记

串口问题&#xff1a; 问题&#xff1a;会改变接收缓冲的下一个字节 串口的初始化如下&#xff0c;位长度选择了9位。因为要奇偶校验&#xff0c;要选择9位。但是接收有用数据只用到1个字节。 问题原因&#xff1a; 所以串口接收时会把下一个数据更改

昇思大模型平台打卡体验活动:项目4基于MindSpore实现Roberta模型Prompt Tuning

基于MindNLP的Roberta模型Prompt Tuning 本文档介绍了如何基于MindNLP进行Roberta模型的Prompt Tuning&#xff0c;主要用于GLUE基准数据集的微调。本文提供了完整的代码示例以及详细的步骤说明&#xff0c;便于理解和复现实验。 环境配置 在运行此代码前&#xff0c;请确保…

后悔没早点知道,Coze 插件 + Cursor 原来可以这样赚钱

最近智能体定制化赛道异常火爆。 打开闲鱼搜索"Coze 定制",密密麻麻的服务报价直接刷屏,即使表明看起来几十块的商家,一细聊,都是几百到上千不等的报价。 有趣的是,这些智能体定制化服务背后,最核心的不只是工作流设计,还有一个被很多人忽视的重要角色 —— …

基于STM32的节能型路灯控制系统设计

引言 本项目基于STM32微控制器设计了一个智能节能型路灯控制系统&#xff0c;通过集成多个传感器模块和控制设备&#xff0c;实现对路灯的自动调节。该系统能够根据周围环境光照强度、车辆和行人活动等情况&#xff0c;自动控制路灯的开关及亮度调节&#xff0c;从而有效减少能…

Qml 模型-视图-代理(贰)之 动态视图学习

目录 动态视图 动态视图用法 ⽅向&#xff08;Orientation&#xff09; 键盘导航和⾼亮 页眉与页脚 网格视图 动态视图 动态视图用法 Repeater 元素适合有限的静态数据&#xff0c; QtQuick 提供了 ListView 和 GridView, 这两个都是基于 Flickable(可滑动) 区域的元素…

新标准大学英语综合教程1课后习题答案PDF第三版

《新标准大学英语&#xff08;第三版&#xff09;综合教程1 》是“新标准大学英语&#xff08;第三版&#xff09;”系列教材之一。本书共包含6个单元&#xff0c;从难度和话题上贴近大一上学生的认知和语言水平&#xff0c;包括与学生个人生活领域和社会文化等相关内容&#x…

Python闭包|你应该知道的常见用例(下)

引言 在 Python 编程语言中&#xff0c;闭包通常指的是一个嵌套函数&#xff0c;即在一个函数内部定义的另一个函数。这个嵌套的函数能够访问并保留其外部函数作用域中的变量。这种结构就构成了一个闭包。 闭包在函数式编程语言中非常普遍。在 Python 中&#xff0c;闭包特别有…