昨日内容回顾
# 【一】计算机基础 # 【1】什么是计算机 # 【2】为什么要出现计算机 # 我们想要一个可以无休止工作的奴隶 # 【二】编程语言和编程 # 【1】语言就是人与人之间交流沟通的的媒介 # 【2】编程语言就是人与计算机之间进行交流沟通的媒介 # 【3】编程就是将人类的语言转换为计算机的语言 # 【三】编程语言的发展史 # 【1】机器语言 # 计算机是基于电工作的,电流有高低电频之分 0 / 1 # 我们可以通过高低电频的变化控制电子设备 # 机器语言 用01二进制来表示计算机的指令 # 可以操作底层硬件 # 优点:执行效率很高,能直接操作底层硬件 # 缺点:学习成本高,开发效率很慢 学习难度高 # 【2】汇编语言 # 汇编语言就是用一串英文字母或者一个英文单词来代表一串 机器语言的指令 # 相对与机器语言来说,一定程度上降低了开发成本 # 学习成本增加,开发效率低,开发速度慢 # 优点:也能操作底层硬件,执行效率很高 # 【3】高级语言 # 能将人类的语言转换为计算机可以识别的语言 # (1) 编译型语言 # 将源代码一次编译成可执行的文件,每次调用程序只需要执行文件即可 # 效率高,开发慢,开发成本高,学习成本高 # C,C++,C#,JAVA # (2)解释型语言 # 在程序运行的过程中,对源代码进行逐段的编译并且运行 # 效率变低,开发速度提高,学习成本降低了 # Python、Go、Ruby # 计算机存储单位的换算 # 位就是你的 0 / 1 # 8位 = 1 bytes # 字节 = bytes # 1024 bytes = 1 kb # 【四】Python语言的介绍 # 【1】创始人:吉多范罗姆 (龟叔) # 【2】名字的由来:来自于他最喜欢的电视剧 # 【3】Python在全球语言排行榜上的位置 高居首位 # 【4】介绍Python的历史版本 # 89 开始开发 91 诞生第一个版本 10 发布 2.7 16 发布 3.6 # 我们现在用的是 3.10 最新版本是 3.13 # 【5】Python解释器的安装 # Windows ---> 去官网下载 .exe 结尾安装包 # 双击安装程序 ---> 所有能点的都勾上 ---> 去安装 #安装成功 # MacOS系统: # 需要去逛网下载安装包 .dmg 结尾 ---> 双击安装包 ---> 直接啊下一步 # 输入本地的密码 # 点继续 ---> 安装成功了 # 在 终端 敲 python 没有提示 python3 也没有提示 # 需要自己配置环境变量 # cd ~ # 查看当前MacOS系统的环境变量 # cat .zshrc # sudo 使用超级管权限 vim 打开文件并编辑 .zshrc 配置文件 # sudo vim .zshrc # 输入密码,进入到配置文件中发现没办法输入 # 按下键盘上的 i 左下角出现 insert # 输入的内容 双引号是英文双引号 # export PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin/python:$PATH" # 输入完成 按下 esc ,发现 左下角的 insert 没有了 # :wq 回车 # 上面的路径是通过 which python / python3 # 不要忘记补充一个命令 # 使当前配置文件的环境变量生效 # source .zshrc # 在终端输入 python # cd /Library/Frameworks/Python.framework/Versions/3.10/bin/ # 把当前目录下的 python 复制一份成副本改个名 # 将 /Library/Frameworks/Python.framework/Versions/3.10/bin/python 文件复制一份 命名为 /Library/Frameworks/Python.framework/Versions/3.10/bin/python310 # cp /Library/Frameworks/Python.framework/Versions/3.10/bin/python /Library/Frameworks/Python.framework/Versions/3.10/bin/python310 # 【6】多版本Python解释器共存 # 学会看自己的环境变量和配置自己的环境变量 # python310 的安装路径在上面 python --> 3.10 # python39 --> 3.9 # 将安装目录下的 python.exe 复制一份 修改文件名 python310 # 效果就是 当我们 敲 python 的时候会从系统环境变量中逐个查询 查询到 python.exe 的文件位置 执行此文件 # python310 从系统环境变量中逐个查询 查询到 python310.exe 的文件位置 执行此文件 # 【7】安装了PyCharm 收费的 # 建议经济能力支持的情况下支持正版 # 可以百度搜
今日内容详细
【一】PIP换源
-
我们使用的很多包都是第三方的,需要命令安装,导入使用
-
默认pip使用的就是外网的地址
-
https://python.org/
-
-
国内访问国外的资源,会很慢且可能访问不到,所以需要进行pip的换源处理
【1】临时换源
pip install 模块名 -i 镜像源地址 pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple/
-
清华大学: Simple Index
-
阿 里 云: Simple Index
-
中 科 大: Simple Index
【2】永久换源
-
打开终端并输入以下命令
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
-
上面四个源地址都可以使用
-
更换第三方源后如何查看是否更换完成
pip config get global.index-url
-
再次尝试更换第三方源,改为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
【二】虚拟环境和系统解析器环境
【1】系统环境
-
指的是安装在电脑上本地的Python解释器
-
是我们电脑的一部分,并且我在任何位置都可以访问到当前解释器
【2】虚拟环境
-
如果在创建项目的时候选择了虚拟环境也就是venv的虚拟环境
-
首先在本地创建一个文件夹并且将系统解释器的所有解释器文件复制一份到当前文件夹下
-
正常项目右下角的解释器版本都是Python版本号,虚拟环境项目右下角的解释器版本会变成Python版本号(项目名)
-
不建议使用虚拟环境,因为虚拟环境本质上也是一个Python解释器环境,占用系统资源,每次创建一个项目都有一个解释器版本
-
使用场景
-
用在自己项目中
-
BBS项目,给这个项目单独创建一个虚拟环境
-
用来安装当前项目所需的所有模块机器版本
-
【3】如何创建虚拟环境
(1)使用解释器自带的venv程序
# 在python中创建一个文件,文件名可以是项目名称,进入文件夹,打开cmd,输入创建命令 # 解释器版本 固定参数 使用自带的venv程序 虚拟环境的名字(自定义) python -m venv venv # 使用哪个版本的解释器创建出来的虚拟环境就是当前虚拟环境解释器的版本 python -m venv venv # 激活虚拟环境 # 打开到当前目录下双击运行即可 # venv\Scripts\activate.bat # MacOS source venv/bin/activate # 在创建好的venv文件中cmd打开终端,测试安装成功与否 # 退出当前虚拟环境 # deactivate
(2)借助第三方模块
-
安装模块
pip install virtualenv pip install virtualenvwrapper-win
-
配置环境变量
# 打开设置 搜索系统环境变量 # 点击PATH 添加键和指 # 键 是 WORKON_HOME # 值 就是你需要存放虚拟环境的位置 # 不要忘记运行脚本文件
-
创建虚拟环境
mkvirtualenv 虚拟环境名称 # mkvirtualenv -p python3.8 虚拟环境名称
-
使用虚拟环境
# 和上面一样 切换到目录下 执行 active
(3)直接用pycharm
选择 使用Virtualenv工具
【三】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】最常用的
-
复制 : Ctrl + C
-
粘贴 : Ctrl + V
-
快速复制一行 : Ctrl + D
-
格式化代码 : Ctrl + Alt +l
-
快速注释 : Ctrl + /
【3】自定义头文件
-
file --- settings --- file and code templates
-
python scripts
-
-
${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;
【4】汉化
-
尽量不用,建议英文(第二个)
【5】添加解释器环境
(1)打开当前解释器环境![](https://img-blog.csdnimg.cn/direct/92664890508240f68744345a5df44324.png)
(2)添加解释器![](https://img-blog.csdnimg.cn/direct/70aba5a750b84c958e0ff68bffcd02db.png)
-
虚拟环境
-
如果创建的是纯净的虚拟环境,只有三个包
-
-
系统解释器
【6】管理解释器环境![](https://img-blog.csdnimg.cn/direct/1b84012e07d04a53afee4574bf245515.png)
![](https://img-blog.csdnimg.cn/direct/7183a3ecb7334115b4f72a57d671c80a.png)
【补充】终端报错禁止运行脚本
(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
【四】注释语法
# python中的注释语法 # 【一】 学习python注释语法的意义 # 【1】方便开发人员开发整个项目,只有一个文件 # 方便记忆,不易忘记 # 需要在开发阶段增加必要的注释 # 【2】学习阶段 # 对所学的代码进行补充和注释,方便记忆 # 【3】注释的作用 # 增加代码的可读性 # 【二】在python中注释 # 【1】 单行注释 # 单行注释是指只对一行进行注释,一旦换了一行就不生效了 # 注释方法: # 注释内容 # 【2】多行注释 # 多行注释适用于代码块 # 注释方法: 英文状态下的三个单引号或者双引号,头尾皆需要 """内容""" '''内容''' # 【3】 在pycharm中快速注释 # Ctrl + / # 【4】 在开发中使用更多的是单行注释,因为pycharm快捷注释 # 【5】代码注释原则 # 不要所有代码都添加注释,会太乱 # 只需要给特定的代码位置添加必要的注释即可 # 注释尽量不要拼音,中文和英文较好
【五】变量和常量
# 【一】 变量和常量 # 都是用来表示事物或者信息的标志 # 如果想表达一个人有多大年龄 # 身高 = 170cm # 年龄 = 18 岁 # 在Python代码中我们也要用类似的名词来代表我们在代码中用到的标志 # 不要用中文做变量名 # 【二】常量 # 常量就是代表这个值不会轻易改变状态 # 【三】变量 # 变量就用来代表随时可能会发生改变的状态或者值 # 【四】变量名的语法规范 # 可用英文字母(大小写字母)、数字(0~9)、下划线(_) # 变量名不能随便声明 # 符合一定规范 # (1)可以字符+数字+下划线任意组合 # a_1 = 1 # (2)不能用数字开头 # 1_a = 1 # (3) 不能将Python中的关键字作为变量名 # 以后我们可能会用到规定好的已经具有特定含义和功能的单词 # if = 1 # 如果 # else elif # def class int float ... # ['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']
# 变量名的命名风格 # 【1】驼峰式命名法 # (1)小驼峰 # 第一个单词首字母小写,后面单词首字母大写 # 如:username userName # (2)大驼峰 # 第一个单词首字母大写,后面单词首字母大写 # 如 username UserName # 【2】拼接法 # 数字 + 字母 + 下划线任意组合 # 如:user_name
# 变量的定义和组成 # 变量名 = 变量值 # 组成部分 : 变量名 = 变量值 # 在内部发生了哪些事? # 【1】声明了一个变量名 # 相当于在你的内容空间中给了一个标识 # 你在租房的时候房东给了你一个房间号 # ---> 拿着房间号找你的房间 # 【2】变量值 # 相当于在名称空间中实际存在的值 # 在内存中开辟了一块内存空间,向内存中扔了一个值 # 房东根据政府的指示买了一块地,在地上面改了一栋fang # loft / 民宿 / 酒店 # 【二】 变量名和变量值的关系 # 想要看到我的变量名和变量值 # 变量的三大特性: 变量值 变量值的内存空间 变量类型 name = "grant" age = 22 # (1)查看我的变量值 print(name) #grant print(age) #22 # (2)我想要知道我的门牌号 print(id(name)) # 4345186672 print(id(age)) # 4306584336 # (3)我想要知道自己屋子的风格 print(type(name)) # <class 'str'> # string print(type(age)) # <class 'int'> # interger