当前位置: 首页 > backend >正文

Python初体验学习笔记

一、Python简介与应用领域

1. Python语言特点

Python是一种高级解释型编程语言,由Guido van Rossum于1991年首次发布。它具有以下显著特征:

  • 语法简洁:使用缩进代替大括号,代码可读性强

  • 跨平台:支持Windows、macOS和Linux等操作系统

  • 丰富的标准库:内置大量实用模块,如ossysmath

  • 动态类型:变量不需要声明类型

  • 多范式支持:支持面向对象、函数式和过程式编程

关键词解释

  • 解释型语言:代码运行时由解释器逐行翻译执行,无需预先编译成机器码

  • 动态类型:变量类型在运行时确定,可以随时改变

2. Python应用领域

Python广泛应用于:

  • Web开发:Django、Flask框架

  • 数据分析:Pandas、NumPy库

  • 人工智能:TensorFlow、PyTorch框架

  • 自动化运维:Ansible、SaltStack

  • 科学计算:SciPy、Matplotlib

二、开发环境搭建

1. Python安装

推荐安装Python 3.10+版本,因为:

  • 包含最新的语言特性

  • 有更好的性能优化

  • 长期支持(LTS)版本

安装方法

# Windows
1. 访问官网 https://www.python.org/downloads/
2. 下载Windows installer (64-bit)
3. 安装时勾选"Add Python to PATH"# macOS
1. 使用Homebrew安装:brew install python@3.10
2. 或从官网下载macOS安装包# Linux (Ubuntu)
sudo apt update
sudo apt install python3.10

验证安装

python3 --version  # 应显示Python 3.10.x

2. 开发工具配置

(1) VS Code配置
  1. 安装VS Code:https://code.visualstudio.com/

  2. 安装Python扩展:

    • 打开扩展市场(Ctrl+Shift+X)

    • 搜索"Python"并安装Microsoft官方扩展

  3. 配置Python解释器:

    • Ctrl+Shift+P → 输入"Python: Select Interpreter"

    • 选择已安装的Python 3.10

(2) PyCharm配置
  1. 下载社区版:https://www.jetbrains.com/pycharm/

  2. 新建项目时选择Python 3.10解释器

  3. 推荐设置:

    • 启用"Use black as formatter"

    • 设置4空格缩进

关键词解释

  • IDE:集成开发环境(Integrated Development Environment),提供代码编辑、调试和运行的一体化工具

  • 解释器:执行Python代码的程序,如CPython、PyPy等

三、第一个Python程序

1. Hello World程序

# 这是一个单行注释
print("Hello World")  # print是内置函数,用于输出内容"""
这是多行注释
可以跨越多行
"""

关键函数

  • print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

    • objects:要打印的对象,多个用逗号分隔

    • sep:分隔符,默认为空格

    • end:结束字符,默认为换行符

    • file:输出目标,默认为标准输出

    • flush:是否立即刷新缓冲区

示例

print("Hello", "World", sep="-", end="!")  # 输出:Hello-World!

2. 代码执行方式

Python代码可以通过多种方式运行:

  1. 交互模式

    python3  # 进入交互环境
    >>> print("Hello")
    Hello
    >>> exit()  # 退出
  2. 脚本模式

    # 创建hello.py文件
    echo 'print("Hello")' > hello.py# 运行
    python3 hello.py
  3. IDE直接运行

    • VS Code:右键 → Run Python File

    • PyCharm:点击绿色运行按钮

四、关键概念解析

1. 解释器 vs 编译器

特性解释器编译器
执行方式逐行解释执行整体编译为机器码后执行
速度较慢较快
跨平台性强(依赖解释器)弱(需针对平台编译)
调试方便(可单步执行)困难
代表语言Python、JavaScriptC、C++、Go

案例说明

# Python解释器工作方式示例
def greet():print("Hello")greet()  # 解释器会逐行读取并执行这些代码

2. Python执行过程

  1. 源代码(.py) → 2. 字节码(.pyc) → 3. Python虚拟机(PVM)执行

查看字节码

import dis
dis.dis('print("Hello")')# 输出:
#  1           0 LOAD_NAME                0 (print)
#              2 LOAD_CONST               0 ('Hello')
#              4 CALL_FUNCTION            1
#              6 RETURN_VALUE

五、实践作业

1. 在不同IDE中运行代码

任务:在VS Code和PyCharm中分别运行以下程序

# circle.py
import mathradius = float(input("输入半径: "))
area = math.pi * radius ** 2
print(f"面积为: {area:.2f}")

比较点

  • 代码提示功能

  • 调试体验

  • 运行方式差异

2. 理解执行过程

实验

  1. 创建test.py:

def square(x):return x * xprint(square(5))
  1. 生成字节码:

python3 -m compileall test.py
  1. 查看生成的__pycache__/test.cpython-310.pyc文件

六、常见问题解答

Q1: Python2和Python3的主要区别?

  • print语句→print函数

  • 整数除法行为改变(3/2=1.5)

  • Unicode作为默认字符串类型

  • 更多新特性:f-string、类型注解等

Q2: 如何选择Python解释器?

  • CPython:官方实现,最常用

  • PyPy:JIT编译,执行速度快

  • Anaconda:包含科学计算库的发行版

Q3: 为什么我的print输出没有换行?

print("Hello", end="")  # end参数控制了结束字符
print("World")          # 输出:HelloWorld

七、学习建议

  1. 坚持每天编码,哪怕只有几行

  2. 使用版本控制(Git)管理代码

  3. 阅读优秀的开源项目代码

  4. 遇到问题时善用官方文档和Stack Overflow

通过本课学习,应该已经掌握了Python的基本开发环境配置和简单程序编写。接下来可以深入学习Python的基础语法和数据结构。

http://www.xdnf.cn/news/12851.html

相关文章:

  • 电路图识图基础知识-电动机正反转控制电路详解(二十)
  • 省略号和可变参数模板
  • OPENCV图形计算面积、弧长API讲解(2)
  • 做题笔记(ctfshow)
  • LeetCode - 145. 二叉树的后序遍历
  • JavaScript 内置对象全解析
  • QRadioButton(续)+ CheckBox + QLabel(2)
  • 【Go语言基础【20】】Go的包与工程
  • c#,Powershell,mmsys.cpl,使用Win32 API展示音频设备属性对话框
  • JavaWeb预习(jdbc)
  • 拼多多官方内部版 7.58.0 | 极限精简,只有2.5M
  • 【笔记】Poetry虚拟环境创建示例
  • Prompt Tuning(提示调优)到底训练优化的什么部位
  • DiscuzX3.5发帖json api
  • maven 1.0.0idea的使用说明
  • Vue3学习(watchEffect,标签的ref属性,计数器,defineExpose)
  • SpringCloud学习笔记-4
  • 实验二:数码管动态显示实验
  • 建造者模式深度解析与实战应用
  • WEB3技术重要吗,还是可有可无?
  • STM32入门学习之系统时钟配置
  • K8S认证|CKS题库+答案| 7. Dockerfile 检测
  • 五、jmeter脚本参数化
  • PHP中如何定义常量以及常量和变量的主要区别
  • Spark流水线+Gravitino+Marquez数据血缘采集
  • java综合项目开发一课一得
  • 使用 Melos 高效管理 Flutter/Dart Monorepo 项目
  • 用 Melos 解决 Flutter Monorepo 的依赖冲突:一个真实案例
  • Python 包管理器 uv 介绍
  • 基于PostGIS的各地级市路网长度统计及Echarts图表可视化实践-以湖南省为例