Python初探:从零开始的编程奇妙之旅
一、Python是什么
- Python是一门多用途的高级编程语言,以其简洁、易读的语法而脱颖而出。
- 在深度学习领域,Python扮演着至关重要的角色。其丰富的科学计算库(如NumPy、Pandas、Matplotlib)和强大的深度学习框架(如TensorFlow、PyTorch)使其成为研究、开发和部署深度学习模型的首选工具。
- Python的灵活性和社区支持为深度学习从业者提供了广阔的创新空间,推动了人工智能领域的发展。无论是初学者还是专业人士,Python都是探索深度学习世界的理想之选。
二、Python解释器
Python解释器是一种执行Python代码的程序,可以进行各种算术计算。你可以在交互式环境中使用Python解释器进行实时计算,也可以将算法写入脚本文件并运行。
1)算术计算
以下是Python解释器进行算术计算的示例:
# 加法计算
sum_result = 7 + 4
print("加法结果:", sum_result)# 减法计算
difference_result = 15 - 8
print("减法结果:", difference_result)#乘法计算
multiplication_result = 3 * 5
print("乘法结果:", multiplication_result)# 除法计算
quotient_result = 20 / 4
print("除法结果:", quotient_result)# 求余计算
remainder_result = 17 % 3
print("求余结果:", remainder_result)# 指数计算
exponential_result = 2 ** 4
print("指数结果:", exponential_result)
实际运行效果:
2)数据类型
Python中有许多内置的数据类型,它们用于存储和操作不同类型的数据。以下是一些常见的Python数据类型:
2.1)整数(int)
- 用于表示整数值,可以是正数、负数或零。
- 支持基本的数学运算,如加法、减法、乘法和除法。
x = 10
y = -5
result = x + y
2.2)浮点数(float)
- 用于表示带有小数点的数值。
- 适用于需要更精确的数学运算。
pi = 3.14159
radius = 2.5
area = pi * (radius ** 2)
2.3)字符串(str)
- 用于表示文本数据,可以使用单引号或双引号。
- 支持字符串拼接、切片、替换等操作。
message = "Hello, Python!"
substring = message[7:13]
new_message = message.replace("Python", "World")
2.4)列表(list)
- 有序的可变集合,可以包含不同类型的元素。
- 支持索引和切片操作,以及列表之间的合并和嵌套。
my_list = [1, 2, 'apple', 3.14]
my_list.append('orange')
element = my_list[2]
2.5)元组(tuple)
- 有序的不可变集合,通常用于存储不可变的数据。
- 支持索引和切片操作,但不支持元素的修改。
my_tuple = (1, 2, 'banana', 3.14)
element = my_tuple[2]
2.6)集合(set)
- 无序的不重复集合,用于存储唯一的元素。
- 支持集合操作,如并集、交集、差集等。
my_set = {1, 2, 3, 3, 4}
my_set.add(5)
2.7)字典(dict)
- 用于存储键值对,每个键都是唯一的。
- 支持通过键访问值,以及添加、删除键值对。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
my_dict['gender'] = 'Male'
2.8)布尔值(bool)
- 用于表示真或假的值。
- 主要用于条件判断和控制流程。
- 布尔值在控制程序的流程中非常重要,常用于条件语句和循环。例如,它们可以用于检查某个条件是否满足,以确定程序的下一步操作。
is_true = True
is_false = Falseif is_true:print("It's true!")
else:print("It's false.")
这些数据类型提供了灵活性和功能,使得Python成为一个强大的编程语言。在实际编程中,会经常使用这些数据类型来处理各种数据和问题。
3)变量
在Python中,变量是用于存储数据值的标识符。变量允许在程序中引用和操作数据。以下是有关Python变量的一些重要信息:
3.1)变量的赋值:
- 使用等号(=)将一个值赋给变量。
- 变量的命名规则:可以包含字母、数字和下划线,但不能以数字开头。
age = 25 # 将值25赋给变量age
name = "John"
is_student = True
3.2)动态类型
- Python是一种动态类型语言,不需要显式声明变量的类型。
- 变量的类型是根据赋给它的值自动推断的。
- 这种动态性使得Python更加灵活,但也需要程序员在编写代码时注意变量的类型。
x = 10 # 整数类型
y = 3.14 # 浮点数类型
message = "Hello" # 字符串类型
3.3)变量的重新赋值
- 变量可以在程序中多次赋值,且可以更改其存储的数据类型。
count = 5
count = "five" # 变量类型从整数变为字符串
3.4)变量的引用
- 使用变量名来引用变量存储的值。
- 变量允许在程序中重复使用相同的值,使代码更易读且易维护。
height = 180
width = 120
area = height * width
3.5)删除变量
- 使用del关键字可以删除变量。
x = 10
del x
# 现在 x 不存在
3.6)变量命名规范
- 遵循一定的命名规范,使得代码可读性更好。通常使用小写字母和下划线组合,如my_variable。
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
变量是Python中非常基础和重要的概念,它们用于存储和操作程序中的数据。良好的变量命名和使用可以提高代码的可读性和可维护性。
4)if语句
当编写Python程序时,经常需要根据条件执行不同的代码块。这时候就可以使用if语句。if语句用于根据条件判断来执行不同的代码。下面用一个实例来说明:
- 假设你正在制作一个简单的登录系统,需要用户输入用户名和密码。
- 使用if语句可以检查用户输入是否正确。
# 用户输入用户名和密码
username = input("请输入用户名: ")
password = input("请输入密码: ")# 验证用户名和密码
if username == "admin" and password == "password":print("登录成功!欢迎回来,管理员。")
else:print("登录失败,请检查用户名和密码。")
在这个例子中,if语句检查用户输入的用户名是否是"admin"且密码是否是"password",如果满足这两个条件,就输出登录成功的消息,否则输出登录失败的消息。
- 此外,if语句还可以与elif(else if的缩写)结合使用,处理多个条件。
# 判断用户年龄段
age = int(input("请输入您的年龄: "))if age < 18:print("您是未成年人。")
elif age < 65:print("您是成年人。")
else:print("您是老年人。")
在这个例子中,程序根据用户输入的年龄判断用户所属的年龄段,并输出相应的消息。
总的来说,if语句是编写具有条件逻辑的程序时的基本工具,它使你能够根据不同情况采取不同的行动。
5)for语句
当需要对一个序列(例如列表、字符串等)中的每个元素执行相同的操作时,for语句是一个很有用的工具。下面通过一个简单的例子来说明:
# 定义一个数字列表
numbers = [1, 2, 3, 4, 5]# 使用 for 循环计算总和
total = 0
for number in numbers:total += numberprint("列表中所有数字的总和为:", total)
在这个例子中,for语句用于遍历列表中的每个数字,并将它们累加到变量total中。最后,输出总和。
- 此外,for语句也可以与range()函数结合使用,用于生成一系列数字。
# 使用 for 循环打印数字 0 到 4
for i in range(5):print(i)
这个例子中,range(5)生成了一个包含0到4的数字序列,然后for循环遍历这个序列并打印每个数字。
总的来说,for语句是一个遍历序列的强大工具,它允许你对序列中的每个元素执行操作,从而简化了代码的编写。
6)函数
在Python中,函数是一段可重用的代码块,用于执行特定的任务或实现特定的功能。函数允许你将一系列操作封装在一个独立的单元中,通过给它一个名称,你可以在程序的其他地方多次调用这个单元。
6.1)函数的定义
- 使用 def 关键字来定义函数,后面跟着函数的名称和一对小括号,括号内是函数的参数列表(可以为空)。
def greet(name):print(f"Hello, {name}!")
在这个例子中,我们定义了一个名为greet的函数,它接受一个参数name,并打印出问候语。
6.2)函数的调用
- 要使用函数,只需使用其名称后跟一对小括号,并传递实际的参数值。
greet("Alice")
将调用greet函数,并将字符串 “Alice” 传递给name参数。
6.3)函数的返回值
- 函数可以返回一个值,使用 return 关键字指定返回值。
def add_numbers(a, b):return a + b
在这个例子中,add_numbers函数返回参数a和b的和。
6.4)函数的参数
- 函数可以接受零个或多个参数,这些参数用于接收调用函数时传递的值。
def multiply(a, b):return a * b
在这个例子中,multiply函数接受两个参数a和b。
6.5)函数的文档字符串
- 良好的实践是在函数内添加文档字符串(docstring),用于描述函数的目的、参数和返回值。
- 文档字符串(docstring)是位于函数、模块或类定义内部的字符串,用于描述其目的、参数、返回值、使用示例和其他相关信息。
- 在函数内添加文档字符串的目的是提供对函数的说明,使得其他人或你自己在未来能够轻松理解函数的作用和如何正确使用它。
def square(x):"""This function calculates the square of a number.Parameters:- x (int): The number to be squared.Returns:int: The square of the input number.Example:>>> square(3)9"""return x ** 2
这就是Python函数的基本概念。通过合理使用函数,你可以使代码更模块化、可维护,同时提高代码的可重用性。函数是Python编程中的基本构建块之一,有助于将代码划分为小的、可管理的部分。
三、Python脚本文件
Python脚本文件是包含Python代码的文本文件,它可以被解释器读取和执行。脚本文件通常以 .py 为扩展名,并包含一系列Python语句,这些语句按照文件中的顺序依次执行。
下面是一个简单的Python脚本文件的例子:
# This is a Python script filedef greet(name):print(f"Hello, {name}!")if __name__ == "__main__":user_name = input("Enter your name: ")greet(user_name)
- 让我们来解释一下:
1)注释: 行开头的 # 符号表示注释,用于在代码中添加注解或说明。注释内容对程序的执行没有影响。
2)函数定义: 在这个例子中,有一个函数 greet,用于打印问候语。
3)条件判断: if name == “main”: 这一行检查脚本是否被直接执行而不是被导入到其他模块中。如果是主程序执行,就会执行相应的代码块。
4)用户输入: user_name = input("Enter your name: ") 用于接收用户输入的姓名。
5)函数调用: greet(user_name) 调用了之前定义的 greet 函数,输出了问候语。 - 运行Python脚本
要运行Python脚本文件,可以在命令行终端中使用python命令,后跟脚本文件的路径。例如:
python my_script.py
这将执行名为my_script.py的Python脚本文件。
脚本文件的作用
- Python脚本文件用于执行一系列任务,可以包括数据处理、算法实现、自动化任务等。通过将相关代码组织到一个脚本文件中,可以方便地进行维护、分享和执行。
- 脚本文件通常包含了完整的程序逻辑,但也可以导入其他模块或库以使用其功能。这使得Python脚本文件成为一个灵活的工具,用于各种应用场景。
四、Numpy
当谈论NumPy时,实际上是在谈论一个Python中用于科学计算的强大库。NumPy的核心是多维数组对象(numpy.ndarray),它提供了高性能的数学运算和数据操作工具。
- 创建NumPy数组
NumPy数组可以由Python列表创建,这是一个简单而强大的开始。
import numpy as np# 从列表创建数组
arr1 = np.array([1, 2, 3, 4, 5])# 从嵌套列表创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])# 生成等间隔的数组
arr3 = np.arange(0, 10, 2) #从0开始,步长为2,直到10# 生成均匀间隔的数组
arr4 = np.linspace(0, 1, 5) # 在0到1之间生成5个均匀间隔的数
- 这里,使用了np.array()函数从Python列表创建NumPy数组,并使用np.arange()和np.linspace()生成特定规律的数组。
- 数组的形状和维度
NumPy数组具有形状(shape)和维度(ndim),这使得能够了解和操作数组的结构。
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])print(arr.shape) # (2, 3)
print(arr.ndim) # 2# 修改数组形状
reshaped_arr = arr.reshape(3, 2)
- 数学运算的魔法
NumPy使得对数组进行各种数学运算变得容易。
import numpy as nparr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])# 数组的基本运算
result1 = arr1 + arr2
result2 = arr1 * 2# 数学函数运用
result3 = np.sqrt(arr1)
- 这里,演示了数组的基本运算,如加法和乘法,以及数学函数的应用,如np.sqrt()用于计算数组元素的平方根。
- 广播的魔法
广播机制使得对不同形状的数组进行操作变得更加灵活。
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])# 广播
result = arr * 2
- 在这个例子中,将数组arr与标量2相乘,广播机制使得这个操作能够轻松地应用于整个数组。
- 统计学的艺术
NumPy提供了许多统计函数,用于计算数组的各种统计信息。
import numpy as nparr = np.array([1, 2, 3, 4, 5])# 计算平均值、中位数、标准差
mean_value = np.mean(arr)
median_value = np.median(arr)
std_dev = np.std(arr)
- 数组的索引和切片
通过索引和切片,我们可以轻松地访问和操作数组的特定元素或子集。
import numpy as nparr = np.array([[1, 2, 3], [4, 5, 6]])# 获取特定元素
element = arr[1, 2]# 切片操作
row_slice = arr[0, :2]
column_slice = arr[:, 1]
- 这里,展示了如何使用索引和切片来访问数组的元素和子集。
这些例子展示了NumPy的一些基本和强大的功能。通过使用这些功能,你可以更轻松地进行数据操作、数学计算和统计分析,为进一步的科学计算和数据分析提供了强大的工具。
五、Matplotlib
Matplotlib是一个用于创建数据可视化图表的Python库,可以绘制各种类型的图表,包括折线图、散点图、柱状图、饼图等。它是Python科学计算生态系统中最流行的绘图库之一,适用于数据分析、研究、机器学习等多个领域。
以下是Matplotlib的一些关键概念和用法:
- 安装Matplotlib
如果你尚未安装Matplotlib,可以使用以下命令安装:
pip install matplotlib
- 绘制简单的折线图
使用Matplotlib,你可以很容易地创建简单的折线图。
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]# 绘制折线图
plt.plot(x, y)# 显示图表
plt.show()
- 散点图和标签
Matplotlib支持绘制散点图,并可以添加标签和标题。
import matplotlib.pyplot as plt# 数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]# 绘制散点图
plt.scatter(x, y, label='Data Points')# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Scatter Plot Example')# 添加图例
plt.legend()# 显示图表
plt.show()
- 柱状图
Matplotlib可以用于绘制各种类型的柱状图,如垂直柱状图和水平柱状图。
import matplotlib.pyplot as plt# 数据
categories = ['Category A', 'Category B', 'Category C']
values = [3, 7, 5]# 绘制垂直柱状图
plt.bar(categories, values, color='skyblue')# 添加标签和标题
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Bar Chart Example')# 显示图表
plt.show()
- 饼图
Matplotlib还支持绘制饼图,用于显示各部分在整体中的占比。
import matplotlib.pyplot as plt# 数据
labels = ['Label A', 'Label B', 'Label C']
sizes = [30, 45, 25]# 绘制饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['gold', 'lightskyblue', 'lightcoral'])# 添加标题
plt.title('Pie Chart Example')# 显示图表
plt.show()
这些只是Matplotlib的一小部分功能。Matplotlib提供了丰富的功能,可以适应各种图表需求。通过学习Matplotlib,你将能够以清晰而有吸引力的方式可视化数据,使得数据更易于理解和分享。
六、小结
- 对于刚踏入Python的学习之旅的你,记住:Python是一门愉悦而强大的编程语言,它如同一位友善的向导,引领你走进编程的奇妙世界。
- 通过深入学习NumPy和Matplotlib,你不仅能够掌握数据处理和可视化的精髓,更能在这片数字森林中找到自己的编程节奏,将想象转化为现实。
- 不要害怕挑战,因为每一次解决问题都是你成长的足迹,而Python将一直是你前行路上最忠实的伙伴。
1)Python作为通用编程语言:
- Python是一种简洁而强大的编程语言,易于学习和使用。
- 具有丰富的标准库和生态系统,支持多种应用领域。
2)NumPy的角色与优势:
- NumPy在Python中扮演着科学计算的基石,提供了多维数组对象和数学运算工具。
- 其高性能的底层实现使得在大规模数据集上执行数学操作变得高效。
3)Matplotlib的数据可视化:
- Matplotlib为Python提供了强大的数据可视化工具,适用于各种图表类型。
- 能够以清晰而有吸引力的方式展示数据,使得数据更易于理解和传达。
4)综合应用场景:
- 将Python、NumPy和Matplotlib结合使用,可以进行全方位的数据处理、分析和可视化。
- 这一组合在科学研究、数据科学、机器学习等领域发挥了关键作用。
5)学习和发展:
- 对Python的深入理解为开发者提供了通用性和灵活性,适用于多个领域。
- NumPy和Matplotlib的学习使得处理和呈现数据更加便捷,拓展了Python的科学计算能力。
坚持学习,探索未知,你将发现编程的魅力正等待着你的发现,让你的思维在其中舞动,创造无限可能。
相关文章:
Python初探:从零开始的编程奇妙之旅
一、Python是什么 Python是一门多用途的高级编程语言,以其简洁、易读的语法而脱颖而出。在深度学习领域,Python扮演着至关重要的角色。其丰富的科学计算库(如NumPy、Pandas、Matplotlib)和强大的深度学习框架(如Tenso…...
算法与数据结构之链表<一>(Java)
目录 1、链表的定义 2、链表的特点 3、为何要使用链表 4、数组与链表的区别 5、链表的增删查 5.1、在头部插入链表 5.2、在中间插入链表 5.3、删除头节点 5.4、删除中间节点 5.5、查询某个值 6、链表的应用 6.1 如何设计一个LRU缓存算法? 6.2 约瑟夫问题 1、链表的定…...
目标检测COCO数据集与评价体系mAP
1.mAP 2.IoU IoU也就是交并比,也称为 Jaccard 指数,用于计算真实边界框与预测边界框之间的重叠程度。它是真值框与预测边界框的交集和并集之间的比值。Ground Truth边界框是测试集中手工标记的边界框,用于指定对象图像的位置以及预测的边界框…...
2024最全面且有知识深度的web3开发工具、web3学习项目资源平台
在Web3技术迅速发展的时代,寻找一个综合且深入的Web3开发工具和学习项目资源平台变得至关重要。今天,我将向大家介绍一个非常有价值的网站,它就是https://web3x.world 。 Web3X是一个全面而深入的Web3开发者社区,为开发者们提供了…...
Golang - defer关键字 深入剖析
defer关键字 defer和go一样都是Go语言提供的关键字。defer用于资源的释放,会在函数返回之前进行调用。一般采用如下模式: f,err : os.Open(filename) if err ! nil {panic(err) } defer f.Close()如果有多个defer表达式,调用顺序类似于栈&a…...
如何在Spring Boot中使用@Scheduled写定时任务判断数据量是否过大,过大则进行分表操作,多张表使用临时视图查询
当数据量过大,在定时任务中执行分表操作 1、复制表结构及数据 在xml中编写复制表结构及数据(newTableName为新表名、originalTableName为原始表名) 只复制表结构: CREATE TABLE ${newTableName} AS SELECT * FROM ${originalTa…...
使用jieba库进行中文分词和去除停用词
jieba.lcut jieba.lcut()和jieba.lcut_for_search()是jieba库中的两个分词函数,它们的功能和参数略有不同。 jieba.lcut()方法接受三个参数:需要分词的字符串,是否使用全模式(默认为False)以及是否使用HMM模型&…...
C语言之分支与循环【附6个练习】
文章目录 前言一、什么是语句?1.1 表达式语句1.2 函数调用语句1.3 控制语句1.4 复合语句1.5 空语句 二、分支语句(选择结构)2.1 if语句2.1.1 悬空else2.1.2 练习(1. 判断一个数是否为奇数 2. 输出1-100之间的奇数) 2.2…...
使用通用MCU实现无人机飞行任务的快速二次开发
使用通用MCU实现无人机飞行任务的快速二次开发 ---TIDronePilot外部控制offboard模式介绍 无名小哥 2024年1月1日 传统飞控二次开发方法和主要存在的问题简介 通过对前面几讲中《零基础竞赛无人机积木式编程指南》系列开发教程的学习可知,在以往TI电赛真题的学习…...
什么是Selinux
官网地址:What is SELinux? 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 概述 安全增强型 Linux (SELinux) 是Linux 系统的安全架构,允许管理员更好地控制谁可以访问系统。它最初是由美…...
计算机网络知识点
1. URI 和 URL 统一资源定位符(Uniform Resource Locator,缩写:URL),是对资源的引用和访问该资源的方法。俗称网址,就是浏览器地址栏里面的内容。 URL 语法为:protocol://userInfohost:port/p…...
Qt 连接 Mysql
Linux下安装mysql及qt连接_liunx下安装mysql及qt链接-CSDN博客...
HarmonyOS4.0系统性深入开发14AbilityStage组件容器
AbilityStage组件容器 AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。 AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。 DevEco Studio默…...
客服系统接入FastGPT
接入FastGPT 点击【应用】【外部使用】【API访问】【新建】新建一个KEY,同时也可以看到我们的API根地址 这个根地址和Key可以填入任何支持OpenAI接口的应用里,这个接口是兼容OpenAI格式。 在客服系统【知识库AI配置】里填上接口地址和接口密钥。这样我…...
Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正
问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…...
广播及代码实现
广播(Broadcast)是一种网络通信方式,它允许一台设备向网络中的所有其他设备发送消息。广播通常用于在网络上传递一些信息,让所有设备都能接收并处理。在广播中,通信的目标是整个网络而不是特定的单个设备。 向子网中…...
QT应用篇 三、QML自定义显示SpinBox的加减按键图片及显示值效果
QT应用篇 一、QT上位机串口编程 二、QML用Image组件实现Progress Bar 的效果 三、QML自定义显示SpinBox的加减按键图片及显示值效果 文章目录 QT应用篇前言一、qml需求二、使用组件1.SpinBox组件2.SpinBox中QML的使用 总结 前言 记录自己学习QML的一些小技巧方便日后查找 QT的…...
2022年全国职业院校技能大赛网络安全竞赛试题1-10-B模块总结
前言 结尾有对22年国赛题型总结 试题1模块B 网络安全事件响应、数字取证调查和应用安全 B-1任务一:主机发现与信息收集 *任务说明:仅能获取Server1的IP地址 1.通过渗透机Kali2.0对靶机场景进行TCP同步扫描 (使用Nmap工具),并将该操作使用…...
20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850
20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850 2023/12/28 12:30 开发板:Firefly的AIO-3399J【RK3399】 SDK:rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBr…...
php-fpm运行一段时间,内存不足
目录 一:原因分析 二:解决 三:观察系统情况 php-fpm运行一段时间,内存不足,是什么原因呢。 一:原因分析 1:首先php-fpm的配置 (1)启动的进程数 启动的进程数越多,占用内存越高; 2:其次…...
基于轻量级GhostNet模型开发构建生活场景下生活垃圾图像识别系统
轻量级识别模型在我们前面的博文中已经有过很多实践了,感兴趣的话可以自行移步阅读: 《移动端轻量级模型开发谁更胜一筹,efficientnet、mobilenetv2、mobilenetv3、ghostnet、mnasnet、shufflenetv2驾驶危险行为识别模型对比开发测试》 《基…...
《Linux系列》Linux磁盘MBR分区扩容
文章目录 Linux磁盘MBR分区扩容1.前言2.控制台磁盘扩容3.分区扩容3.1 fdisk3.2 lsblk3.3 扩容分区 4.扩容文件系统4.1 df4.2 扩容文件系统 Linux磁盘MBR分区扩容 1)参考阿里云扩容分区文档,整理MBR分区扩容 2)本文档适用于MBR分区(fdisk -lu查…...
IPv6地址配置
IPv6地址接口配置 IPv6地址结构 一个IPv6地址可以分为两部分: 网络前缀:n比特,相当于IPv4地址中的网络ID 接口标识:128-n比特,相当于IPv4地址中的主机ID 注意: 对于IPv6单播地址来说,如果地址的前三bit不是000,则接口标识必须为64位,如果地址的前三位是000,则没有此…...
Ubuntu20.04 防火墙配置
ubuntu 系统中配置防火墙 ufw(Uncomplicated Firewall)是一个简化的、易于使用的Linux防火墙工具,旨在方便用户管理iptables防火墙规则。 特点 简化的防火墙管理:ufw提供了一个简洁的命令行界面,让您能够轻松地添加、…...
Windows上ModbusTCP模拟Master与Slave工具的使用
场景 Modbus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用: Modebus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用_modbus poll激活-CSDN博客 数据对接协议为Modbus TCP,本地开发需要使…...
史上最细,13年老鸟总结-性能测试7大关键点,一篇打通...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、测试环境的鉴定…...
长虹智能电视ZLM60HiS机芯刷机方法及刷机固件,附进维修模式方法
适配机芯:ZLM60HiS 型号:Q1FU、D6000i、U3、D8000ID 软件强制升级方法: 1、下载后解压,找到upgrade_ZLM60HiS_MT5508_V1.00xxx_part.pkg 、chandroid_ota_ZLM60HiS_datapart.zip复制到U盘根目录(不要有任何文件夹&a…...
计算机网络【Google的TCP BBR拥塞控制算法深度解析】
Google的TCP BBR拥塞控制算法深度解析 宏观背景下的BBR 慢启动、拥塞避免、快速重传、快速恢复: 说实话,这些机制完美适应了1980年代的网络特征,低带宽,浅缓存队列,美好持续到了2000年代。 随后互联网大爆发&#x…...
lvs+keepalived+nginx实现四层负载+七层负载
目录 一、lvs配置 二、nginx配置 三、测试 3.1 keepalived负载均衡 3.2 lvskeepalived高可用 3.3 nginx高可用 主机IPlvs01-33 11.0.1.33 lvs02-3411.0.1.34nginx0111.0.1.31nginx0211.0.1.32VIP11.0.1.30 4台主机主机添加host [rootnginx01 sbin]# cat /etc/hosts 127.0.0.…...
独立看门狗与窗口看门狗
一、简介 STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产…...
做电影网站犯罪吗/百度官网下载
摘 要:针对《计算机应用基础》传统课堂教学存在的弊端,文章提出《计算机应用基础》课程要转变教学环境,实施机房教学模式,从创设情境、提出问题、主动探究、交流反馈四个步骤开展机房教学改革,目的在于培养学员的自主探…...
济南高端网站制作公司/企业培训有哪些方面
https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转换的各种方法,包括JDK原生提供的,还有一些外部依赖提供的。1、InputStream转化为String1.1 JDK原生提供 方法…...
linux服务器怎么做网站/杭州seo哪家好
在 ASP.NET 中若要使用 CallBack 機制必需實作 System.Web.UI.ICallbackEventHandler 介面,若很多頁面都需要使用 CallBack 機制時,可以在 BasePage 實作 System.Web.UI.ICallbackEventHandler 介面就好,讓 BasePage 引發 CallBack 回呼的事件…...
空间站 参考消息/免费发布信息不收费的网站
“安全第一、预防为主、综合治理”是关系到国家经济发展与社会稳定的安全方针。安全生产是涉及职工生命安全的大事,同时关系到企业的生存发展和稳定。 2021年6月,第十三次全国人民代表大会常务委员会第二十九次会议,通过《全国人民代表大会常…...
win系统做网站/口碑营销的名词解释
方法1:将字符串转换成列表后修改值,然后用join组成新字符串>>> sabcdef #原字符串>>> s1list(s) #将字符串转换为列表>>> s1[a, b, c, d, e, f] #列表的每一个元素为一个字符>>> s1[5]F #…...
石家庄做网站建设的公司哪家好/百度seo词条优化
因为手机分辨率的原因 有些手机能点击 有些不能 这一度把我的思路引入别的地方了 如下图 我这里不能点击最后找出的原因是被mask组件所在的物体挡住了,即有个黄色框的部分有个mask 看不见 mask貌似会屏蔽同一个canvas里面所有在他区域里面不是他的子物体的UI的用户…...