Python的安装环境以及应用

1.环境python2,Python

最新安装3.12可以使用源码安装

查看安装包

root@python001 \~# yum list installed | grep epel

3root@python001 \~# yum list installed | grep python

root@python001 \~# yum -y install python3 安装python3

查看版本

root@python001 \~# python3 --version

Python 3.6.8

root@python001 \~# python3 进入编辑页面,也会进入到python2中

Python 3.6.8 (default, Nov 14 2023, 16:29:52)

GCC 4.8.5 20150623 (Red Hat 4.8.5-44) on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> print("hello world")

hello world

判断其变量类型

>>> a=3

>>> b="abc"

>>> type(a)

<class 'int'>

>>> type(b)

<class 'str'>

>>> quit() 退出

root@python001 \~# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package 修改pip镜像为清华

2.变量和数据类型

1.三大数据类型

python 复制代码
      字符        字符串

>>> b='zhangin'
>>> b
'zhangin'
>>> type (b)
<class 'str'>

        数值        整数,浮点

>>> c=3
>>> c
3
>>> type(c)
<class 'int'>

>>> d=3.14
>>> d
3.14
>>> type(d)
<class 'float'>


        逻辑        true,false

>>> flag=True
>>> print(flag);
True
>>> print(1==1);
True
>>> print(1!=1)
False
python 复制代码
>>> name1="张三"
>>> name2="李四"
>>> name3="王五"
>>> print(name1,name2,name3)
张三 李四 王五

最终的计算是在python内存中计算的,必须要有指定内存空间保存数据,这些内存空间其实就是变量

使用数据集合批量管理数据,管理内存空间

3.数据集合

1.列表

1.使用最为广泛的数据集合工具

2.是java中数组和list的综合体

3.list

4.当有多个数据需要管理,可以定义一个列表

python 复制代码
>>> lista=["张三","李四","王五","赵六"]
>>> type(lista)
<class 'list'>
python 复制代码
>>> help(list)    //查看list相关命令
python 复制代码
>>> listb.insert(1,"tomcat")
>>> listb
['tom', 'tomcat', 'jerry']
>>> listb.append("tomcat");
>>> listb
['tom', 'tomcat', 'jerry', 'tomcat']
>>> listb.shift("jerry")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'shift'
>>> listb.pop("jerry")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
>>> listb.pop()
'tomcat'
>>> listb.pop()
'jerry'
>>> listb
['tom', 'tomcat']
>>> listb.pop()
'tomcat'
>>> listb.pop()
'tom'
>>> listb
[]
>>> listc=listb.pop()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop from empty list
>>> listb=["job"]
>>> listc=listb.pop()
>>> listc
'job'
>>> 
python 复制代码
>>> listb
[]
>>> listb.append("zz")
>>> listb
['zz']
>>> listb.append("bb")
>>> listb.append("bb")
>>> listb
['zz', 'bb', 'bb']
>>> listb.remove("bb")
>>> listb
['zz', 'bb']
>>> listb.remove(listb[0])
>>> listb
['bb']

当在列表中删除或者修改一个元素的时候,列表会返回新的列表

5.管理列表

python 复制代码
#python为开发提供了丰富的使用感手册
help(lista)    #通过上下方向,enter,space健来翻阅信息,使用q来退出查看 more less
#创建列表
lista=[]
listc[1,2,3]
#修改元素
#追加元素
lista.appendd(item)    #在所有元素之后添加元素
#插入元素
listb.insert(pos,item)    #在pos序号之前插入item



删除元素 remove和pop
list.pop()    #删除list中最后一个元素
list.remove(liast[index])    #删除序号为index的元素


#修改元素
list[index]=newvalue


#del list 删除表



#

2.字典

1.dict

2.dictionary

3.key-value 键值对

4.{"name":"陈","age":"20","gender":"male"}

5.键值

python 复制代码
{
    "from":"me",
    "to":"you",
    "message":"你吃饭了吗?"
    "time":"2024-7-8 9:00:32",
    "user":{
        "username":"abc",
        "password":"abc"    
    }
}

6.{}

3.元组(不能修改,可以查看)

1.没有修改,只可以查看

2.Tupleindex

3.list(tuple)

4.Tuple(list)

4.\[\]列表,{}字典,()元组

5.List()可以吧dict的key生成一个列表

6.list可以吧tupl变成列表

7.tupl可以吧dic和list变成元组

python 复制代码
>>> tupl0
(1, 2, 3, 4)
>>> tupl0[0]
1
>>> tupl0[1]
2
>>> tupl0[1]=666
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> aa=list(tupl0)
>>> aa
[1, 2, 3, 4]



>>> dict1={"a":1,"b":2,"c":3}
>>> dict1.keys
<built-in method keys of dict object at 0x7fe9aa9f9558>
>>> dict1.keys()
dict_keys(['a', 'b', 'c'])
>>> dict1.items()
dict_items([('a', 1), ('b', 2), ('c', 3)])
>>> dict([("a",1),("b",2)])
{'a': 1, 'b': 2}

4.选择语句和循环语句

1.选择语句

1.if

1.缩进是必须的

python 复制代码
if condition0:
    statement0;
    if condition:
        block1;
    else:
        block2;
else:
    statement1;
python 复制代码
[root@python001 ~]# cat py003.py 
import random
n=random.randint(50,100)
print("随机数值为",n)
if n>90:
	print("优秀")
else:
	if n>80:
		print("良好")
	else:
		if n>70:
			print("中等")
		else:
			if n>59:
				print("及格")
			else:
				print("不及格")

root@python001 \~# python3 py003.py

随机数值为 87

良好

root@python001 \~# python3 py003.py

随机数值为 53

不及格

root@python001 \~# python3 py003.py

随机数值为 70

及格

2.swith插槽

2.循环语句

1.for

python 复制代码
>>> range(9)
range(0, 9)
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> for i
id(          import       input(       is           issubclass(  
if           in           int(         isinstance(  iter(        
>>> for i in range(9):
...     print(i)
... 
0
1
2
3
4
5
6
7
8

for i in range(101): #0-100
    n=n+i
print(n) #1-100数字累加


#在列表中循环
for var in ["a","b","c"]:
    print(var)


#在字典中遍历
    d={"id":1001,"name":"zhangsan","gender":"女","age":18}
    for var in d:
        print(var)    #将这个字典中的额key都输出的
        print(d[var])    #根据key返回对应的value值
    for var in d.keys():
        print(var)
        print(d[var])

#在元组中的遍历
tupl0=("a","b","c")
for var in tupl0:
    print(var)

案例

python 复制代码
>>> b=list(range(101))
>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
>>> for i in b:
...     if i%7==0:
...             print(i,"可以被七整除")
... 
0 可以被七整除
7 可以被七整除
14 可以被七整除
21 可以被七整除
28 可以被七整除
35 可以被七整除
42 可以被七整除
49 可以被七整除
56 可以被七整除
63 可以被七整除
70 可以被七整除
77 可以被七整除
84 可以被七整除
91 可以被七整除
98 可以被七整除

2.while

python 复制代码
while condition:
    block
    continue,break;



# 指令
vim 001.py
# 执⾏py脚本
python3 001.py
# 调试py脚本
python3 -m pdb 001.py
# 输⼊n按回⻋执⾏下⼀⾏代码
# 输⼊q退出调试
5.常⽤的⼯具api
 
# ⽣成随机
import random
n=random.randint(0,10)
# 创建⽬录
import os
os.mkdir("/opt/aaa/")
相关推荐
律宏阔39 分钟前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔40 分钟前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴40 分钟前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千1 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei371 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei371 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei371 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh1 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW1 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲1 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js