从零开始学习Python基础语法:打开编程大门的钥匙

news2024/11/27 20:29:19

在这里插入图片描述

文章目录

    • 一、引言
      • 1.1 Python作为一种流行的编程语言的介绍
      • 1.2 Python的应用领域和适用性
    • 二、为什么选择Python
      • 2.1 Python的简洁性和易读性
      • 2.2 Python的跨平台特性
    • 三、Python在数据科学和人工智能领域的应用
      • 3.1 第一个Python程序
        • 3.1.1 Hello, World!:编写并运行你的第一个Python程序
        • 3.1.2 注释:如何添加注释以提高代码可读性
      • 3.2 变量和数据类型
        • 3.2.1 变量的定义和赋值
        • 3.2.2 常见的数据类型:整数、浮点数、字符串、布尔值
        • 3.2.3 类型转换:如何在不同数据类型之间进行转换
      • 3.3 条件语句和循环
        • 3.3.1 if语句:根据条件执行不同的代码块
        • 3.3.2 for循环:遍历列表、元组等可迭代对象
        • 3.3.3 while循环:根据条件重复执行一段代码
      • 3.4 函数
        • 3.4.1 为什么使用函数:代码的组织和重用
        • 3.4.2 定义函数:如何定义和调用函数
        • 3.4.3 参数传递和返回值:函数的输入和输出
    • 四、 实践项目 : 创建一个简单的待办事项管理器
    • 五、总结

重温Python,适合新手搭建知识体系,也适合大佬的温故知新~

一、引言

1.1 Python作为一种流行的编程语言的介绍

Python是一种流行的高级编程语言,以其简洁、易读和强大的特性而备受开发者欢迎。它由Guido van Rossum1991年创建,并且在过去几十年中得到了广泛的发展和应用。

Python作为一种流行的编程语言的一些特点和优势

  1. 简洁易读:Python使用简洁的语法和清晰的代码结构,使得代码易于阅读和理解。这使得初学者可以很快上手,并且减少了开发过程中的错误。
  2. 多用途性:Python适用于各种不同领域的应用开发,包括Web开发、数据科学、人工智能、机器学习、网络编程等。它具有丰富的库和框架,提供了许多工具和功能,方便开发者快速构建各种应用。
  3. 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux和MacOS。这意味着你可以使用Python开发一次,然后在不同的平台上部署和运行。
  4. 强大的生态系统:Python拥有庞大而活跃的社区,提供了大量的第三方库和工具,可以帮助开发者解决各种问题。例如,NumPy、Pandas和Matplotlib等库可以帮助进行数据分析和可视化,Django和Flask等框架可以简化Web开发过程。
  5. 可扩展性:Python支持模块化和面向对象的编程,使得代码可以轻松地被重用和扩展。开发者可以通过编写自己的模块或使用其他人编写的模块来实现特定的功能。
  6. 学习资源丰富:由于Python的流行程度,有很多优质的教程、书籍和在线资源可供学习。这使得初学者可以很容易地找到学习材料,并且可以通过实践来提升自己的编程能力。

无论是初学者还是有经验的开发者,Python都是一个值得学习和掌握的编程语言。

1.2 Python的应用领域和适用性

主要的应用领域和适用性

  1. Web开发:Python在Web开发中有广泛的应用,特别是通过Django和Flask等框架。这些框架提供了快速、高效的开发方式,使开发者能够构建强大的Web应用程序。
  2. 数据科学和机器学习:Python在数据科学和机器学习领域非常流行。它提供了众多的库和工具,如NumPy、Pandas、Matplotlib和Scikit-learn等,可以进行数据处理、分析、可视化和机器学习建模。
  3. 科学计算和数值计算:Python被广泛用于科学计算和数值计算任务。NumPy和SciPy等库提供了大量的数学函数和算法,使得科学家和工程师能够进行复杂的数值计算和科学研究。
  4. 自动化和脚本编写:Python是一种强大的脚本语言,可以用于自动化各种任务和编写脚本。它可以简化重复性的工作,并提高工作效率。
  5. 游戏开发:Python可以用于游戏开发,尤其是通过Pygame库可以创建2D游戏。虽然不如其他专门的游戏引擎那样强大,但对于简单的游戏和原型开发来说是一个很好的选择。
  6. 网络编程:Python提供了强大的网络编程能力,可以用于构建服务器端应用、网络爬虫和网络安全工具等。
  7. 自然语言处理:Python在自然语言处理领域也很受欢迎。通过NLTK(Natural Language Toolkit)等库,可以进行文本处理、情感分析、机器翻译等任务。
  8. 图像处理和计算机视觉:Python的OpenCV库提供了丰富的图像处理和计算机视觉功能,使得开发者可以进行图像处理、模式识别和目标检测等任务。

