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(),函数启动游戏,这确保了代码在被导入为模块时不会自动执行。
相关推荐
落羽凉笙6 小时前
Python学习笔记(3)|数据类型、变量与运算符:夯实基础,从入门到避坑(附图解+代码)
笔记·python·学习
Quintus五等升6 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
ytttr8736 小时前
隐马尔可夫模型(HMM)MATLAB实现范例
开发语言·算法·matlab
天远Date Lab6 小时前
Python实战:对接天远数据手机号码归属地API,实现精准用户分群与本地化运营
大数据·开发语言·python
listhi5206 小时前
基于Gabor纹理特征与K-means聚类的图像分割(Matlab实现)
开发语言·matlab
哈里谢顿7 小时前
Python异常链:谁才是罪魁祸首?一探"The above exception"的时间顺序
python
qq_433776427 小时前
【无标题】
开发语言·php
哈里谢顿7 小时前
验证 list() 会调用 `__len__` 方法的深度解析
python·django
Davina_yu7 小时前
Windows 下升级 R 语言至最新版
开发语言·windows·r语言
阿珊和她的猫7 小时前
IIFE:JavaScript 中的立即调用函数表达式
开发语言·javascript·状态模式