当前位置: 首页 > news >正文

Python基础学习笔记(一)

请添加图片描述

Python简介

  • Python 语言是一种跨平台开源免费解释型面向对象动态数据类型的高级程序设计语言。
  • 早期版本的 Python 被称作是 Python1Python2 最后一个版本是 2.7Python3 是目前最活跃的版
    本,基本上新开发的 Python 代码都会支持 Python3Python4是未来的版本,目前还处于萌芽状态,至今没有相关发布。
  • Python3Python2 并不是完全兼容的,即在 Python2 中可以运行的代码并不一定可以在 Python3 中运行。
    但在 Python3 中也提供了一些工具,如 2to3,这些工具可以帮助用户将 Python 2 编写的代码转换成 Python3 编写的代码。
    1. 多数 Python 库都完成了向 Python3 迁移的任务。

Python应用

  • 常规软件开发
  • 科学计算
  • 自动化运维
  • 云计算
  • Web开发
  • 网络爬虫
  • 数据分析
  • 人工智能

Python开发环境搭建与使用

1. Python下载

    1. 可以从Python官方网站下载安装包。
    1. 也可以从网上下载ActivePython组件包。ActivePython是对Python核心模块和常用模块的二进制封装,是ActiveState公司发布的Python开发环境。ActivePython使得Python的安装更容易,并且可以应用在各种操作系统上。ActivePython包含一些常用的Python扩展,以及Windows环境下的编程接口。
      如果是Windows用户,下载msi包安装即可;如果是UNIX用户,下载tar.gz包直接解压即可。
    1. 再就是下载Python的IDE具体包括PythonWinEclipse+PyDev插件、KomodoEditPlusPyCharm

2. Python安装

    1. Windows操作系统上安装Python
    1. Linux操作系统上安装Python。里以Ubuntu Linux为例。PythonUbuntu下有两种常用安装方法:
    • 通过Ubuntu官方的apt工具包安装。
    • 通过编译Python源代码安装。输入以下命令:sudo apt-get install python3.11.2aptPython安装包下载到本地并自动进行安装。Python被默认安装到usr/local/lib/python311目录中。安装完毕后,可以直接输入python命令来查看Python版本号或是否安装成功

3. Python启动

  • Windows操作系统上安装成功后,打开Windows的命令提示符窗口,输入: python命令,即可显示当前Python的版本号,并进入Python交互模式,在Python交互模式下可以直接输入python命令并执行。在命令提示符窗口中使用交互模式执行python命令,只适用于测试功能。当关闭窗口时,所有输入的命令和执行结果均无法重现,因此,对于一些需要重复使用的代码,不能适用。

4. 多版本Python的安装

以Windows环境为例

    1. 假设前面已经安装了Python 3.11.2,想再安装一下Python 3.7.9。从Python官网下载Python 3.7.9的安装包,然后双击运行;按指引正常安装,唯一要注意的是在选项界面里面不要添加路径到系统变量。
    1. 在安装完之后,
    • 打开【控制面板】|【系统和安全】|【系统】,单击【高级系统设置】;
    • 打开【系统属性】对话框,单击【环境变量】;
    • 打开【环境变量】对话框,在【系统变量】列表框中选择Path,然后单击【编辑】;
    • 弹出“编辑环境变量”对话框,单击【新建】,分别添加C:\Python\Python37C:\Python\Python37\Scripts到环境变量中;
    • 找到Python的安装目录,分别将Python37Python311子目录中python.exepythonw.exe的名称修改为python37.exepythonw37.exepython311.exepythonw311.exe
    • 运行cmd命令,输入python37即可运行Python 3.7.9版本,输入python311即可运行Python 3.11.2版本
    • Python安装包需要用到包管理工具pip,但是当同时安装多版本Python时,pip只是其中一个版本,以下将提供一种修改方式,重新安装两个版本的pip,使得两个Python版本的pip能够共存,在DOS命令窗口中输入以下命令:python311 -m pip install --upgrade pip --force-reinstallpython37 -m pip install --upgrade pip --force-reinstall .