Python在各种应用领域都有广泛的适用性,它的简洁性、易学性和丰富的库和工具使得开发者能够快速构建各种应用。无论是Web开发、数据科学、机器学习还是自动化脚本,Python都是一个强大而灵活的选择。

二、为什么选择Python

2.1 Python的简洁性和易读性

语法非常简单,代码结构清晰

  • Python使用缩进而不是大括号来表示代码块,这使得代码更加易于阅读和理解。
  • Python还有许多内置函数和数据类型,这些功能包可以快速完成复杂的任务。

命名规范也有助于提高代码的可读性

  • 变量名和函数名应该使用下划线分隔单词。
  • 类名应该使用驼峰式命名法。

Python还提供了大量的注释功能,这有助于开发人员在代码中添加注释来提供更多的上下文信息和解释,以帮助其他人更好地理解代码。

2.2 Python的跨平台特性

Python拥有强大的跨平台特性,无论是在Windows、Mac还是Linux等操作系统上,Python都可以轻松地运行。这意味着您可以在不同的平台上开发和运行相同的Python代码,而无需进行任何修改。

Python的跨平台特性得益于它的解释性语言特点。Python代码在运行之前会被解释器实时翻译成机器码,而不需要提前编译。这使得Python代码可以在不同的操作系统上执行,只要相应的Python解释器可用即可。(与Java类似)

三、Python在数据科学和人工智能领域的应用

3.1 第一个Python程序

3.1.1 Hello, World!:编写并运行你的第一个Python程序

在文本编辑器的基本流程

  1. 打开文本编辑器(如 Visual Studio Code 、Notepad、Sublime Text或PyCharm等)。
  2. 在编辑器中输入以下代码:
print("Hello, World!")
  1. 将文件保存为“hello.py”,确保文件类型是Python脚本文件。
  2. 在命令提示符或终端窗口中,导航到您保存的文件所在的目录。
  3. 运行以下命令来执行Python程序:
python hello.py
  1. 如环境配置没问题的话,将在命令提示符或终端窗口中看到Hello, World!的输出。
3.1.2 注释:如何添加注释以提高代码可读性

在Python中,用井号 # 来添加单行注释。

添加注释是一种良好的编程习惯,可以提高代码的可读性和可维护性,同时也能帮助其他人(包括您自己)更好地理解代码。

单行注释

# 这是一个简单的Python程序,用于计算并输出两个数字之和

# 定义两个数字
a = 10
b = 20

# 计算它们的和
sum = a + b

# 输出结果
print("The sum of", a, "and", b, "is", sum)

多行注释

"""
这是一个多行注释
它可以包含多个行。
"""

注释用于解释代码的作用和意图,并提供有用的上下文信息,以帮助读者更好地理解代码。

3.2 变量和数据类型

3.2.1 变量的定义和赋值

使用变量来存储数据,并且不需要事先声明变量的类型,变量的定义和赋值可以在同一行或分开进行。

展示了变量的定义和赋值

# 定义变量并赋值(变量命名规则:不能以数字开头,不能包含空格或特殊字符)
# 对于整数和浮点数类型的变量,Python会自动根据赋值的值确定其类型
name = "Alice"
age = 25
height = 1.65

# 输出变量的值
print("姓名:", name)
print("年龄:", age)
print("身高:", height)

# 变量的类型是动态的,意味着可以在程序的执行过程中改变变量的值和类型
x = 5
print(x)  # 输出:5

x = "Hello"
print(x)  # 输出:"Hello"
3.2.2 常见的数据类型:整数、浮点数、字符串、布尔值

数据类型的使用

# 整数
num1 = 10
num2 = -5

# 浮点数
pi = 3.14159
temperature = 98.6

# 字符串
name = "Alice"
message = 'Hello, world!'

# 布尔值
is_true = True
is_false = False

