继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python 基础入门教程

繁星点点滴滴
关注TA
已关注
手记 328
粉丝 67
获赞 333
概述

本文档为初学者提供了一个全面的Python基础入门教程,涵盖了从环境搭建到文件处理的各个方面。文章详细讲解了Python的基本概念和高级功能,并提供了丰富的示例代码以帮助读者理解和应用这些概念。通过本文档,你可以学习到如何安装Python和设置开发环境,了解变量与类型、控制结构和异常处理等重要知识点。此外,文中还介绍了如何实现拖拽排序,让编程过程更加直观和易于理解。

Python 基础入门教程

Python 是一种高级编程语言,以其简洁清晰的语法而著称。本文档旨在为初学者提供一个全面的 Python 基础入门教程,涵盖了从语言的基本概念到一些高级功能的介绍。本文档分为多个部分,每一部分都会详细讲解一个或几个关键概念,并提供相关示例代码以帮助读者更好地理解和应用这些概念。

Python 环境搭建

在开始学习 Python 之前,你需要先设置好本地开发环境。Python 语言目前有两个主要的版本:Python 2.x 和 Python 3.x。Python 2.x 已经是多年前发布的版本,在更新和维护上已不再活跃,而 Python 3.x 则是当前的活跃版本,并且推荐使用。

安装 Python

  1. 访问 Python 官方网站 (https://www.python.org/),点击 "Downloads" 栏目下载适合你操作系统的安装程序。
  2. 根据提示完成安装。安装过程中建议勾选 "Add Python to PATH" 选项,这将允许你通过命令行直接调用 Python。

安装开发工具

为了更高效地编写代码,推荐使用一些代码编辑器或集成开发环境(IDE)。以下是一些常用的工具:

  • Visual Studio Code (VS Code): 一个轻量级但功能强大的源代码编辑器,支持多种编程语言。
  • PyCharm: 专注于 Python 的 IDE,提供了代码智能感知、快速修复以及高级调试功能。
  • Jupyter Notebook: 主要用于数据科学和机器学习领域,支持编写和分享包含代码、文本、公式和图像的文档。

安装完这些工具后,你将能够开始编写并执行 Python 代码了。

设置虚拟环境

在开发过程中,建议使用虚拟环境来管理依赖关系。这样可以在同一个操作系统上同时运行不同版本的 Python 项目,而不用担心它们之间发生依赖冲突。

安装 virtualenv 工具:

pip install virtualenv

创建虚拟环境:

virtualenv myenv

激活虚拟环境:

  • 在 Windows 上:

    .\myenv\Scripts\activate
  • 在 macOS 和 Linux 上:
    source myenv/bin/activate

在虚拟环境中安装所需包:

pip install package_name

保存当前安装的包列表:

pip freeze > requirements.txt

重新安装或恢复依赖:

pip install -r requirements.txt

通过这种方式,我们可以在单独的环境中安装和管理所需的 Python 包,而不会影响全局安装的包。

变量与类型

Python 是一种动态类型的语言,这意味着变量不需要声明类型,并且可以在不同的上下文中表示不同的数据类型。在 Python 中,基本的数据类型包括整型(int)、浮点型(float)、布尔型(bool)、字符串(str)和空值(None)。

整型

整型(int)表示整数,可以是正数、负数或零。整数在 Python 中没有大小限制,但受硬件和操作系统限制。

示例代码:

num1 = 42
num2 = -13
num3 = 0
print(num1, num2, num3)

浮点型

浮点型(float)表示带有小数点的数字。浮点数通常用于科学计算。

示例代码:

num1 = 3.14
num2 = 0.001
num3 = -2.5
print(num1, num2, num3)

布尔型

布尔型(bool)仅可以是 True 或者 False,通常用于逻辑判断。

示例代码:

x = True
y = False
print(x, y)

字符串

字符串(str)用于表示文本,由一组字符组成,可以是字母、数字或特殊字符。字符串可以通过单引号(' ')、双引号(" ")或三引号(''' ''')来表示。

示例代码:

str1 = "Hello, World!"
str2 = 'Hello, Python!'
str3 = """This is a multi-line
string."""
print(str1, str2, str3)

空值

空值(None)是一个特殊的常量,表示空或没有值。它通常用于表示未初始化的变量或函数返回没有特定值的情况。

示例代码:

a = None
print(a)
控制结构

Python 支持多种控制结构,包括条件语句、循环语句以及跳转语句,这些结构用于控制程序的执行流程。

if 语句

条件语句 if 用于基于不同的条件执行不同的代码块。Python 中的条件语句使用关键字 ifelif(else if 的缩写)和 else

示例代码:

age = 18
if age >= 18:
    print("Adult")
elif age >= 13:
    print("Teenager")
else:
    print("Child")

for 循环

for 循环用于遍历序列或范围中的每一项。在每次迭代中,循环变量将被设置为当前项目并执行循环体内的代码。

示例代码:

for i in range(5):
    print(i)

while 循环

while 循环会重复执行一段代码,直到条件为假为止。它广泛用于需要条件检查的重复任务中。

示例代码:

count = 0
while count < 5:
    print(count)
    count += 1

break 和 continue

  • break 语句用于中断循环,即提前结束循环。
  • continue 用于跳过当前循环的剩余语句并立即开始下一次迭代。

示例代码:

for i in range(10):
    if i == 5:
        break
    print(i)

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)
函数

