一、python基础语法

文章目录

      • 1.Python介绍
        • 1)发明者龟叔
        • 2)python特点
        • 3)python缺点
        • 4)Python版本
      • 2.Python解释器
        • 1)编译型和解释型
        • 2)常见的python解释器
        • 3)下载Python解释器
        • 4)安装Python解释器
        • 5)检查安装
        • 6)命令行编写
        • 7)常用命令行
      • 3.PyCharm
        • 1)PyCharm的作用
        • 2)下载与安装
        • 3)新建项目
        • 4)新建文件并书写代码
        • 5)运行文件
        • 6)PyCharm的基本设置
        • 7)Debug工具
      • 4.注释
        • 1)注释的作用
        • 2)注释的分类及语法
      • 5.变量
        • 1)变量的作用
        • 2)标识符
        • 3)命名习惯
        • 4)使用变量
        • 5)数据类型
      • 6.输出
        • 1)格式化符号
        • 2)格式化符号基础使用方法
        • 3)格式化符号高级使用方法
        • 4)拓展格式化字符串
        • 5)f-格式化字符串
        • 6)转义字符
        • 7)结束符
      • 7.输入
        • 1)语法
        • 2) 输入的特点
      • 8.数据类型转换
        • 1)转换数据类型的作用
        • 2)转换数据类型的函数
        • 3) 例子
        • 4)更多转换
      • 9.运算符
        • 1)算数运算符
        • 2)赋值运算符
        • 3)复合赋值运算符
        • 4) 比较运算符
        • 5) 逻辑运算符
        • 6)逻辑运算的书写习惯
        • 7) 数字之间的逻辑运算

1.Python介绍

1)发明者龟叔

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

2)python特点

免费、开源

应用领域广泛

3)python缺点

运行速度相对会慢一些(解释型语言)

4)Python版本

Python 2.X
Python 3.X:
Python 3.9

2.Python解释器

1)编译型和解释型

计算机只能认识一种语言,就是二进制的机器码。程序需要最终转换为二进制的机器码才能被执行,而转换的过程就分为两种:编译型和解释型。

对于编译型语言通过编译器编译之后可以直接将代码生成二进制程序执行;

而对于解释型语言需要在执行的时候通过解释器解释一段执行一段

2)常见的python解释器

Python解释器作用:解释执行python代码。

CPython:安装好Python 3.x后,就直接获得了一个官方版本的解释器:CPython。

IPython:是基于CPython之上的一个交互式解释器 。IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。

PyPy:采用JIT(just in time)技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

Jython:是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行

IronPython:和Jython类似,IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码

3)下载Python解释器

下载地址:https://www.python.org/downloads/release/python-372/

查找目标文件:Windows x86-64 executable installer

4)安装Python解释器
5)检查安装
python --version
6)命令行编写

在cmd环境下输入:python,进入客户端

#打印
print("Hello, World!")
7)常用命令行
#运行脚本
python test.py
#安装模块
pip install numpy
pip install jieba
#查看已安装模块列表
pip list
#安装特定版本号的模块
pip install torchtext==0.10.1

pip install jupyter notebook

pip uninstall torch torchvision


3.PyCharm

1)PyCharm的作用

python的集成开发环境,功能如下:

Project管理
智能提示
语法高亮
代码跳转
调试代码
解释代码(解释器)
框架和库

2)下载与安装

下载地址:http://www.jetbrains.com/pycharm/download/#section=windows

3)新建项目

在这里插入图片描述

4)新建文件并书写代码

项目根目录或根目录内部任意位置 — 右键 – [New] – [Python File] – 输入文件名

print("hello world")
5)运行文件

文件打开状态 – 空白位置 — 右键 – Run – 即可调出Pycharm的控制台输出程序结果。

6)PyCharm的基本设置

修改主题

修改代码文字格式:[Editor] – [Font]

修改解释器:[Project: 项目名称] – [Project Interpreter] – [设置图标] – [Add] – 浏览到目标解释器 – [OK] – [OK]。

7)Debug工具

打断点
Debug调试

输出面板

Debugger:显示变量和变量的细节

Console:输出内容

4.注释

1)注释的作用

通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。

2)注释的分类及语法
#单行注释
# 输出hello world
print('hello world')

#多行注释
"""
    下面三行都是输出的作用,输出内容分别是:
    hello Python
    hello itcast
    hello itheima
"""
print('hello Python')
print('hello itcast')
print('hello itheima')


