02

[一]PIP换源

[1]问题描述

  • 我们使用的很多包都是第三方的,需要命令安装,导入使用
  • 由于访问器地址、网速等原因,pip.install会变得很慢,甚至可能无法完成
  • 为解决上述问题,提供以下方法:

[2]永久更换pip源

  • 打开控制台或终端,并输入以下命令:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
  • 更改pip源后,可以通过以下命令验证:
pip config get global.index-url
  • 如果返回值为https://mirrors.aliyun.com/pypi/simple/,则表示更改成功。

[3]临时使用pip源

  • 输入pip install xxx时插入国内镜像源地址,变为pip install -i 地址 xxx并回车。
  • 假设我们需要安装名为opencv-python的Python包。
  • 使用默认源安装opencv-python
pip install opencv-python
  • 使用清华大学镜像源,重新安装opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ opencv-python

[4]几个常用镜像源

清华大学:	 https://pypi.tuna.tsinghua.edu.cn/simple/
阿 里 云:	  https://mirrors.aliyun.com/pypi/simple/
豆    瓣:	   https://pypi.douban.com/simple/
中 科 大:	  https://pypi.mirrors.ustc.edu.cn/simple/

[二]系统和虚拟环境介绍

[1]系统环境

  • 系统环境是指安装在计算机全局范围内的python环境
  • 安装完python,即成为系统环境的一部分
  • 在系统环境中安装的python解释器和库对整个计算机可见,且所有项目均可访问他们。

[2]虚拟环境

(1)什么是虚拟环境?

  • 为不同的项目准备的不同环境(不同虚拟环境有可能解释器版本不一样、也可能所承担的项目不一样)
  • 通过创建虚拟环境,可以为每个项目设置独立的python环境。
  • 虚拟环境可以包含自己的python解释器和依赖库,与其他虚拟环境和系统环境相互独立。

(2)虚拟环境的使用场景

  • 项目隔离:
    • 为每个项目创建独立的python运行环境,以确保项目之间不会互相干扰同一个项目也不会出现版本冲突的问题。
  • 版本隔离:
    • 同个项目中的不同版本也许需要不同的软件包和库
    • 通过虚拟环境,实现对不同环境中所需的软件包和库的安装并进行不同版本的额隔离管理和控制。
  • 快速切换:
    • 使用虚拟环境可以方便地进行项目之间的切换。
    • 只需激活对应项目的虚拟环境,系统会自动切换到该环境,并加载该环境中安装的软件包和库。
    • 这样,您就可以轻松地在不同的项目中切换,并运行适合该项目需求的Python版本和软件包。
  • 环境复制:
    • 通过虚拟环境,您可以快速生成一份项目的完整环境配置文件。
    • 这样,您可以将这个环境配置文件分享给其他开发人员,在其他机器上也能够轻松地创建同样的Python环境,确保项目的开发和部署一致性。

(3)小结

  • 虚拟环境提供了一种灵活、隔离和可定制化的方式来管理和控制Python项目所需的运行环境。
  • 它能够解决不同项目之间版本依赖的问题,方便多项目并行开发,并且能够提高代码的可移植性和可维护性。

[三]创建虚拟环境

[1]venv

(1)介绍

  • python自带的虚拟环境工具,适用于python3.3及以上的版本、

(2)使用

[1]打开终端

  • 打开命令行终端

[2]打开指定目录

  • 导航到项目所在的目录

[3]创建虚拟环境

  • 运行以下命令创建虚拟环境
python -m venv venv

  • 这将在当前目录下创建一个名为venv的虚拟环境

[4]激活虚拟环境

  • Windows上
venv\Scripts\activate
  • macOS/Linux 上
source venv/bin/activate
  • 激活后,你将看到命令行提示符前面多了一个(venv)标识,表示你正在虚拟环境中工作

[5]在虚拟环境中安装依赖

pip install package_name

[6]退出虚拟环境

  • 当项目工作完成后,可以使用以下命令退出虚拟环境
deactivate

[2]virtualenv

(1)介绍

  • 第三方库,提供更多功能,兼容Python 2和Python 3。

(2)使用

[1]安装virtualenv

pip install virtualenv

  • 增加模块,使虚拟环境在win上更好用
    • virtualenvwrapper-win是一个增强模块,使得在Windows上使用虚拟环境更方便。
    • 使用以下命令安装virtualenvwrapper-win
pip install virtualenvwrapper-win