# 输出变量的值及其类型
# type()函数:查看变量的类型
print("整数:", num1, type(num1))
print("浮点数:", pi, type(pi))
print("字符串:", name, type(name))
print("布尔值:", is_true, type(is_true))

# 输出的结果
整数: 10 <class 'int'>
浮点数: 3.14159 <class 'float'>
字符串: Alice <class 'str'>
布尔值: True <class 'bool'>
3.2.3 类型转换:如何在不同数据类型之间进行转换

类型转换函数

  • int():将一个值转换为整数类型。
  • float():将一个值转换为浮点数类型。
  • str():将一个值转换为字符串类型。
  • bool():将一个值转换为布尔值类型。

类型转换

# 整数转换(将字符串转换为整数,并将其与另一个整数相加)
num1 = 10
num2 = int("5")
sum = num1 + num2
print("整数转换:", sum)

# 浮点数转换(将输入的字符串转换为浮点数,并计算圆的面积)
pi = 3.14159
radius = float(input("请输入圆的半径:"))
area = pi * radius**2
print("浮点数转换:", area)

# 字符串转换(将输入的年龄转换为整数,并增加了5)
age = input("请输入年龄:")
age = int(age)
print("字符串转换:", age + 5)

# 布尔值转换(将一个整数转换为布尔值,并判断其是否为偶数)
num = 10
is_even = bool(num % 2 == 0)
print("布尔值转换:", is_even)

# 输出结果
整数转换: 15
请输入圆的半径:5.5
浮点数转换: 95.033185
请输入年龄:25
字符串转换: 30
布尔值转换: True

3.3 条件语句和循环

3.3.1 if语句:根据条件执行不同的代码块

if语句的基本语法

# condition是一个布尔表达式,用于判断条件是否为真
# 如果条件为真,则执行if代码块;否则,执行else代码块(可选)
if condition:
    # 如果条件为真,则执行这里的代码块
else:
    # 如果条件为假,则执行这里的代码块

if语句的使用:

# 判断奇偶数
num = int(input("请输入一个整数:"))
if num % 2 == 0:
    print(num, "是偶数")
else:
    print(num, "是奇数")

# 判断成绩等级
score = int(input("请输入考试成绩:"))
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"
print("成绩等级:", grade)

# 输出结果
请输入一个整数:7
7 是奇数
请输入考试成绩:85
成绩等级: B

3.3.2 for循环:遍历列表、元组等可迭代对象

for循环的语法:

# variable是一个变量,用于存储可迭代对象中的每个元素
# iterable是一个可迭代对象,如列表、元组等
for variable in iterable:
    # 在这里执行循环体的代码块

for循环的使用:

# 遍历列表
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(fruit)

# 遍历元组
numbers = (1, 2, 3)
for number in numbers:
    print(number)

# 遍历字符串
name = "Tom"
for character in name:
    print(character)
    
# 输出结果
apple
banana
orange
1
2
3
T
o
m

3.3.3 while循环:根据条件重复执行一段代码

while循环的语法

# condition是一个布尔表达式,用于判断是否继续执行循环
# 在每次循环开始时,会先判断`condition`的值
# 如果为真,则执行循环体的代码块
# 否则,跳出循环
while condition:
    # 在这里执行循环体的代码块

while循环的使用:

# 计数器循环
count = 0
while count < 3:
    print("Count:", count)
    count += 1

# 用户输入循环
password = ""
while password != "secret":
    password = input("请输入密码:")
print("密码正确!")

# 无限循环
while True:
    print("无限循环")
    
# 输出结果
Count: 0
Count: 1
Count: 2
请输入密码:1234
请输入密码:secret
密码正确!
无限循环
无限循环
...

3.4 函数

3.4.1 为什么使用函数:代码的组织和重用

函数是一段可重用的代码块,用于执行特定的任务或计算,可以接收参数,可以返回值。

函数的优点

  1. 代码的组织性更好:将功能相似的代码块封装成函数,可以使程序的结构更清晰,更易于理解和维护。
  2. 避免重复代码:如果某些代码需要在多个地方使用,可以把它们封装成函数,减少重复的代码量,使程序更加简洁。
  3. 代码的可复用性更高:封装成函数的代码可以在不同的程序中复用,提高代码的可维护性和可重用性。
  4. 易于调试和测试:函数可以独立调试和测试,不会影响其他部分的代码,可以更快速、更有效地定位和修复问题。
  5. 提高代码的可读性:通过给函数取一个有意义的名字,可以让代码更加易懂,更容易理解代码的意图。
3.4.2 定义函数:如何定义和调用函数

使用def关键字来定义函数,函数的定义通常包括函数名、参数列表和函数体。

定义和调用一个简单的函数

# 定义一个函数,用于计算两个数的和
def add(x, y):
    result = x + y
    return result

# 调用函数,并打印出结果
a = 10
b = 20
result = add(a, b)
print("计算结果:", result)

# 输出结果
计算结果: 30

除了上面的例子位置参数外,还可以定义默认参数可变参数

  • 默认参数:可以为函数的参数指定默认值,在调用函数时可以省略这些参数。

    def greet(name, message="Hello"):
        print(message, name)
    
    greet("Alice")  # 输出:Hello Alice
    greet("Bob", "Hi")  # 输出:Hi Bob
    
    
  • 可变参数:在函数定义时,可以使用*args表示接收任意个数的位置参数,使用**kwargs表示接收任意个数的关键字参数。

    # *args表示接收任意个数的位置参数
    def multiply(*args):
        result = 1
        for num in args:
            result *= num
        return result
    
    print(multiply(2, 3, 4))  # 输出:24
    
    # **kwargs`表示接收任意个数的关键字参数
    def print_info(**kwargs):
        for key, value in kwargs.items():
            print(key, ":", value)
    
    print_info(name="Alice", age=25)  # 输出:name : Alice   age : 25
    
    
3.4.3 参数传递和返回值:函数的输入和输出

参数是函数定义时指定的变量,用于接收外部传入的值;返回值是函数执行完毕后返回给调用者的结果。

单个返回值

# 定义一个函数,计算两个数的乘积
def multiply(x, y):
    result = x * y
    return result

# 调用函数,并打印出结果
a = 5
b = 10
product = multiply(a, b)
print("乘积:", product)

# 输出结果
乘积: 50

多个返回值

# 定义一个函数,返回两个数的和与差(使用return语句将两个结果作为元组返回给调用者)
def add_and_subtract(x, y):
    sum_result = x + y
    difference = x - y
    return sum_result, difference

# 调用函数,并打印出结果
a = 10
b = 5
sum_result, difference = add_and_subtract(a, b)
print("和:", sum_result)
print("差:", difference)

# 输出结果
和: 15
差: 5

四、 实践项目 : 创建一个简单的待办事项管理器

待办事项管理器允许用户添加待办事项、显示待办事项列表和删除某个待办事项。用户可以根据提示进行操作,直到选择退出。

# 创建一个空的待办事项列表
todo_list = []

# 添加待办事项
def add_todo():
    todo = input("请输入待办事项:")
    todo_list.append(todo)
    print("待办事项已添加!")

# 显示待办事项
def show_todo():
    if len(todo_list) == 0:
        print("当前没有待办事项。")
    else:
        print("当前的待办事项:")
        for i, todo in enumerate(todo_list, start=1):
            print(f"{i}. {todo}")

# 删除待办事项
def remove_todo():
    show_todo()
    if len(todo_list) == 0:
        return
    index = int(input("请输入要删除的待办事项编号:")) - 1
    if index < 0 or index >= len(todo_list):
        print("无效的待办事项编号。")
    else:
        removed_todo = todo_list.pop(index)
        print(f"已删除待办事项:{removed_todo}")

# 待办事项管理器主程序
def todo_manager():
    while True:
        print("\n请选择操作:")
        print("1. 添加待办事项")
        print("2. 显示待办事项")
        print("3. 删除待办事项")
        print("4. 退出")
        choice = input("请输入选项:")
        if choice == "1":
            add_todo()
        elif choice == "2":
            show_todo()
        elif choice == "3":
            remove_todo()
        elif choice == "4":
            print("感谢使用待办事项管理器。")
            break
        else:
            print("无效的选项,请重新输入。")

# 运行待办事项管理器
todo_manager()

五、总结

基础语法总结

  1. 简介和使用场景

    Python在各种应用领域都有广泛的适用性,它的简洁性、易学性和丰富的库和工具使得开发者能够快速构建各种应用。无论是Web开发、数据科学、机器学习还是自动化脚本,Python都是一个强大而灵活的选择。

  2. 变量和数据类型

    Python中的变量不需要声明,直接赋值即可。Python支持多种数据类型,包括整数、浮点数、字符串、布尔值等。

  3. 条件语句

    Python中的条件语句使用if、elif和else关键字进行定义。根据条件的成立与否,执行相应的代码块。

  4. 循环语句

    Python中的循环语句包括for和while循环。for循环通常用于遍历序列或迭代器,而while循环则用于在条件成立时重复执行代码块。

  5. 函数

    Python中的函数使用def关键字定义。函数可以接收参数并返回值,也可以没有参数或返回值。

  6. 实践项目

    待办事项管理器允许用户添加待办事项、显示待办事项列表和删除某个待办事项。用户可以根据提示进行操作,直到选择退出。

以上是Python的基础语法总结,当然还有其他更高级的语言特性和库,但这些基础知识是学习Python编程的必备内容。

每一个裂缝都是为透出光而努力

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

XXL-Job的搭建接入Springboot项目(详细)

一、XXL-Job介绍 XXL-Job 是一款开源的分布式任务调度平台&#xff0c;由 Xuxueli&#xff08;徐雪里&#xff09;开发。它基于 Java 技术栈&#xff0c;提供了一套简单易用、高可靠性的任务调度解决方案。 XXL-Job 的主要作用是帮助开发者实现定时任务的调度和执行。它可以用…

安装脚手架Vue CLI详解!!!

Vue CLI基本介绍&#xff1a; Vue CLI是Vue官方提供的一个全局命令工具。可以帮助我们快速创建一个开发Vue项目的标准化基础架子【集成了webpack配置】 安装脚手架好处&#xff1a; 开箱即用&#xff0c;零配置&#xff1b;内置babel等工具&#xff1b;标准化 安装步骤&#…

vscode中关于python的一些常用配置

文章目录 python cv2 提示配置第一步 配置提示信息第二部 重启vs 可能还不行&#xff0c;那就重新安装以下opencv-python 配置pytest还是如上&#xff0c;将下入的位置打开编写测试用例 配置跨文件import在工作目录中新建一个.env文件输入内容如下打开.vscode中的setting.json …

react umi/max 封装页签组件

1. models/tabs // 全局共享数据示例 import { useState } from react;const useUser () > {const [items, setItems] useState<any[]>([]); // 页签的全局Item数据const [key, setKey] useState<string>(/home); // 页签的高亮Keyreturn {items,setItems…

leetcode热题100.路径总和 III

Problem: 437. 路径总和 III 文章目录 题目思路1复杂度1Code1思路2复杂度2Code2 题目 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶…

Leetcode:128. 最长连续序列

128. 最长连续序列 乍一看感觉很简单&#xff0c;一看要用O(n)??? 因为我觉得题目很难而且题目看起来很简单&#xff0c;感觉以后会用到&#x1f606;&#xff0c;做个记录 1.朴素做法 思路 答:任何一段连续的数都有一个左端点&#xff1a;比如&#xff08;1&#xff0c;…

TCP 拥塞控制对数据延迟的影响

哈喽大家好&#xff0c;我是咸鱼 今天分享一篇文章&#xff0c;是关于 TCP 拥塞控制对数据延迟产生的影响的。作者在服务延迟变高之后进行抓包分析&#xff0c;结果发现时间花在了 TCP 本身的机制上面&#xff1a;客户端并不是将请求一股脑发送给服务端&#xff0c;而是只发送…

web架构师编辑器内容-编辑器组件图层面板功能开发01-锁定隐藏功能的开发

我们这一部分主要是对最右侧图层面板功能进行剖析&#xff0c;完成对应的功能的开发: 每个图层都对应编辑器上面的元素&#xff0c;有多少个元素就对应多少个图层&#xff0c;主要的功能如下&#xff1a; 锁定功能&#xff1a;点击锁定&#xff0c;在编辑器中没法编辑对应的组…

git 常规操作及设置

git 常规操作及设置 Git是一个分布式版本控制系统&#xff0c;可以用来跟踪文件的修改历史并与其他人进行协作开发。下面是一些常见的Git操作及设置&#xff1a; 初始化仓库&#xff1a;使用命令git init在当前目录创建一个新的Git仓库。 克隆仓库&#xff1a;使用命令git clo…

web terminal - 如何在mac os上运行gotty

gotty可以让你使用web terminal的方式与环境进行交互&#xff0c;实现终端效果 假设你已经配置好了go环境&#xff0c;首先使用go get github.com/yudai/gotty命令获取可执行文件&#xff0c;默认会安装在$GOPATH/bin这个目录下&#xff0c;注意如果你的go版本比较高&#xff…

C++设计模式(李建忠)笔记3

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

线性代数的学习和整理23:用EXCEL计算 向量/向量组的点乘 (内积) (建设ing)

目录 前言&#xff1a;EXCEL里的的向量相关计算公式 0.1 EXCEL里相关公式 0.2 先说结论&#xff1a;向量组的点乘公式和 向量组的点乘公式不一样 1 向量的点乘 (内积) 1.1 向量的点乘公式 1.2 EXCEL里向量点乘的计算 ​编辑 1.3 向量点乘的性质 1.3.1 内积的公式…

docker环境下mongo副本集的部署及异常修复

最近更换了办公地点。部署在本地docker环境里的mongo数据库不能使用了。原因是本地的ip地址变更。以前的mongo副本集的配置需要更新。处理完后&#xff0c;索性重新记录一下mongo副本集在docker中的部署流程。 mongo的事务及副本集 我们先了解一下什么是事务&#xff0c;事务…

LangChain新发布v0.1.0稳定版本有哪些新功能?

▼最近直播超级多&#xff0c;预约保你有收获 今晚直播&#xff1a;《LangChain 框架案例实战》 —1— 首个稳定版本 LangChain v0.1.0 LangChain v0.1.0 发布后&#xff0c;就不仅仅是一个开发框架了&#xff0c;而是一个开发者平台&#xff08;LLMOps&#xff09;&#xff0c…

css-盒子等样式学习

盒子居中&#xff0c;继承外层盒子的宽高 兼容性&#xff08;border-box&#xff09;将边框收到盒子内部 初始化div 不用管box-setting content-box 还原 创建为一个类 &#xff0c;让所有需要还原的类 进行继承 padding 用法表示margin上下左右边距 body 外边距&…

Python ❀ 使用代码实现API接口调用详解

文章目录 1. 工具准备1.1. requests代码包1.2. BurpSuite抓包工具 2. 操作过程2.1. 一个简单的请求2.1.1. Burp获取响应2.1.2. 转发获取响应 2.2. 构造GET类型URL参数2.3. 构造请求头部2.4. 构造POST类型payload数据 本文主要讲解常用API接口如何使用python实现。 API&#xff…

【白话机器学习的数学】读书笔记(3)学习分类(感知机、逻辑回归)

三、学习分类 1.分类的目的 找到一条线把白点和黑点分开。这条直线是使权重向量成为法线向量的直线。(解释见下图) 直线的表达式为&#xff1a; ω ⋅ x ∑ i 1 n ω i ⋅ x i 0 \omegax \sum_{i1}^n\omega_i x_i 0 ω⋅xi1∑n​ωi​⋅xi​0 ω \omega ω是权重向量权…

IIS 缓存, 更新后前端资源不能更新问题

解决办法: 通常只需要index.html 不缓存即可, 其他文件都是根据index.html 中的引用去加载; 正确的做法是在 站点下增加 web.config 文件, 内容如下: 我这个是因为目录下有个config.js 配置文件, 也不能缓存, 所以加了两个 <?xml version"1.0" encoding&quo…

2018年认证杯SPSSPRO杯数学建模D题(第一阶段)投篮的最佳出手点全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 对于投篮最佳出手点的探究 D题 投篮的最佳出手点 原题再现&#xff1a; 影响投篮命中率的因素不仅仅有出手角度、球感、出手速度&#xff0c;还有出手点的选择。规范的投篮动作包含两膝微屈、重心落在两脚掌上、下肢蹬地发力、身体随之向前上…

迅为RK3588开发板编译 Buildroot单独编译图形化界面(打包镜像)

上面 Kernel/U-Boot/Recovery/Rootfs 各个部分的编译后&#xff0c;将打包要用到的所有固件移动到 rockdev 目录下&#xff0c;然后打包为完整的 update.img 镜像。 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面&#xff0c;进入之后如下所示&#xff1a; ./buil…