5.变量

1)变量的作用

变量就是一个存储数据的的时候当前数据所在的内存地址的名字而已。

2)标识符

标识符命名规则是Python中定义各种名字的时候的统一规范,具体如下:

由数字、字母、下划线组成
不能数字开头
不能使用内置关键字
严格区分大小写

3)命名习惯

见名知义。
大驼峰:即每个单词首字母都大写,例如:MyName。
小驼峰:第二个(含)以后的单词首字母大写,例如:myName。
下划线:例如:my_name。

4)使用变量
my_name = 'TOM'
print(my_name)

schoolName = '燕大'
print(schoolName)
5)数据类型

整型:int
浮点型:float
字符串:str

列表:list

布尔型:bool
元组:tuple
集合:set
字典:dict

#检测数据类型的方法:type()

a = 1
print(type(a))  # <class 'int'> -- 整型

b = 1.1
print(type(b))  # <class 'float'> -- 浮点型

c = True
print(type(c))  # <class 'bool'> -- 布尔型

d = '12345'
print(type(d))  # <class 'str'> -- 字符串

e = [10, 20, 30]
print(type(e))  # <class 'list'> -- 列表

f = (10, 20, 30)
print(type(f))  # <class 'tuple'> -- 元组

h = {10, 20, 30}
print(type(h))  # <class 'set'> -- 集合

g = {'name': 'TOM', 'age': 20}
print(type(g))  # <class 'dict'> -- 字典

6.输出

作用:程序输出内容给用户

1)格式化符号
格式符号转换
%s字符串
%d有符号的十进制整数
%f浮点数
%c字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写ox)
%X十六进制整数(大写OX)
%e科学计数法(小写’e’)
%E科学计数法(大写’E’)
%g%f和%e的简写
%G%f和%E的简写

技巧

  • %06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出
  • %.2f,表示小数点后显示的小数位数。
2)格式化符号基础使用方法
"""
1. 准备数据
2. 格式化符号输出数据
"""
age = 18
name = 'TOM'
weight = 75.5
stu_id = 1
stu_id2 = 1000

# 1. 今年我的年龄是x岁 -- 整数 %d
print('今年我的年龄是%d岁' % age)

# 2. 我的名字是x -- 字符串 %s
print('我的名字是%s' % name)
# 3. 我的体重是x公斤 -- 浮点数 %f
print('我的体重是%.3f公斤' % weight)

# 4. 我的学号是x -- %d
print('我的学号是%d' % stu_id)

# 4.1 我的学号是001
print('我的学号是%03d' % stu_id)
print('我的学号是%03d' % stu_id2)

# 5. 我的名字是x,今年x岁了
print('我的名字是%s,今年%d岁了' % (name, age))
# 5.1 我的名字是x,明年x岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))

# 6. 我的名字是x,今年x岁了,体重x公斤,学号是x
print('我的名字是%s,今年%d岁了,体重%.2f公斤,学号是%06d' % (name, age, weight, stu_id))

运行结果:
1.今年我的年龄是18岁
2.我的名字是TOM
3.我的体重是75.500公斤
4.我的学号是1
4.1我的学号是001
4.2我的学号是1000
5.我的名字是TOM,今年18岁了
5.1我的名字是TOM,明年19岁了
6.我的名字是TOM,今年18岁了,体重75.50公斤,学号是000001

3)格式化符号高级使用方法
  • %0nd,表示输出的整数显示位数,不足时以0补全,超出当前位数则原样输出
  • %.nf,表示小数点后面显示的小数位数为n位
  • 在print中用输出符号占位,在百分号后面用小括号把对应的变量给括起来

代码同上

# 4.1 我的学号是001
print('我的学号是%03d' % stu_id)
print('我的学号是%03d' % stu_id2)


# 5. 我的名字是x,今年x岁了
print('我的名字是%s,今年%d岁了' % (name, age))
# 5.1 我的名字是x,明年x岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))
4)拓展格式化字符串

其它数据类型以字符串显示的时候,可以在格式化的时候,将原本对应类型的格式化符号换成%s

name = 'TOM'
age = 18
weight = 75.5

# 我的名字是x,今年x岁了,体重x公斤
print('我的名字是%s,今年%s岁了,体重%s公斤' % (name, age, weight))