函数是 Python 中非常重要的概念,用于封装代码并可以重用。定义函数使用 def 关键字,然后指定函数名和参数列表。

定义函数

函数定义的基本结构如下:

def function_name(parameters):
    # 函数体
    return 返回值

示例代码:

def add(a, b):
    return a + b

result = add(2, 3)
print(result)

默认参数

默认参数允许您在定义函数时为参数提供默认值。如果调用函数时未提供参数值,则使用默认值。

示例代码:

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}")

greet("Alice")
greet("Bob", "Hi")

可变参数

Python 还支持可变数量的参数。通过在函数定义中使用星号 * 和双星号 **,可以接收任意数量的位置参数和关键字参数。

示例代码:

def print_all(*args, **kwargs):
    print("Positional arguments:", args)
    print("Keyword arguments:", kwargs)

print_all(1, 2, 3, name="Alice", age=25)

匿名函数

Lambda 表达式用于定义简单的单行函数,通常用于需要返回简短函数的场合。

示例代码:

square = lambda x: x ** 2
print(square(4))

自定义异常示例

自定义异常可以提供更多的灵活性和控制。例如,在一个处理用户输入的函数中,我们可能会遇到一些特定类型的错误,如非法输入或未找到数据。

示例代码:

class MyCustomException(Exception):
    def __init__(self, message):
        self.message = message

def process_input(value):
    if value < 0:
        raise MyCustomException("Value must be non-negative")
    return value

try:
    result = process_input(-10)
    print(result)
except MyCustomException as e:
    print(e.message)
模块与包

Python 的模块和包系统允许您组织代码、数据和元数据。模块是包含 Python 代码的文件,通常具有 .py 扩展名;而包是一组相关模块的集合,通常使用 __init__.py 文件表示。

导入模块

可以使用 import 语句来导入模块。模块中的函数、类和变量可以直接使用 . 操作符调用。

示例代码:

import math

print(math.pi)
print(math.sqrt(4))

包的使用

包是一个文件夹,包含一个 __init__.py 文件(可以是空文件)以及一个或多个模块文件。包的使用方式与导入单个模块类似,但需要使用 . 来指定包中的模块。

示例代码:

假设有一个包 mymodule,其中包含一个模块 submodule.py,内容如下:

# mymodule/submodule.py
def say_hello():
    print("Hello from submodule")

导入并使用:

import mymodule.submodule

mymodule.submodule.say_hello()
异常处理

异常处理是保证程序健健康运行的重要机制。当发生错误时,Python 会抛出异常。您可以使用 tryexcept 语句来捕获并处理这些异常。

基本的异常处理

示例代码:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")

多个异常

可以使用 except 语句处理多种异常类型,或者使用 except Exception as e 来捕获所有异常。

示例代码:

try:
    x = int(input("Enter a number: "))
    print(x / 0)
except ZeroDivisionError:
    print("Cannot divide by zero")
except ValueError:
    print("Invalid input")
except Exception as e:
    print(f"An error occurred: {e}")

finally 子句

finally 子句在 try 语句执行后总会被执行,无论是否发生异常。

示例代码:

try:
    x = int(input("Enter a number: "))
    print(x / 0)
except ZeroDivisionError:
    print("Cannot divide by zero")
finally:
    print("This will always be printed")

自定义异常

