1.python简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,广泛使用Python来做的内容一般有:自动化运维 、自动化测试 、大数据分析、爬虫、Web 等。
2.python特点
|------|------|------|----------|-------|-----|-----|-----|-------|
| 易于学习 | 易于阅读 | 易于维护 | 一个广泛的标准库 | .互动模式 | 可移植 | 可扩展 | 数据库 | GUI编程 |
[python特点]
3.python解释器类型
1.CPython 当我们从Python官方网站下载并安装好Python 后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行
python就是启动CPython解释器。2.IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用
>>>作为提示符,而IPython用In [序号]:作为提示符。
4.编译安装python3.10(Centos stream 9)
4.1源码安装
4.1.1安装依赖软件包
dnf install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel xz-devel
4.1.2下载
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
4.1.3解压安装
tar -xvzf Python-3.10.4.tgz -C /usr/local/
cd /usr/local/Python-3.10.4/
4.1.4开始编译安装
./configure --prefix=/usr/local/python3
make -j 2 && make install
5.配置共享库文件
cd /usr/local/python3/bin/
vim /etc/profile.d/python3.sh
export PATH=$PATH:/usr/local/python3/bin
mv /usr/bin/python3 /usr/bin/python3.bak
source /etc/profile.d/python3.sh
6.测试python3
python3 -V
python3
7.测试pip3
mv /usr/bin/pip3 /usr/bin/pip3.bak
source /etc/profile.d/python3.sh
pip3 -V
特殊问题
假如 Python Shell 中敲击方向键显示「[[C[[D」
可以安装以下包
pip3 install gnureadline
yum install readline-devel
yum install patch
8.配置使用国内阿里源
8.1创建配置文件
# Linux下使用
mkdir ~/.pip
vi ~/.pip/pip.conf
# Windows 下使用 pip.ini
(1):在windows文件管理器中,输入 %APPDATA%
(2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件
vi ~/.pip/pip.conf中的内容
vi ~/.pip/pip.conf
[global]
timeout = 6000
index-url=https://mirrors.aliyun.com/pypi/simple
8.2示例:安装一个执行远程主机命令的模块
pip3 install redis
8.3pip应用手册
pip3 uninstall redis -卸载
pip3 list -列出已安装的包
pip3 freeze -查看已安装软件版本(包信息更完整)
导入到requirements.txt
pip3 freeze > requirements.txt
cat requirements.txt
gnureadline==8.0.0
redis==3.5.3
安装开发人员提供的软件(也就是程序运行所需要的基础环境)
pip3 install -r requirements.txt
8.4查看软件版本信息
pip3 index versions redis
8.5升级pip
pip3 install --upgrade pip
8.6查看pip版本
pip3 -V
pip 26.0 from /usr/local/python3/lib/python3.10/site-packages/pip (python 3.10)
9.安装python3
10.python虚拟环境
python3 -m venv /usr/local/venv -创建虚拟环境
cd /usr/local/venv/bin -进入虚拟环境bin目录
source activate -加载虚拟环境配置
pip3 list -列出虚拟环境
deactivate -退出虚拟环境
pip3 list -再次查看虚拟环境,已切换到原来环境

11.ipython
11.1ipython介绍
IPython的设计目的是在交互式计算和软件开发这两个方面最大化地提高生产力,它鼓励一种"执行-探索"的工作模式,支持matplotlib等库的绘图操作。同时IPython还提供一个基于WEB的交互式浏览器开发环境(Jupyter Notebook),用起来也很不错。
11.2安装ipython
pip3 install ipython
11.3启动ipython
ipython
11.4退出ipython
ipython
In [1]: exit
11.5使用ipython

!的作用
直接运行命令,在屏幕上看到输出。
将输出赋值给变量(如
out = !cmd),后续可像普通 Python 对象一样处理。比如print(out)



11.5.1输入和输出变量
_保存上一次 的输出(即Out[n])。
__保存上上次的输出。
___保存上上上次的输出。

11.5.2记录输入输出过的变量
某一行的输入变量:
_iX(X为行号)某一行的输出变量:
_X(X为行号)

补充内容
1.标准规范
文件名以.py结尾
解释器申明
终端执行文件
2.python内部执行过程

12.变量
python语言是动态语言
- 变量不需要事先声明
- 变量的类型不需要声明
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的
类型是变量所指的内存中对象的类型。等号(=)用来给变量赋值。
等号(=)运算符左边是变量名,等号(=)运算符右边是变量的值。
变量命名规则
- 大小写字母(a-z,A-Z)
- 变量名区分大小写; a 和 A 是不同的变量
- 数字(0-9)
- 下划线(_)
- 中文不可以以数字开头
- 不要以单下划线和双下划线开头;如:_user或 __user
- 变量命名要易读;如:user_name,而不是username
- 不用使用标准库中(内置)的模块名或者第三方的模块名
- 不要用这些 Python 内置的关键字



12.1python中的变量赋值
比如s="hello"
以上的变量赋值,应该说成把变量分配给对象更合理。
hello这个字符串对象会在内存中先被创建,之后再把变量名s分配给这个对象

所以要理解 Python 中的变量赋值,应该始终先看等号右边。
对象是在右边先被创建或者被获取,在此之后左边的变量名才会被绑定到对象上,这就像为对象贴上了标签。
变量名本质上是对象的标签或者说是对象的名字,当然一个对象可以有多个标签或者名字。
比如: 张三 和 小张 指的都是同一个人
12.1.1示例




上面的
b = a我们称它为 传递引用 ,此时对象会拥有两个名称(标签) ,分别是a和b
12.1.2变量的多元赋值

12.1.3python中对象(变量的值)都有三个特性
唯一标识,是对象在内存中的整数表示形式,在 CPython 中可以理解为内存地址
可以用 id 这个函数查看

13.运算符
13.1算数运算
#! /usr/bin/python3
a=21
b=10
c=0
c=a+b
print("c的值为:",c)
c=a-b
print("c的值为:",c)
c=a*b
print("c的值为:",c)
c=a/b
print("c的值为:",c)
c=a%b
print("c的值为:",c)
a=2
b=3
c=a**b
print("c的值为:",c)
a=11
b=5
c=a//b
print("c的值为:",c)


13.2比较运算

13.3赋值运算

13.4逻辑运算

13.5成员运算


14.流控制语句
14.1if判断
格式
if 条件1:
如果condition为True,执行这里的代码块
elif 条件2:
如果condition为True,执行这里的代码块
else:
如果condition为False,执行这里的代码块
14.1.2if嵌套

14.2while循环
while格式
while 条件:
如果condition为True,执行这里的代码块

14.3for循环
for格式
for 变量名 in 可迭代对象:
command
注:
for循环的核心是遍历可迭代对象(如列表、元组、字典、字符串、云资源列表等),逐个处理元素。

4.3.1for...else
1. 当 for 循环体正常执行完毕时,再执行一下 else 后面的代码
2. 当 执行了 break 后,就不再执行 else 后面的代码了