运行结果:
我的名字是TOM,今年18岁了,体重75.5公斤

5)f-格式化字符串

格式化字符串除了%s,还可以写为f'{表达式}'

name = 'TOM'
age = 18

# 我的名字是x,今年x岁了
print('我的名字是%s,今年%s岁了' % (name, age))

# 语法 f'{表达式}'
print(f'我的名字是{name},今年{age}岁了')

运行结果:
我的名字是TOM,今年18岁了
我的名字是TOM,今年18岁了

f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读。

6)转义字符
  • \n:换行。
  • \t:制表符,一个tab键(4个空格)的距离。
print('hello')
print('world')

print('hello\nPython')
print('\tabcd')

运行结果:
hello
world
hello
Python
 abcd

7)结束符
# 以换行结尾
print('hello', end="\n")
# 以制表符
print('world', end="\t")
# 以...结尾
print('hello', end="...")
print('Python')

运行结果:
hello
world hello…Python

7.输入

1)语法
input("提示信息")
2) 输入的特点
  • 当程序执行到input,等待用户输入,输入完成之后才继续向下执行。
  • 在Python中,input接收用户输入后,一般存储到变量,方便使用。
  • 在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。
password = input('请输入您的密码:')

print(f'您输入的密码是{password}')
# <class 'str'>
print(type(password))

8.数据类型转换

1)转换数据类型的作用

用户输入的数据是字符串类型,可以用类型转换将字符串类型转换为相应的数据类型。

2)转换数据类型的函数
函数说明
int(x [,base ])将x转换为一个整数
float(x )将x转换为一个浮点数
complex(real [,imag ])创建一个复数,real为实部,imag为虚部
str(x )将对象 x 转换为字符串
repr(x )将对象 x 转换为表达式字符串
eval(str )用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s )将序列 s 转换为一个元组
list(s )将序列 s 转换为一个列表
chr(x )将一个整数转换为一个Unicode字符
ord(x )将一个字符转换为它的ASCII整数值
hex(x )将一个整数转换为一个十六进制字符串
oct(x )将一个整数转换为一个八进制字符串
bin(x )将一个整数转换为一个二进制字符串
3) 例子

需求:input接收用户输入,用户输入“1”,将这个数据1转换成整型。

# 1. 接收用户输入
num = input('请输入您的幸运数字:')

# 2. 打印结果
print(f"您的幸运数字是{num}")


# 3. 检测接收到的用户输入的数据类型 -- str类型
print(type(num))

# 4. 转换数据类型为整型 -- int类型
print(type(int(num)))
4)更多转换
# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))

# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))

# 3. tuple() -- 将一个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))


# 4. list() -- 将一个元组转换成序列
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))

# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

9.运算符

1)算数运算符
运算符描述实例
+1 + 1 输出结果为 2
-1-1 输出结果为 0
*2 * 2 输出结果为 4
/10 / 2 输出结果为 5
//整除9 // 4 输出结果为2
%取余9 % 4 输出结果为 1
**指数2 *** 4 输出结果为 16,即 2* 2 2 2
()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

注意:

  • 混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + -
2)赋值运算符
运算符描述实例
=赋值=右侧的结果赋值给等号左侧的变量
  • 单个变量赋值
num = 1
print(num)
  • 多个变量赋值
num1, float1, str1 = 12, 0.6, 'hello world'
print(num1)
print(float1)
print(str1)
  • 多变量赋相同值
a = b = 5
print(a)
print(b)
3)复合赋值运算符
运算符描述实例
+=加法赋值运算符c += a 等价于 c = c + a
-=减法赋值运算符c -= a 等价于 c = c- a
*=乘法赋值运算符c = a 等价于 c = c a
/=除法赋值运算符c /= a 等价于 c = c / a
//=整除赋值运算符c //= a 等价于 c = c // a
%=取余赋值运算符c %= a 等价于 c = c % a
**=幂赋值运算符c = a 等价于 c = c a
a = 100
a += 1
# 输出101  a = a + 1,最终a = 100 + 1
print(a)

b = 2
b *= 3
# 输出6  b = b * 3,最终b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)
4) 比较运算符

比较运算符也叫关系运算符, 通常用来判断。