5. Python虚拟环境的安装

    1. 安装virtualenv镜像,执行以下命令(pip3.11Python311下的pip):pip3.11 install virtualenv
    1. 新建virtualenv,例如,在Python311安装目录下新建一个名为scrapytest的虚拟环境:virtualenv scrapytest
    1. 使用cd命令进入C:\Python\Python311\scrapytest\Scripts目录,直接输入activate命令并执行,进入虚拟环境,进入虚拟环境,就可以运行Python进行测试了。
    1. 当安装多个Python版本时,可以更改虚拟环境的Python版本,例如,要为虚拟环境更改Python版本到Python 3.7,命令如下:virtualenv -p C:\Python\Python37\python37.exe C:\Python\Python311\scrapytes
    1. 当不需要使用虚拟环境时,可以退出虚拟环境,执行以下命令:deactivate.bat
    1. 若虚拟环境过多,管理起来会不太方便。可以使用专门的虚拟环境管理包virtualenvwrapper进行管理,pip安装如下(此处调用的是Python311下的pip311):pip3.11 install virtualenvwrapper ;Windows安装命令: pip3.11 install virtualenvwrapper-win
    1. 安装完毕后,在C:\Python\Python311下建立workon文件夹,然后设置环境变量WORKON_HOMEC:\Python\Python311\workon。设置完成后,可以使用virtualenvwrapper管理虚拟环境,这时新建虚拟环境的命令格式如下:mkvirtualenv [virtual_name]; 例如,要新建一个名为py3scrapy的虚拟环境, 则命令: mkvirtualenv py3scrapy ;
    1. 查看已安装的虚拟环境,可以执行workon命令;

6. 开发环境使用

  • 使用自带的IDLE,其是Python的官方标准开发环境,从官方网站下载并安装合适的Python版本后,也就同时安装了IDLE。相对于其他Python开发环境而言,IDLE虽比较简单,但具备Python应用开发的几乎所有功能,且不需要进行复杂配置。
  • 使用的第三方开发工具。除了默认安装的IDLE,还有大量的其他开发环境,如wingIDEPyCharmPythonWinEclipseSpyderIPythonKomodo等。严格来说,所有这些开发环境都是对Python解释器python.exe的封装,核心是完全一样的,只是加了外挂而已。这些开发环境使用起来方便,减少了出错率,尤其是拼写错误。
  • 如果暂时什么都不想安装,只是简单地想试试Python语言的功能,可以试试Python官方网站提供的Interactive Shell
  • 如果想尝试在安卓手机上编写Python程序,可以安装支持Python 3.xQPython 3

7. 初学者常见问题

  • 已经安装了Python,但是在DOS命令窗口中运行python命令时却提示 python不是内部或外部命令…….

    • 原因:在环境变量中未给Path添加值。
    • 解决办法:打开环境变量,为系统变量中的Path变量添加Python安装路径,假如Python的安装路径为C:\Python\Python37,就将这个路径添加到系统环境变量中(参照前面1.2.2节的操作方法),然后再运行python命令。
  • 如何在Python交互模式下运行.py文件?

    • 要运行已编写好的.py文件,可以单击【开始】菜单,在【搜索程序和文件】文本框中输入完整的文件名(包括路径)。例如,要运行D:\ceshi.py文件,可以使用下面的命令:python311 D:\ceshi.py
    • 在运行.py文件时,如果文件名或路径比较长,可以先在命令窗口中输入python加一个空格,然后直接把文件拖放到空格的位置,这时文件的完整路径将显示在空格的右侧,最后按下Enter键运行即可

8. IDLE的常用命令

