一、Python 基础
Python 是一门动态强类型,结合了解释性、编译性、互动性的高级语言。编写时无需定义变量类型;运行时变量类型强制固定;无需编译,在解释器环境直接运行。至今版本分2.x和3.x,但2.x已于2020 年1 月1 日正式停止维护。Python 支持多种编程范型(函数式、指令式、反射式、结构化和面向对象),拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。Python 的设计哲学强调代码的可读性和简洁的语法pythonic,尤其是使用空格缩进划分代码块。相比于C或Java,Python让开发者能够用更少的代码表达想法。
1.语言特点
- 跨平台-解释器CPython是用C语言编写的,几乎可运行于各操作系统
- 解析型脚本语言-内建高级的数据结构
- 面向对象的语言-便于数据和逻辑相分离
- 动态语言-变量本身:类型不固定、可随意转换、不需要声明
- 强类型语言:不允许隐式类型转换
- 2.x默认编码(ASCII);3.x默认编码(utf-8)
2.运行方式
- 脚本式编程(源代码脚本一次性执行)
- 编辑 demo.py 文件:
print ("Hello, Python!")
- 运行 demo.py 文件
python demo.py
- 交互式编程(逐行输入,再执行)(显式调用)
- 命令行/终端模式(显式调用):
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
3.动态类型与静态类型
a. 动态语言:是指在运行期间才会确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。例如:Python、Ruby、Perl、PHP、JavaScript、Groovy 等。
b. 静态语言:是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。例如:C++、Java、Delphi、C# 、Go等。
4.强类型与弱类型
a. 强类型:强类型不允许隐式变量类型转换,例如:Java、.net、Python、C++、Go。
b. 弱类型:弱类型允许隐式变量类型转换,例如:VB、PHP、JavaScript。
5.隐式类型转换
隐式是指源码中没有明显的类型转换代码,对于变量赋值的类型没有校验:定义变量时,可以直接赋值字符串,也可以直接赋值数值,还可以直接字符串类型的变量和数值类型的变量相加,代码编译运行时不会报错。强类型语言和弱类型原因其判断的根本是是否会隐形进行语言类型转变。强类型原因在速度上可能略逊于弱类型语言,但是强类型定义语带来的严谨性又避免了不必要的错误。
二、Python 安装
1.Windows 环境搭建
- Python的官方网站 https://www.python.org/
- 根据Windows 系统(32-bit/64-bit)下载 Python 版本 https://www.python.org/downloads/ 版本
-
安装时勾选上添加到环境变量 Add Python 3.x to PATH
- 安装完成,打开CMD/PowerShell 等命令行工具,确认安装的 Python 版本号和 pip 版本号
python --version
>>> Python 3.9.6
pip --version
pip 21.1.3 from c:\users\xxx\appdata\local\programs\python\python39\lib\site-packages\pip (python 3.9)
2.Linux 环境搭建
-
CentOS 7
- 安装编译相关的工具
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y
yum install gcc-c++
yum install pcre pcre-devel
- 下载Python 3.9.6版本,下载 python3.9.6时,要注意下载 Python-3.9.6.tag 的包。
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
- 创建编译安装的文件目录;解压安装包,并进入目录进行编译安装。
mkdir -p /usr/local/python3
tar -zxvf Python-3.9.6.tag
cd Python-3.9.6
./configure --prefix=/usr/local/python3
make && make install
- 建立Python3 软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
- 配置环境变量,修改交互式 cat ~/.bashrc 文件
export PATH=$PATH:$HOME/bin:/usr/local/python3/bin
source ~/.bash_profile
- 配置环境变量,修改登录式 ~/.bash_profile 文件
vim ~/.bash_profile
- 添加 Python3 路径
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
关于.bash_profile和.bashrc的区别("profile"与"rc"系列)
关于“.bash_profile”和“.bashrc”区别的总结
关于“交互式-非交互式”与“登录-非登陆”shell的总结查看Python 是否安装成功
python3 -V
pip3 -V
pip3 list
3.Mac 环境搭建
- 安装 参考文档
Python Releases for macOS
Mac OS 安装 Python3
在Mac OS X上安装Python 3
三、集成开发环境 IDE
1.PyCharm
说明
- PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
- PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制
PyCharm 下载地址
PyCharm 安装地址
- Professional(专业版,收费):完整的功能,可试用 30 天。
- Community(社区版,免费):删减版的专业版。
模板修改
- 配置 Python Script 路径
File -> Settings -> Editor -> File and Code Templates -> Python Script
- 编码模板
# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author :
# @File : ${NAME}.py
# @Software: ${PRODUCT_NAME}
Editor 设置
- 修改主题 配置路径
File->Settings->Editor->Color Scheme
- 修改字体
File->Settings->Editor->Color Scheme
> Color Scheme # 编辑器字体
> Console Font # 控制台字体
- 显示行号
File->Settings->Editor->General->Appearance
> Show line numbers # 勾选
- 函数注释 - Docstring format
File -> Settings -> Tools -> Python Integrated Tools -> Docstring format
> Epytext # 选择
- os 控制台打印乱码
File->Settings->Editor->File Encodings
Global Encoding->GBK
插件
- 中文插件
File->Settings->Plugins
搜索 chinese
"Install pligin from disk..."
- 代码量统计
安装 Statistic 插件 https://plugins.jetbrains.com/plugin/4509-statistic 该插件需要Java1.8环境变量支持
File->Settings->Plugins
搜索 Statistic
"Install pligin from disk..."
- 静态代码扫描
SonarLint
File->Settings->Plugins
搜索 SonarLint
"Install pligin from disk..."
快捷键
函数提示 Ctrl + Alt + Space
一键格式化 Ctrl + Alt + L
查看注释 Ctrl + Q
换下一行 Shift + Enter
快速运行 Ctrl + Shift + F10
选择运行 Alt + Shift + F10
全局搜索 按 Shift 键两次
删除缩进 Shift + Tab
查看变量被引用 Alt + F7
跳转进函数后来回的切换 Ctrl + Alt + ← / →
查看文件成员 Ctrl + F12
打开文件目录 Ctrl + Alt + F12
在项目内查找 Ctrl + Shift + F,若失效则查看是否有热键被占用了
查看代码提示(错误\警告)Alt + Enter
类方法名补全 Ctrl + Alt + Space
行注释 Ctrl + /
上下移动代码 Ctrl + Shift + ↑ / ↓
查找 / 替换 Ctrl + F / Ctrl + R
全局查找 / 全局替换 Ctrl + Shift + F / Ctrl + Shift + R
重命名 Shift + F6
跳转到行/列 Ctrl + G
选择调试 / 运行 Alt + Shift + F9 / Alt + Shift + F10
单步执行,进入子函数 F7
单步执行,不进入子函数 F8
智能单步执行 Shift + F7
跳到运行位置 Alt + F10
执行代码 Alt + F8
编辑 / 显示断点 Ctrl + Shift + F8
调试 Debug
Python 调试器
-
设置初步断点
- 断点说明
show execution point (F10) 显示当前所有断点
step over(F8) 单步调试。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行
step into(F7) 单步调试。若函数A内存在子函数a时,会进入子函数a内执行单步调试。
step into my code(Alt + Shift +F7) 执行下一行但忽略libraries(导入库的语句)
force step into(Alt + Shift +F7) 执行下一行忽略lib和构造对象等
step out(Shift+F8)当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。
run to cursor(Alt +F9) 直接跳到下一个断点
评估表达式:Pycharm的高级用法
2.VS Code
- 安装 Python 插件
- 配置 Python 环境
- 错误提示和格式化
3.文本编辑器
- Vim
- NotePad++
- EditPlus