[2]添加环境变量

  • 【控制面板】>【系统和安全】>【系统】>【高级系统设置】>【环境变量】>【系统变量】>【点击新建】>【填入变量名与值】>【确定】
  • 变量名中填入"WORKON_HOME"
  • 变量值中填入自定义的存放虚拟环境的绝对路径,例如"E:\Python310\Virtualenv"
  • 例如:WORKON_HOME: E:\Python310\Virtualenv

[3]同步配置信息

  • 找到Python3的安装目录,然后进入Scripts文件夹,双击运行virtualenvwrapper.bat文件。

    • 例如E:\Python310\Scripts
  • 通过运行该脚本,可以同步配置Virtualenv的使用环境和命令。

  • 检验是否配置成功:win+R 输入workon

[4]创建虚拟环境

  • 创建虚拟环境到配置的WORKON_HOME路径下,一旦进入到虚拟环境,所有安装模块操作,都是操作虚拟环境
[1]选取默认Python环境创建虚拟环境
  • 默认以 python 这个解释器来创建虚拟环境
mkvirtualenv 虚拟环境名称
  • 基于特定Python版本的虚拟环境(如Python 2或Python 3.8):
    • 创建虚拟环境并进入虚拟环境
mkvirtualenv -p python2 虚拟环境名称
mkvirtualenv -p python3.8 虚拟环境名称

[5]查看和使用虚拟环境

  • 查看虚拟环境
workon

  • workon 虚拟环境名称
workon test
pip install requests

[6]在虚拟环境中安装依赖

pip install package_name

[7]退出虚拟环境

  • 当项目工作完成后,可以使用以下命令退出虚拟环境
deactivate

[8]删除虚拟环境(删除当前虚拟环境要先退出)

  • 直接删文件夹
  • 命令删除rmvirtualenv 虚拟环境名称
rmvirtualenv test(这里的test就是虚拟环境文件夹名称)

【3】conda

(1)介绍

  • 一个跨平台、语言无关、开源的包管理和环境管理系统,适用于多种语言的虚拟环境管理。

(2)使用

[1]安装conda

[2]创建虚拟环境

  • 在命令行中运行以下命令创建虚拟环境:

    conda create --name venv
    
    • 这将创建一个名为venv的虚拟环境。

[4]激活虚拟环境:

  • 在Windows上:

    conda activate venv
    
  • 在 macOS/Linux 上:

    source activate venv
    
  • 激活后,你将看到命令行提示符前面多了一个(venv)标识,表示你正在虚拟环境中工作。

[5]在虚拟环境中安装依赖:

conda install package_name

[6]退出虚拟环境

  • 当项目工作完成后,可以使用以下命令退出虚拟环境:

    conda deactivate
    

[四]pycharm常用快捷键大全

[1]基本编辑快捷键

  • Ctrl + Space:基本的代码完成(类、方法、属性)
  • Ctrl + Alt + Space:快速导入任意类
  • Ctrl + Shift + Enter:语句完成
  • Ctrl + P:参数信息(在方法中调用参数)
  • Ctrl + Q:快速查看文档
  • F1:外部文档
  • Shift + F1:外部文档,进入web文档主页
  • Ctrl + Shift + Z 或者 Ctrl + Y:撤销上一步操作 / 重做
  • Ctrl + 鼠标左键:悬浮/单击鼠标左键,显示简介/进入代码定义
  • Ctrl + F1:显示错误描述或警告信息
  • Alt + Insert:自动生成代码
  • Ctrl + O:重新方法
  • Ctrl + Alt + T:选中
  • Ctrl + /:行注释/取消行注释
  • Ctrl + Shift + /:块注释
  • Ctrl + W:选中增加的代码块
  • Ctrl + Shift + W:回到之前状态
  • Alt + Enter:快速修正
  • Ctrl + Alt + L:代码格式化
  • Ctrl + Alt + O:优化导入
  • Ctrl + Alt + I:自动缩进
  • Tab / Shift + Tab:缩进、不缩进当前行
  • Ctrl+X/Shift+Delete:剪切当前行或选定的代码块到剪贴板
  • Ctrl+C/Ctrl+Insert:复制当前行或选定的代码块到剪贴板
  • Ctrl+V/Shift+Insert:从剪贴板粘贴
  • Ctrl + Shift + V:从最近的缓冲区粘贴
  • Ctrl + D:复制选定的区域或行
  • Ctrl + Y:删除选定的行
  • Ctrl + Shift + J:添加智能线
  • Ctrl + Enter:智能线切割
  • Shift + Enter:另起一行
  • Ctrl + Shift + U:在选定的区域或代码块间切换
  • Ctrl + Delete:删除到字符结束
  • Ctrl + Backspace:删除到字符开始
  • Ctrl + Numpad+/-:展开/折叠代码块(当前位置的:函数,注释等)
  • Ctrl + shift + Numpad+/-:展开/折叠所有代码块
  • Ctrl + F4:关闭运行的选项卡

