Python基础学习笔记(一)

news2024/9/22 21:26:18

请添加图片描述

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基础教程(微课版)》 清华大学出版社.

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

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

相关文章

Infoq:腾讯内容千亿级实时计算和规则引擎实践优化之路

1.系统背景 腾讯内容中台提供从内容生产、内容加工、内容分发、内容结算等全链路环节的一站式服务,在这个过程中,会产生大量的数据以及围绕这些数据衍生的实时流业务应用,如智能审核、运营决策、在线学习等,从底层去看这些内容生态…

SM4加密是什么?SM4算法在国密HTTPS协议中的作用

SM4加密算法是一种分组密码标准,由国家密码管理局于2012年3月21日发布,相关标准为“GM/T 0002-2012《SM4分组密码算法》,与国际上广泛使用的AES等算法类似,SM4同算法样用于保护数据的机密性,确保信息在传输过程中不被未…

MT1478 插入A(技巧)

从键盘上输入一个字符串(长度小于10000,以回车作为结束,其余地方不出现回车),按后按照下面要求输出一个新字符串, 新的字符串是在原来字符串中, 每两个字符之间插入一个A, 输出新产生…

代码随想录|Day25|回溯05|491.非递减子序列、46.全排列、47.全排列II

491. 非递减子序列 本题并不能像 90.子集II 那样,使用排序进行树层去重。虽然题目没有明确不能排序,但如果排序了,集合本身就是递增子序列,这是LeetCode示例2中没有出现的。 所以本题的关键在于,如何在不排序的情况下对…

C语言数据结构基础——二叉树学习笔记(三)链式二叉树以及初步认识递归思想

1.链式二叉树概念及其逻辑 每个树都要看成:根,左子树,右子树 链表、顺序表中的遍历方式有正序遍历和逆序遍历,而我们在二叉树中,有前序遍历、中序遍历、后序遍历、层序等多种遍历方法。 所谓 二叉树遍历 (Traversal) …

linux网络固定ip的方式

1. 注意 默认情况下,我们linux操作系统 ip 获取的方式是自动获取的方式(DHCP),自动获取在我们需要进行集群配置的时候,IP会经常变化,需要将IP固定下来。 2. 第一步 编辑我们 linux 的网卡文件 这个网卡文件…

Springmvc---解读<url-pattern/>

&#xff08;1&#xff09; *.do&#xff1a; 在没有特殊要求的情况下&#xff0c;SpringMVC 的中央调度器 DispatcherServlet 的<url-pattern/>常使用后辍匹配方式&#xff0c;如写为*.do 或者 *.action, *.mvc等。 &#xff08;2&#xff09; / &#xff1a; Tomcat本身…

敢为天下先!深圳市全力推动鸿蒙生态发展……程序员

3月19日&#xff0c;鸿蒙生态创新中心揭幕仪式在深圳正式举行。鸿蒙生态创新中心的建立是为构建先进完整、自主研发的鸿蒙生态体系&#xff0c;将深圳打造为鸿蒙生态策源地、集聚区的具体举措&#xff0c;也是推动我国关键核心技术高水平自立自强、数字经济高质量发展、保障国家…

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

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

7个方便快速使用的Tkinter控件源码分享,赶快收藏

文章目录 7个快速使用的Tkinter控件源码分享1. 按钮 Button2. 开关 Checkbutton3. 显示文本 Label4. 带名称、数值显示的划动条5. 带标签的复选框6. 带名称的输入框7. 带名称的微调框7个快速使用的Tkinter控件源码分享 tkinter 是一个简单入手,但是功能十分强大的GUI编程库,学…

谷歌DeepMind推出SIMA智能体,可以跟人一起玩游戏

谷歌 DeepMind 推出了 SIMA&#xff0c;这是一种通过训练学习游戏技能的人工智能代理&#xff0c;因此它玩起来更像人类&#xff0c;而不是一个只做自己事情的强大人工智能。 从早期与 Atari 游戏合作&#xff0c;到以人类大师级别玩《星际争霸 II》的 AlphaStar 系统&#xf…

算法设计与分析-动态规划算法的应用——沐雨先生

一、实验目的 1&#xff0e; 掌握动态规划算法的基本思想&#xff0c;包括最优子结构性质和基于表格的最优值计算方法。 2&#xff0e;熟练掌握分阶段的和递推的最优子结构分析方法。 3&#xff0e; 学会利用动态规划算法解决实际问题 。 二、实验内容 1. 问题描述 &#…

Open-Sora揭秘:这款开源视频生成神器能否超越OpenAI的Sora?

近日&#xff0c;我开始研究开源视频生成项目Open-Sora。 Open-Sora的核心思想&#xff0c;其实就是通过开源的方式&#xff0c;让先进的视频生成技术能够普及到大众手中。 而且&#xff0c;它还提供了精简又用户友好的工具和内容。 这样一来&#xff0c;视频制作的复杂性就…

Postman接口做关联测试的方法步骤

应用场景 假设下一个接口登录需要上一个接口的返回值&#xff0c;例如请求需要先登录获取到token&#xff0c;下一个请求要携带对应的token才能进行请求 方法&#xff1a;通过设置全局变量/环境变量 方法一&#xff1a;设置全局变量 1.先请求登录接口&#xff0c;请求成功之后…

解决微信小程序代码包大小限制方法

1 为什么微信小程序单个包的大小限制为 2MB 微信小程序单个包的大小限制为 2MB 是出于以下几个考虑&#xff1a; 保证小程序的启动速度&#xff1a;小程序的启动速度是影响用户体验的关键因素之一。如果包太大&#xff0c;会导致小程序启动时间过长&#xff0c;从而影响用户体…

2024年【熔化焊接与热切割】报名考试及熔化焊接与热切割复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 熔化焊接与热切割报名考试考前必练&#xff01;安全生产模拟考试一点通每个月更新熔化焊接与热切割复审考试题目及答案&#xff01;多做几遍&#xff0c;其实通过熔化焊接与热切割模拟考试题库很简单。 1、【单选题】…

Java反射机制的讲解及其示例说明

Java 反射机制是指在运行时动态地获取类的信息以及操作对象的方式。它允许程序在运行时检查和操作类、方法、属性等&#xff0c;而不需要在编译时就确定这些属性。通过反射机制&#xff0c;我们可以在运行时动态地创建对象、调用方法、获取属性等。 Java 反射机制提供了以下主…

LeetCode每日一题【24. 两两交换链表中的节点】

思路&#xff1a;先创建虚拟头结点&#xff0c;再用双指针&#xff0c;两两交换 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr…

2024.3.21 QT

思维导图 自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面。&#xff08;不要使用课堂上的图片和代码&#xff0c;自己发挥&#xff0c;有利于后面项目的完成&#xff09; 要求&#xff1a; 1. 需要使用Ui界面文件进行界面设计 2. ui界面上的组件相关设置&…

C++的vector类(一):vector类的常见操作

目录 前言 Vector类 遍历与初始化vector ​vector的扩容机制 vector的对象操作 find与insert 对象数组 前言 string类中还有一些内容需要注意&#xff1a; STL 的string类怎么啦&#xff1f; C面试中string类的一种正确写法 C STL string的Copy-On-Write技术 C的st…