运算符描述实例
==判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False)如a=4,b=4,则(a == b) 为 True
!=不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False)如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True
>运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a > b) 为 True
<运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False
>=运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True
<=运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假如a=3,b=3,则(a <= b) 为 True
a = 7
b = 5
print(a == b)  # False
print(a != b)  # True
print(a < b)   # False
print(a > b)   # True
print(a <= b)  # False
print(a >= b)  # True
5) 逻辑运算符
运算符逻辑表达式描述实例
andx and y布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。True and False, 返回 False。
orx or y布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。False or True, 返回 True。
notnot x布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not True 返回 False, not False 返回 True
a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True
6)逻辑运算的书写习惯

在逻辑运算符中加上小括号,一来可以提升表达式运算的优先级,二来可以增加代码的可读性

a = 0
b = 1
c = 2

print((a < b) and (c > b))
7) 数字之间的逻辑运算

and运算符:只要有一个值为0,则结果为0,否则结果为最后一个数字

or运算符:只有所有的值为0,结果才为0,否则结果为第一个非0数字

a = 0
b = 1
c = 2

# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b)  # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/103853.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络流探索:解决网络最大流问题的算法集锦

1.初识网络流 网络流一直是初学者心中很难过去的一道坎&#xff0c;很多人说它是一个不像DFS/BFS那么直观的算法&#xff0c;同时网上也有各种参差不齐的材料&#xff0c;让人感到一知半解。 如果你也有这样的感觉&#xff0c;那么不要灰心&#xff0c;坚持住&#xff0c;因为…

redis 主从复制

1 . redis主从复制 – 配置文件方式实现 1.1简介 : 主机更新后根据配置和策略&#xff0c;自动同步到备机的master/slave机制&#xff0c;Master以写为主&#xff0c;Slave以读为主 1.2 具体作用 读写分离&#xff0c;性能扩展&#xff0c;降低主服务器的压力容灾&#xff0c…

对比Vue2和Vue3的自定义指令

一、自定义指令简介 自定义指令是Vue提供的能力,用于注册自定义的指令,从而实现一些自定义的DOM操作。 二、Vue2中自定义指令 在Vue2中,自定义指令通过全局方法Vue.directive()进行注册: // 注册全局指令v-focus Vue.directive(focus, {inserted: function(el) {el.focus()…

mysql 命令行安装

一、安装包下载 1、下载压缩包 &#xff08;1&#xff09;公众号获取 关注微信公众号【I am Walker】&#xff0c;回复“mysql”获取 &#xff08;2&#xff09;官网下载 安装地址MySQL :: Download MySQL Community Server ​ ​ 二、解压 下载完之后进行解压&…

【数据结构】线性表(十一)队列:双端队列及其基本操作(初始化、判空、判满、头部入队、尾部入队、头部出队、尾部出队、存取队首队尾元素)

文章目录 一、队列1. 定义2. 基本操作 二、顺序队列三、链式队列双端队列0. 头文件1. 队列结构体2. 初始化3. 判断队列是否为空4. 判断队列是否已满5. 头部入队6. 尾部入队7. 头部出队8. 尾部出队9. 存取队列头部的元素10. 存取队列尾部的元素11. 释放队列内存12. 主函数13. 代…

已更新!宝藏教程!MYSQL-第六章节多表查询(一对一,多对多,一对多),连接查询(内,外连接),联合查询,子查询 代码例题详解这一篇就够了(附数据准备代码)

c知识点合集已经完成欢迎前往主页查看&#xff0c;点点赞点点关注不迷路哦 点我进入c第一章知识点合集 MYSQL第一章节DDL数据定义语言的操作----点我进入 MYSQL第二章节DDL-数据库操作语言 DQL-数据查询语言----点我进入 MYSQL第三章节DCL-管理用户&#xff0c;控制权限----点我…

28、Flink 的SQL之DROP 、ALTER 、INSERT 、ANALYZE 语句

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

笔记/日记应用 memos

memos &#xff0c;一款很惊艳的笔记应用&#xff0c;UI很漂亮&#xff0c;交互体验也很好&#xff0c;还有其他的小伙伴基于memos开发了不同平台的客户端。 图源-Gihub页 可以说这个是私人笔记系统的天花板&#xff0c;推荐给大家。

vue重修之Vuex【上部】

文章目录 版权声明Vuex 概述Vuex 的主要概念和组件 vuex的使用状态 &#xff08;state&#xff09;Vuex特点 访问vuex中数据$store访问mapState辅助函数访问 开启严格模式及Vuex的单项数据流突变&#xff08;mutations&#xff09;mutations初识带参 mutations辅助函数 mapMuta…