您可以创建自定义异常来表示特定类型的错误。这可以通过继承 Exception 类来实现。

示例代码:

class MyCustomException(Exception):
    def __init__(self, message):
        self.message = message

try:
    raise MyCustomException("This is a custom exception")
except MyCustomException as e:
    print(e.message)
文件处理

Python 支持对文件进行读写操作。文件操作通常涉及打开、读取、写入和关闭文件。文件对象可以使用 open() 函数创建,该函数返回一个文件对象,可以使用该对象进行文件操作。

读取文件

read() 方法用于从文件中读取数据,可以指定要读取的字符数。

示例代码:

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

写入文件

write() 方法用于将数据写入文件。如果文件不存在,则会创建新文件。

示例代码:

with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a test.")

追加内容

可以使用模式 "a" 来追加内容到文件中。

示例代码:

with open("output.txt", "a") as file:
    file.write("\nAppended text.")
常用库介绍

Python 生态系统中有很多强大的库,可以帮助您完成各种任务,从数据分析到网络编程。以下是一些常用的库:

NumPy

NumPy 是一个用于科学计算的基础库,提供了支持大量维度的数组和矩阵操作,以及数学函数的集合。

安装 NumPy:

pip install numpy

示例代码:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

print(arr1)
print(arr2)

Pandas

Pandas 是一个数据处理和分析的库,提供了灵活的数据结构和数据操作工具,非常适合处理表格数据。

安装 Pandas:

pip install pandas

示例代码:

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

print(df)

Matplotlib

Matplotlib 是一个可视化库,用于绘制图表和图形。它可以创建各种类型的数据可视化,包括线图、散点图、直方图等。

安装 Matplotlib:

pip install matplotlib

示例代码:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Sample Plot')
plt.show()

Flask

Flask 是一个轻量级的 Web 框架,用于构建 Web 应用程序。它提供了简单易用的接口和强大的扩展机制。

安装 Flask:

pip install flask

示例代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run(debug=True)

实现拖拽排序

拖拽排序是一种常见的交互式排序方法。以下是一个简单的拖拽排序实现示例,使用了前端的 JavaScript 和后端的 Python。

前端代码(HTML + JavaScript)

<!DOCTYPE html>
<html>
<head>
    <title>拖拽排序示例</title>
    <style>
        .item {
            cursor: move;
            border: 1px solid black;
            margin: 5px;
            padding: 10px;
            background-color: lightgray;
            width: 100px;
            text-align: center;
        }
    </style>
</head>
<body>
<div id="draggableItems">
    <div class="item" draggable="true">Item 1</div>
    <div class="item" draggable="true">Item 2</div>
    <div class="item" draggable="true">Item 3</div>
</div>
<script>
    var items = document.querySelectorAll('.item');
    items.forEach(item => {
        item.addEventListener('dragstart', e => {
            setTimeout(() => e.target.classList.add('dragging'), 0);
        });
        item.addEventListener('dragend', e => {
            e.target.classList.remove('dragging');
        });
    });

    document.addEventListener('dragover', e => {
        e.preventDefault();
    });

    document.addEventListener('drop', e => {
        e.preventDefault();
        var draggable = document.querySelector('.dragging');
        var dropArea = e.target;
        if (dropArea.classList.contains('item')) {
            var temp = dropArea.innerHTML;
            dropArea.innerHTML = draggable.innerHTML;
            draggable.innerHTML = temp;
        }
    });
</script>
</body>
</html>

后端代码(Python)

from flask import Flask, request, jsonify

app = Flask(__name__)

# 模拟的待排序数据
data = ["Item 1", "Item 2", "Item 3"]

@app.route('/sort', methods=['POST'])
def sort_items():
    global data
    new_order = request.json.get('order')
    if new_order:
        data = [data[i] for i in new_order]
    return jsonify(order=data)

if __name__ == '__main__':
    app.run(debug=True)

通过以上前端和后端代码,可以实现一个简单的拖拽排序功能。

总结

本文档介绍了 Python 编程语言的基础知识,涵盖了环境搭建、变量与类型、控制结构、函数、模块与包、异常处理、文件处理以及常用库的介绍。通过示例代码,您应该能够更好地理解这些概念并开始编写自己的 Python 程序。如果您想要深入了解 Python,建议访问一些在线学习平台,如慕课网(https://www.imooc.com/),那里提供了丰富的 Python 学习资源。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP