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

在这里插入图片描述

文章目录

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

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

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

单行注释

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

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

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

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

多行注释

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

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

3.2 变量和数据类型

3.2.1 变量的定义和赋值

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

展示了变量的定义和赋值

python"># 定义变量并赋值(变量命名规则:不能以数字开头,不能包含空格或特殊字符)
# 对于整数和浮点数类型的变量,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 常见的数据类型:整数、浮点数、字符串、布尔值

数据类型的使用

python"># 整数
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():将一个值转换为布尔值类型。

类型转换

python"># 整数转换(将字符串转换为整数,并将其与另一个整数相加)
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语句的基本语法

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

if语句的使用:

python"># 判断奇偶数
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循环的语法:

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

for循环的使用:

python"># 遍历列表
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循环的语法

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

while循环的使用:

python"># 计数器循环
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关键字来定义函数,函数的定义通常包括函数名、参数列表和函数体。

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

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

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

# 输出结果
计算结果: 30

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

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

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

    python"># *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 参数传递和返回值:函数的输入和输出

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

单个返回值

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

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

# 输出结果
乘积: 50

多个返回值

python"># 定义一个函数,返回两个数的和与差(使用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

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

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

python"># 创建一个空的待办事项列表
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.niftyadmin.cn/n/5323451.html

相关文章

如何使用設置靜態住宅IP

靜態住宅IP就是一種靜態的、分配給住宅用戶的IP地址。與動態IP地址不同&#xff0c;靜態住宅IP一旦分配給用戶&#xff0c;就會一直保持不變&#xff0c;除非ISP&#xff08;Internet Service Provider&#xff0c;互聯網服務提供商&#xff09;進行手動更改。那麼&#xff0c;…

测试人员必备基本功(3)

容易被忽视的bug 第三章 查询列表容易被忽视的bug 文章目录 容易被忽视的bug第三章 查询列表容易被忽视的bug 前言1.查询角色2.接口设计 三、测试设计1.测试点2.容易发现bug的测试点如下&#xff1a; 总结 前言 一个WEB系统的所有功能模块&#xff0c;其实都是围绕“增、删、…

初探Spark SQL catalog缓存机制

先说结论&#xff1a;Spark SQL catalog中对表结构的缓存一般不会自动更新。 实验如下&#xff1a; 在pg中新建一张表t1&#xff0c;其中只有一列 c1 int在Spark SQL中注册这张表&#xff0c;并从中查询数据 ./bin/spark-sql --driver-class-path postgresql-42.7.1.jar --jar…

解析c++空指针解引用奔溃

空指针解引用引起程序奔溃是c/c中最常见的稳定性错误之一。 显然并非所有使用空指针的语句都会导致奔溃&#xff0c;那什么情况下使用空指针才会引起程序奔溃呢&#xff1f;有一个判断标准&#xff1a;判断空指针是否会导致访问非法内存的情况&#xff0c;如果会导致访问非法内…

46 C++ 从主线程向 子线程如何传递参数 ------ join 状态下

从前面的知识我们知道&#xff0c; 一 启动子线程的方法有如下几种&#xff1a; 1.普通函数 做为 线程的启动 thread mythread(mythreadmethod); void mythreadmethod() {cout << "mythreadmethod start..." << endl;cout << "mythreadmet…

LLM漫谈(三)| 使用Chainlit和LangChain构建文档问答的LLM应用程序

一、Chainlit介绍 Chainlit是一个开源Python包&#xff0c;旨在彻底改变构建和共享语言模型&#xff08;LM&#xff09;应用程序的方式。Chainlit可以创建用户界面&#xff08;UI&#xff09;&#xff0c;类似于由OpenAI开发的ChatGPT用户界面&#xff0c;Chainlit可以开发类似…

【SEO优化】之html语义化标签

ChatGPT4.0国内站点&#xff1a;海鲸AI HTML语义化标签是指那些具有明确含义或者能够清晰描述其代表内容或功能的标签。使用语义化标签不仅能够使网页的结构更加清晰&#xff0c;而且有助于搜索引擎优化&#xff08;SEO&#xff09;&#xff0c;并且提升网站的可访问性&#xf…

使用 Windbg 分析软件异常时的诸多细节与技巧总结

目录 1、dump文件 1.1、dump文件的生成方式 1.2、dump文件的大小 2、pdb符号文件 2.1、pdb文件的路径设置 2.2、pdb文件的时间戳与名称问题 2.3、如何确定要找哪些pdb文件&#xff1f; 3、使用Windbg静态分析dump文件以及动态调试程序的一般步骤 4、确定发生异常或崩溃…