python学习篇

一 Python语言概述

Python是一种高级、解释型、通用的编程语言,由Guido van Rossum于1991年首次发布。其设计哲学强调代码的可读性和简洁性,语法结构清晰,适合初学者和专业开发者使用。

1.1 主要特点

  1. 简洁易读:Python采用缩进来表示代码块,减少了冗余的括号和分号,使代码更加简洁直观。
  2. **跨平台性:**Python支持多平台运行(Windows、macOS、Linux等),通过解释器实现"一次编写,到处运行"。
  3. 丰富的标准库 :内置大量模块,涵盖文件操作、网络编程、数据处理等功能,例如ossysjson等。
  4. 动态类型:变量无需声明类型,运行时自动推断。
  5. 多范式支持:支持面向对象、函数式、过程式编程风格。

1.2 应用领域

  1. Web开发:常用框架如Django、Flask,适合构建后端服务。
  2. 数据科学与机器学习:库如NumPy、Pandas、TensorFlow和Scikit-learn广泛用于数据分析与建模。
  3. 自动化脚本:适合编写系统管理、文件批量处理等脚本任务。
  4. 嵌入式与物联网:通过MicroPython等实现嵌入式开发。
  5. 版本差异:Python 2.x与3.x不兼容,3.x版本修复了2.x的设计缺陷并引入新特性(如类型注解)。Python 2已于2020年停止维护。
  6. 性能与优化:Python执行速度低于C/Java,但可通过以下方式优化:使用C扩展(如Cython);利用JIT编译器(如PyPy);并行处理库(如multiprocessing)
  7. 社区与生态:拥有活跃的开源社区,包管理工具pip可轻松安装第三方库(如Requests、Matplotlib)。

二 变量与数据类型

以下是常见的数据定义方法:

  1. 定义基本数据类型整数、浮点数、字符串和布尔值可以直接赋值
  2. 定义列表(List)列表是可变的序列,用方括号定义
  3. 定义元组(Tuple)元组是不可变的序列,用圆括号定义
  4. 定义字典(Dict)字典是键值对集合,用花括号定义
  5. 定义集合(Set)集合是无序且不重复的元素集,用花括号或set()函数定义
  6. 定义自定义对象通过类定义自定义数据类型
  7. 使用类型注解(Python 3.6+)为变量添加类型提示
python 复制代码
# 定义数字,可以直接定义,不用对数字类型进行定义,不如int,float等定义对象的类型
x = 20
y = 1
# 比较两个数字的大小,然后输出
if x > y:
    print(x)
else:
    print(y)

# 定义数组
my_list = [1, 2, 3, "a", "b"]
print(my_list)

# 定义元组
my_tuple = (1, 2, 3, "x", "y")
print(my_tuple)

# 定义字典
my_dict = {"name": "Alice", "age": 25}
print("字典的值是",my_dict)

# 定义集合
my_set = {1, 2, 3, 3}  # 结果为{1, 2, 3}
print(my_set)

# 定义对象
my_set = {1, 2, 3, 3}  # 结果为{1, 2, 3}
print(my_set)

# 使用类型注释
count: int = 0
name: str = "Charlie"
print(count)
print(name)

三 控制结构

  1. Python 使用缩进来定义代码块,常见的控制结构包括:
  2. 条件语句:
  3. 循环:
  4. 函数 使用 def 关键字定义:
  5. 模块与包 Python 支持模块化编程,可以通过 import 导入模块:
  6. 文件操作 文件读写使用 open 函数:
  7. 异常处理 使用 try-except 处理异常:
  8. 面向对象编程Python 支持面向对象编程,可以定义类和对象:
  9. 列表推导式 简洁的列表生成方式:
  10. 常用内置函数 Python 提供了许多内置函数,如 len(), sum(), max(), min(), sorted() 等。
  11. 虚拟环境 使用 venv 创建隔离的 Python 环境:
python 复制代码
# 控制结构
a = 1
if(a > 0):
    print("输出a的值", a)
else:
    print("结束咯", 0)

for i in range(5):
    print("输出i的值", i)

while x > 0:
     print("输出x的值", x)
     x -= 1

# def关键字定义
def my_name(name):
    return f"myname, {name} !"

# 简洁的列表生成模式
squares = [x**2 for x in range(10)]
print(squares)
bash 复制代码
python -m venv myenv
source myenv/bin/activate  # Linux/Mac
myenv\Scripts\activate    # Windows

四 简单小程序测试

python 复制代码
import random

def guess_number():
    #定义一个def函数
    number_to_guess = random.randint(1, 100)
    # 使用random模块的randint函数生成一个1到100之间的随机整数,作为目标数字。
    attempts = 0
    # 初始化一个计数器attempts,用于记录玩家猜测的次数,初始值为0
    print("请猜一个1到100之间的数字:")

    while True:
        guess = int(input("你的猜测: "))
        attempts += 1
        # 通过input函数获取玩家输入,并将字符串转换为整数类型。每次输入后,计数器attempts增加1

        if guess < number_to_guess:
            print("太小了!")
        elif guess > number_to_guess:
            print("太大了!")
        else:
            print(f"恭喜你,猜对了!你一共用了{attempts}次。")
            break
            # 通过一个无限循环持续接收玩家输入,直到猜中目标数字时通过break退出循环

if __name__ == "__main__":
    guess_number()
    # 当脚本作为主程序运行时,调用guess_number(),函数启动游戏,这确保了代码在被导入为模块时不会自动执行。
相关推荐
老百姓懂点AI14 小时前
[RAG实战] 向量数据库选型与优化:智能体来了(西南总部)AI agent指挥官的长短期记忆架构设计
python
u01092727115 小时前
C++中的策略模式变体
开发语言·c++·算法
雨季66615 小时前
构建 OpenHarmony 简易文字行数统计器:用字符串分割实现纯文本结构感知
开发语言·前端·javascript·flutter·ui·dart
雨季66615 小时前
Flutter 三端应用实战:OpenHarmony 简易倒序文本查看器开发指南
开发语言·javascript·flutter·ui
进击的小头16 小时前
行为型模式:策略模式的C语言实战指南
c语言·开发语言·策略模式
A9better16 小时前
嵌入式开发学习日志50——任务调度与状态
stm32·嵌入式硬件·学习
天马379816 小时前
Canvas 倾斜矩形绘制波浪效果
开发语言·前端·javascript
非凡ghost16 小时前
ESET NupDown Tools 数据库下载工具
学习·软件需求
Tansmjs16 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
喵手16 小时前
Python爬虫零基础入门【第九章:实战项目教学·第15节】搜索页采集:关键词队列 + 结果去重 + 反爬友好策略!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·搜索页采集·关键词队列