【2】查找/替换快捷键

  • F3:下一个
  • Shift + F3:前一个
  • Ctrl + R:替换
  • Ctrl + Shift + F 或者连续2次敲击shift:全局查找
  • Ctrl + Shift + R:全局替换

【3】运行快捷键

  • Alt + Shift + F10:运行模式配置
  • Alt + Shift + F9:调试模式配置
  • Shift + F10:运行
  • Shift + F9:调试
  • Ctrl + Shift + F10:运行编辑器配置
  • Ctrl + Alt + R:运行manage.py任务

【4】调试快捷键

  • F8:跳过
  • F7:进入
  • Shift + F8:退出
  • Alt + F9:运行游标
  • Alt + F8:验证表达式
  • Ctrl + Alt + F8:快速验证表达式
  • F9:恢复程序
  • Ctrl + F8:断点开关
  • Ctrl + Shift + F8:查看断点

【5】导航快捷键

  • Ctrl + N:跳转到类
  • Ctrl + Shift + N:跳转到符号
  • Alt + Right/Left:跳转到下一个、前一个编辑的选项卡(代码文件)
  • Alt + Up/Down:跳转到上一个、下一个方法
  • F12:回到先前的工具窗口
  • Esc:从工具窗口回到编辑窗口
  • Shift + Esc:隐藏运行的、最近运行的窗口
  • Ctrl + Shift + F4:关闭主动运行的选项卡
  • Ctrl + G:查看当前行号、字符号
  • Ctrl + E:当前文件弹出,打开最近使用的文件列表
  • Ctrl+Alt+Left/Right:后退、前进
  • Ctrl+Shift+Backspace:导航到最近编辑区域
  • Alt + F1:查找当前文件或标识
  • Ctrl + B / Ctrl + Click:跳转到声明
  • Ctrl + Alt + B:跳转到实现
  • Ctrl + Shift + I:查看快速定义
  • Ctrl + Shift + B:跳转到类型声明
  • Ctrl + U:跳转到父方法、父类
  • Ctrl + ]/[:跳转到代码块结束、开始
  • Ctrl + F12:弹出文件结构
  • Ctrl + H:类型层次结构
  • Ctrl + Shift + H:方法层次结构
  • Ctrl + Alt + H:调用层次结构
  • F2 / Shift + F2:下一条、前一条高亮的错误
  • F4 / Ctrl + Enter:编辑资源、查看资源
  • Alt + Home:显示导航条
  • F11:书签开关
  • Ctrl + Shift + F11:书签助记开关
  • Ctrl + #[0-9]:跳转到标识的书签
  • Shift + F11:显示书签

【6】搜索相关快捷键

  • Alt + F7 / Ctrl + F7:文件中查询用法
  • Ctrl + Shift + F7:文件中用法高亮显示
  • Ctrl + Alt + F7:显示用法

【7】重构快捷键

  • F5:复制
  • F6:剪切
  • Alt + Delete:安全删除
  • Shift + F6:重命名
  • Ctrl + F6:更改签名
  • Ctrl + Alt + N:内联
  • Ctrl + Alt + M:提取方法
  • Ctrl + Alt + V:提取属性
  • Ctrl + Alt + F:提取字段
  • Ctrl + Alt + C:提取常量
  • Ctrl + Alt + P:提取参数

【8】控制VCS/Local History快捷键

  • Ctrl + K:提交项目
  • Ctrl + T:更新项目
  • Alt + Shift + C:查看最近的变化
  • Alt + BackQuote(’):VCS快速弹出

【9】模版快捷键

  • Ctrl + Alt + J:当前行使用模版
  • Ctrl + J:插入模版

【10】基本快捷键

  • Alt + #[0-9]:打开相应的工具窗口
  • Ctrl + Alt + Y:同步
  • Ctrl + Shift + F12:最大化编辑开关
  • Alt + Shift + F:添加到最喜欢
  • Alt + Shift + I:根据配置检查当前文件 正在为您搜索:继续
  • Ctrl + Alt + S:打开设置对话框
  • Ctrl + Shift + A:查找动作
  • Ctrl + Tab:在窗口间进行切换
  • Alt + Insert:生成代码
  • Ctrl + /:注释(// 或者 /.../ )
  • Ctrl + Shift + /:添加/删除快注释(/**...*/)
  • Ctrl + W:递进式取消选择代码块
  • Ctrl + Shift + W:递进式选择代码块
  • Alt + Q:精确定位到光标所在的代码块,然后再次按返回先前的位置
  • Ctrl + Shift + ]/[:选中当前代码块的闭合部分,比如一对大括号中的所有内容
  • Ctrl + F4:关闭当前编辑页签
  • Ctrl + Shift + U:转换选中的文本(大写、小写、切换大小写)

【11】常用快捷键小结

  • Ctrl + /:行注释/取消行注释
  • Ctrl + Alt + L:代码格式化
  • Tab / Shift + Tab:缩进、不缩进当前行
  • Ctrl+X/Shift+Delete:剪切当前行或选定的代码块到剪贴板
  • Ctrl+C/Ctrl+Insert:复制当前行或选定的代码块到剪贴板
  • Ctrl+V/Shift+Insert:从剪贴板粘贴
  • Ctrl + B / Ctrl + Click:跳转到声明
  • Ctrl + 鼠标左键:悬浮/单击鼠标左键,显示简介/进入代码定义
  • Ctrl + D:复制选定的区域或行

[五]自定义文件头模板

[1]打开settings

  • File --> Settings

[2]Python Scripts

  • Editor --> File and Code Templates --> Python Script

[3]参数说明

  • ${PROJECT_NAME} - 当前Project名称;
  • ${NAME} - 在创建文件的对话框中指定的文件名;
  • ${USER} - 当前用户名;
  • ${DATE} - 当前系统日期;
  • ${TIME} - 当前系统时间;
  • ${YEAR} - 年;
  • ${MONTH} - 月;
  • ${DAY} - 日;
  • ${HOUR} - 小时;
  • ${MINUTE} - 分钟;
  • ${PRODUCT_NAME} - 创建文件的IDE名称;
  • ${MONTH_NAME_SHORT} - 英文月份缩写, 如: Jan, Feb, etc;
  • ${MONTH_NAME_FULL} - 英文月份全称, 如: January, February, etc;

[六]修改背景图片

[1]打开Settings

  • File --> Settings

[2]Background Image

  • Appearance & Behavior --> Appearance --> Background Image

[七]汉化

  • Plugins --> Chinese(Simplified) Language Pack

[八]添加解释器

[1]查看当前解释器

  • Project --> Python Interpreter

[2]编辑解释器

  • 打开所有解释器

  • 编辑解释器

[3]创建虚拟解释器

(1)添加本地解释器

(2)创建新的虚拟解释器

(3)使用虚拟解释器

(4)虚拟解释器使用

(5)终端虚拟环境

打开终端会看到此时所在的环境正是以(venv)开头的虚拟环境

[补充](以下均为cv)终端报错禁止运行脚本

(1)问题描述

  • 今天在PyCharm打开终端Windows PowerShell准备安装依赖时报错,报错内容:
无法加载文件 F:\work\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。
有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的about_Execution_Policies
  • 和激活虚拟环境出现的报错相同,考虑应该是虚拟环境的问题。

(2)问题原因

  • Win10默认PowerShell的执行策略是不载入任何配置文件,不运行任何脚本(Restricted)。
  • Windows PowerShell不允许执行任何脚本,包括虚拟环境的激活脚本。
  • 这一点可以通过命令查看:在PyCharm终端(电脑PowerShell应用命令行)执行:
get-executionpolicy
  • 返回结果:Restricted

(3)问题解决

  • 修改Windows PowerShell的执行策略:

步骤1:打开Windows PowerShell

  • 方式1(推荐):打开PyCharm终端(选择Windows PowerShell)
  • 方式2:电脑搜索PowerShell,以管理员身份运行Windows PowerShell应用

步骤2:执行以下命令修改PowerShell的执行策略

方式1(推荐):Pycharm终端执行
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

方式2:Windows PowerShell命令行执行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

步骤3:验证

  • PowerShell执行策略已设置为RemoteSigned,它允许执行本地脚本和来自受信任发布者的远程脚本(注意:此操作仅修改了当前用户的Windows PowerShell执行策略)
get-executionpolicy
  • 返回结果:RemoteSigned

image-20231115201338585

[九]注释语法

[1]什么是注释

  • 注释就是就是对代码的解释说明,注释的内容不会被当作代码运行

[2]为什么要注释

  • 增强代码的可读性

[3]如何使用注释

  • 代码注释分单行和多行注释
  • 1、单行注释用#号,可以跟在代码的正上方或者正后方
  • 2、多行注释可以用三对双引号""" """

img

[4]代码注释的原则

  • 1、不用全部加注释,只需要为自己觉得重要或不好理解的部分加注释即可
  • 2、注释可以用中文或英文,但不要用拼音

【二】变量

[1]什么是变量

  • 变量是用于存储数据值的标识符,可以通过变量名访问和操作这些数据。
    • 在程序中,变量就像一个容器,用于存储和管理数据。
  • 变量就是可以变化的量,量指的是事物的状态
    • 比如人的年龄、性别,游戏角色的等级、金钱等等

[2]为什么要有变量

  • 变量的存在使得程序能够更灵活地处理数据,而不是每次都硬编码数据值。
  • 通过使用变量,程序可以在运行时根据需要存储和修改数据,从而实现动态的状态和行为。
  • 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
  • 变量在程序中扮演着存储和传递信息的角色
    • 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现
    • 所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化

[3]变量的定义与调用

  • 变量的定义由三部分组成,如下图

img

  • 定义规范示例

    # 用一个变量 name 保存名字 叫 Dream
    name = 'Dream'
    # 用一个变量 sex 保存性别 是 男
    sex = '男'
    # 用一个变量 age 保存年龄 是 18
    age = 18
    # 用一个变量 age 保存薪资 是 22800.21
    salary = 22800.21
    
  • 解释器执行到变量定义的代码时会申请内存空间存放变量值

    • 然后将变量值的内存地址绑定给变量名
    • 以变量的定义age=18为例,如下图

img

  • 通过变量名即可引用到对应的值:
    • 通过变量名即可引用到值,我们可以结合print()功能将其打印出来 print(age)
    • 通过变量名age找到值18,然后执行print(18),输出:18
# 用一个变量 name 保存名字 叫 Dream
name = 'Dream'
# 用一个变量 sex 保存性别 是 男
sex = '男'
# 用一个变量 age 保存年龄 是 18
age = 18
# 用一个变量 age 保存薪资 是 22800.21
salary = 22800.21

print(age) # 18

[4]变量的命名规范

  • 原则:变量的命名应该见名知意
  • 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为:

    • age = 18
  • 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为:

    • level = 18
  • 其他的命名规范如下

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 关键字不能声明为变量名,常用关键字如下
    ['and', 'as', 'assert', 'break', 
    'class', 'continue', 'def', 'del', 
    'elif', 'else', 'except', 'exec', 
    'finally', 'for', 'from','global', 
    'if', 'import', 'in', 'is', 'lambda', 
    'not', 'or', 'pass', 'print', 
    'raise', 'return', 'try', 'while', 
    'with', 'yield'] 
    
  • 错误命名示范

# 错误示范如下
*a=123 
$b=456 
c$=789 
2_name='lili' 
123='lili' 
and=123 
年龄=18   # 强烈建议不要使用中文命名

# 正确示范如下
age_of_ly=31 
page1='首页' 
_class='终极一班'

[5]变量名的风格

(1)驼峰体

  • 大驼峰:每个单词的首字母都大写,其余字母小写
    • AgeOfTony = 56
  • 小驼峰:每个单词的首字母都大写,只有第一个单词的首字母是小写
    • numberOfStudents = 80

(2)纯小写下划线

  • 所有字母都小写,每个单词之间使用下划线分隔(在python中,变量名的命名推荐使用该风格)
    • age_of_tony = 56
    • number_of_students = 80

[6]变量的三大特性

(1)id (内存地址 - 内存编号)

  • 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同

(2)type (数据类型)

  • 变量值的类型

(3)value (变量值)

  • 变量值

[7]如何查看变量的三大特性

# 定义变量
x = 'Info Dream:18'

# id (内存地址 - 内存编号)  : 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
print(id(x))  # 2304891956272

# type (数据类型) : 变量值的类型
print(type(x))  # <class 'str'>

# value (变量值) : 变量值
print(x)  # Info Dream:18

[补充]初识小整数池

  • 对于小整数,Python有一个小整数池的概念。小整数池是一个预先创建好的、包含一定范围的整数的池子,这些整数在程序运行过程中会被重复使用,以提高内存利用效率。
  • 在Python中,整数对象是不可变的,因此如果一个整数值在小整数池中已经存在,那么多个变量使用相同的整数值时,它们实际上是指向同一个整数对象的引用。这就是小整数池的机制。
  • 小整数池一般包括一定范围内的整数,例如,通常会包含从-5到256的整数。这是因为在Python中,经常会用到一些小的整数,比如循环的索引、计数器等,因此预先创建这些小整数,可以减少内存的消耗,提高程序的执行效率。
posted @ 2024-03-27 17:16  HuHuMarshal  阅读(65)  评论(0)    收藏  举报