当前位置: 首页 > 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…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...