N——>BatchSize 数据维度理解和处理(chun, cat, squeeze, unsqueeze)

数据处理之N——>BatchSize N——>batch_size train_data TensorDataset(torch.Tensor(x_train).double(), torch.Tensor(y_train).double()) train_loader DataLoader(train_data, batch_sizeargs.bs, shuffleTrue, drop_lastTrue) for batch_idx, (inputs, results…

自动化测试07Selenium01

目录 什么是自动化测试 Selenium介绍 Selenium是什么 Selenium特点 工作原理 SeleniumJava环境搭建 Selenium常用的API使用 定位元素findElement CSS选择语法 id选择器&#xff1a;#id 类选择 .class 标签选择器 标签名 后代选择器 父级选择器 自己选择器 xpath …

Django实现音乐网站 (22)

使用Python Django框架做一个音乐网站&#xff0c; 本篇音乐播放器功能完善&#xff1a;顺序播放、设置播放数、歌词滚动等功能。 目录 顺序播放 设置顺序播放 单曲播放数 添加路由 视图处理 模板处理 歌词滚动 视图内容返回修改 样式设置 模板内容 歌词滚动脚本 歌…

【C++代码】安排行程,N皇后,解数独--代码随想录

题目&#xff1a;重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必…

[Docker]二.Docker 镜像,仓库,容器介绍以及详解

一.Docker 镜像,容器,仓库的简单介绍 通俗来讲:镜像相当于VM虚拟机中的ios文件,容器相当于虚拟机系统,仓库相当于系统中的进程或者执行文件,容器是通过镜像创建的 1.镜像 Docker 镜像就是一个 Linux 的文件系统&#xff08; Root FileSystem &#xff09;&#xff0c;这个文…

一百九十五、MySQL——MySQL数据库创建只读权限的账号(附流程截图)

一、目的 在团队开发过程中&#xff0c;为了实现数据共享以及避免其他团队修改库表数据&#xff0c;需要提供数据库只读权限的账号&#xff0c;因此以MySQL数据库为例&#xff0c;创建MySQL数据库只读权限的账号 二、实施步骤 &#xff08;一&#xff09;第一步&#xff0c;…

栈(Stack)的概念+MyStack的实现+栈的应用

文章目录 栈&#xff08;Stack&#xff09;一、 栈的概念1.栈的方法2.源码分析 二、MyStack的实现1.MyStack的成员变量2.push方法3.isEmpty方法和pop方法4.peek方法 三、栈的应用1.将递归转化为循环1.调用递归打印2.通过栈逆序打印链表 栈&#xff08;Stack&#xff09; 一、 栈…

Nginx动静分离

为了加快网站的解析速度&#xff0c;可以把动态页面和静态页面由不同的服务器来解析&#xff0c;加快解析速度。降低原来单个服务器的压力。 在动静分离的tomcat的时候比较明显&#xff0c;因为tomcat解析静态很慢&#xff0c;其实这些原理的话都很好理解&#xff0c;简单来说&…

T113-S3-buildroot文件系统tar解压缩gz文件

目录 前言 一、现象描述 二、解决方案 三、tar解压缩.gz文件 总结 前言 本文主要介绍全志T113-S3平台官方SDK&#xff0c;buildroot文件系统tar不支持.gz文件解压缩的问题以及如何配置buildroot文件系统解决该问题的方法介绍。 一、现象描述 在buildroot文件系统中&#xff…

Doceker-compose——容器群集编排管理工具

目录 Docker-compose 1、Docker-compose 的三大概念 2、YAML文件格式及编写注意事项 1&#xff09;使用 YAML 时需要注意下面事项 2&#xff09;ymal文件格式 3&#xff09;json格式 3、Docker Compose配置常用字段 4、Docker-compose的四种重启策略 5、Docker Compos…

强劲升级,太极2.x你值得拥有!

嗨&#xff0c;大家好&#xff0c;最近桃桃没顾得上给大家分享好用好玩的软件。 还记得前段时间给大家分享的太极1.0软件&#xff1f; 最近大佬对软件进行了全新升级&#xff0c;升级后的功能更强更稳定&#xff0c;轻度用户使用基本功能就已经足够了&#xff0c;壕无人性的同学…
最新文章