Linux-python

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 我们称它为 传递引用 ,此时对象会拥有两个名称(标签) ,分别是 ab

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 后面的代码了

相关推荐
百锦再2 小时前
Java Map常用方法和实现类深度详解
java·开发语言·spring boot·struts·kafka·tomcat·maven
Sunhen_Qiletian2 小时前
回归与分类的本质区别
人工智能·python
星星乘坐的船2 小时前
基于Kubernetes Python SDK实现Job创建
linux·python·kubernetes
W_Meng_H2 小时前
XXL-JOB - 集成 Python 执行器实战指南
linux·python
枫叶丹42 小时前
【Qt开发】Qt界面优化(五)-> Qt样式表(QSS) 子控件选择器
c语言·开发语言·数据库·c++·qt
Never_Satisfied2 小时前
在c#中,实现把图片文件拖动到pictureBox控件上
开发语言·c#
独自破碎E2 小时前
BISHI61 小q的数列
java·开发语言
一切尽在,你来2 小时前
AI 大模型应用开发前置知识:Python 类型注解全教程
人工智能·python·ai编程
喵手2 小时前
Python爬虫实战:地图 POI + 行政区反查(合规接口) - 商圈热力数据准备等!
爬虫·python·爬虫实战·零基础python爬虫教学·行政区反查·地图poi·商圈热力数据准备