快捷键功能说明
Ctrl+Z撤销
Ctrl+A全选
Ctrl+C复制
Ctrl+V粘贴
Ctrl+X剪切
Ctrl+F6重启Shell,之前定义的对象和导入的模块全部失效
Ctrl+]缩进代码块
Ctrl+[取消代码块缩进
Tab补全单词,列出全部可选单词供选择
Alt+P浏览上一条历史命令
Alt+N浏览下一条历史命令
Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同的前缀,则在多个单词间循环切换
Alt+3注释代码块
Alt+4取消代码块注释
  • 启动Python后默认处于交互模式,直接在Python提示符“>>>”的后面输入相应命令并按Enter键即可执行这些命令。
  • 交互模式一般用来实现一些简单的业务逻辑,或者验证某些功能。复杂的业务逻辑更多的是通过编写Python程序来实现,这样能方便代码的不断完善和重复利用。
  • IDLE界面中使用菜单命令File | New File创建一个程序文件,输入代码并保存为文件(务必保证扩展名为.py,如果是GUI程序,扩展名为.pyw)。然后,使用菜单命令Run | Run Module运行程序,程序运行的结果将直接显示在IDLE交互界面中。
  • 为提高代码的运行速度,以及对Python源代码进行保密,可以在命令提示符环境中使用python311 –OO –m py_compile file.py命令将Python程序file.py伪编译为.pyc文件,其中选项 –OO表示优化编译

9. pip工具的使用

  • Python语言中有三类库:内置库标准库扩展库。其中,内置库和标准库在Python安装成功后即安装。内置库不需要使用import命令导入就能直接使用;标准库和扩展库需要先导入才能使用。扩展库主要通过pip工具来管理。
  • 使用pip工具之前需要查看是否可用,打开命令提示符环境,输入: pip;如果pip工具不能使用,检查Python的安装目录,找到安装目录中的pip.exe文件,然后将其添加到系统环境变量Path中,之后重启再试。
  • 常用的pip命令如下。
    • pip list:查看已安装的扩展库。
    • pip install package_name:安装名为package_name的扩展库。
    • pip uninstall package_name:卸载名为package_name的扩展库。

  • 学习资料: 《Python基础教程(微课版)》 清华大学出版社.

相关文章:

Python基础学习笔记(一)

Python简介 Python 语言是一种跨平台、开源、免费、解释型、面向对象、动态数据类型的高级程序设计语言。早期版本的 Python 被称作是 Python1;Python2 最后一个版本是 2.7;Python3 是目前最活跃的版 本,基本上新开发的 Python 代码都会支持…...

机器学习-可解释性机器学习:支持向量机与fastshap的可视化模型解析

一、引言 支持向量机(Support Vector Machine, SVM)作为一种经典的监督学习方法,在分类和回归问题中表现出色。其优点之一是生成的模型具有较好的泛化能力和可解释性,能够清晰地展示特征对于分类的重要性。 fastshap是一种用于快速计算SHAP值&#xff08…...

32.768K晶振X1A000141000300适用于无人驾驶汽车电子设备

科技的发展带动电子元器件的发展电子元器件-“晶振”为现代的科技带来了巨大的贡献,用小小的身体发挥着大大的能量。 近两年无人驾驶汽车热度很高,不少汽车巨头都已入局。但这项技术的难度不小,相信在未来几年里,无人驾驶汽车这项…...

利用autodl服务器跑模型

1. 租用服务器 本地改模型 服务器 将改进好的、数据集处理好的模型压缩为zip文件上传到阿里云盘打开服务器AUTODL服务器,在主页中选择容器实例 在此位置进行开关机操作,若停止服务器,必须关机,不然会一直扣钱 2. 运行模型 选择…...

【微服务】分布式调度框架PowerJob使用详解

目录 一、前言 二、定时任务调度框架概述 2.1 为什么需要定时任务调度框架 2.2 定时任务调度使用场景 三、PowerJob 介绍 3.1 PowerJob 概述 3.2 PowerJob 功能特性 3.3 PowerJob 应用场景 3.4 PowerJob 与其他同类产品对比 四、PowerJob 部署 4.1 PowerJob 架构 4.…...

一命通关广度优先遍历

前言 在这篇文章之前,已对非线性结构遍历的另一种方法——深度优先遍历进行了讲解,其中很多概念词都是共用的。为了更好的阅读体验,最好先在掌握或起码了解dfs的基础上,再来阅读本文章,否则因为会有很多概念词看不明白…...

力扣4寻找两个正序数组的中位数

1.实验内容 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 2.实验目的 算法的时间复杂度应该为 O(log (mn)) 。 3.基本思路 碰到时间复杂度要求log的,肯定用二分查找&…...

jmeter之常用函数-第六天

1.常见函数: _counter 计数器函数 TRUE(每个用户都有自己的计数器) FALSE(所有用户共用一个计数器) _Random 随机数函数 参数1:取值范围最小值(包含) 参数2:取值范围最大值(包含) _time 获取当前时间的函数 无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值 参…...

原创!分解+集成思想新模型!VMD-CNN-BiGRU-Attention一键实现时间序列预测!以风速数据集为例

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 数据介绍 模型流程 创新点 结果展示 部…...

ab (Apache benchmark) - 压力/性能测试工具

Apache benchmark(ab) 安装window安装使用方法 - bin目录运行使用方法 - 任意目录运行 linux安装 基本命令介绍常用参数:输出结果分析: ab的man手册 安装 window安装 官网下载链接:https://www.apachehaus.com/cgi-bin/download…...

除了Confluence,有没有其他工具一样好用?

每个团队都需要一个协同工作工具,以更有效地管理任务、跟踪进度和分享知识。这就是Atlassian的Confluence发挥作用的地方。然而,尽管它相当强大,其昂贵的价格和复杂的界面可能会让某些用户望而却步。所以,还有其他工具可以替代Con…...

查询表中数据(全列/特定列/表达式,where子句(比较/逻辑运算符),order by子句,limit筛选分页),mysql执行顺序

目录 select 全列查询 特定列查询 用表达式查询 (as) 名字 distinct 去重 where子句 比较运算符 列数据之间的比较 ​编辑 别名不能参与比较 null查询 between and in ( ... , ...) 模糊匹配 逻辑运算符 order by子句 可以使用别名 总结mysql执行顺…...

【Linux】多线程概念 | POSIX线程库

文章目录 一、线程的概念1. 什么是线程Linux下并不存在真正的多线程,而是用进程模拟的!Linux没有真正意义上的线程相关的系统调用!原生线程库pthread 2. 线程和进程的联系和区别3. 线程的优点4. 线程的缺点5. 线程异常6. 线程用途 二、二级页…...

Java Spring AOP代码3分钟快速入手

AOP Spring入门(十)&#xff1a;Spring AOP使用讲解 - 掘金 maven的依赖&#xff1a; <dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId> </dependency> <!--aspectj支持--> <dependen…...

.NET开源快速、强大、免费的电子表格组件

今天大姚给大家分享一个.NET开源&#xff08;MIT License&#xff09;、快速、强大、免费的电子表格组件&#xff0c;支持数据格式、冻结、大纲、公式计算、图表、脚本执行等。兼容 Excel 2007 (.xlsx) 格式&#xff0c;支持WinForm、WPF和Android平台&#xff1a;ReoGrid。 项…...

docker一键部署若依前后端分离版本

比如这里把文件放到/xin/docker/jiaoZ/的目录下&#xff0c;jar包和下面的配置文件都放在这个文件夹下。 注意要把jar端口改为你实际启动的&#xff0c;映射端口也可以改为你想要的。 这里的映射端口为&#xff1a;nginx监听80端口&#xff0c;jar在8620端口&#xff0c;mysq…...

Java项目开发之fastjson详解

Fastjson 是由阿里巴巴公司开发的一个 Java 语言编写的高性能 JSON 处理库。它主要用于 Java 对象与 JSON 数据格式之间的转换&#xff0c;提供了简单易用的 API 来实现序列化&#xff08;Java 对象转 JSON 字符串&#xff09;和反序列化&#xff08;JSON 字符串转 Java 对象&a…...

面试算法-62-盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜容器。…...

【智能算法】海洋捕食者算法(MPA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年&#xff0c;Afshin Faramarzi 等人受到海洋生物适者生存启发&#xff0c;提出了海洋捕食者算法(Marine Predators Algorithm&#xff0c;MPA)。 2.算法原理 2.1算法思想 MPA根据模拟自然界…...

刷题DAY24 | LeetCode 77-组合

1 回溯法理论基础 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 所以以下讲解中&#xff0c;回溯函数也就是递归函数&#xff0c;指的都是一个函数。 1.1 回溯法的效率 回溯法的性能如何呢&#xff0…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...