一 Python语言概述
Python是一种高级、解释型、通用的编程语言,由Guido van Rossum于1991年首次发布。其设计哲学强调代码的可读性和简洁性,语法结构清晰,适合初学者和专业开发者使用。
1.1 主要特点
- 简洁易读:Python采用缩进来表示代码块,减少了冗余的括号和分号,使代码更加简洁直观。
- **跨平台性:**Python支持多平台运行(Windows、macOS、Linux等),通过解释器实现"一次编写,到处运行"。
- 丰富的标准库 :内置大量模块,涵盖文件操作、网络编程、数据处理等功能,例如
os、sys、json等。 - 动态类型:变量无需声明类型,运行时自动推断。
- 多范式支持:支持面向对象、函数式、过程式编程风格。
1.2 应用领域
- Web开发:常用框架如Django、Flask,适合构建后端服务。
- 数据科学与机器学习:库如NumPy、Pandas、TensorFlow和Scikit-learn广泛用于数据分析与建模。
- 自动化脚本:适合编写系统管理、文件批量处理等脚本任务。
- 嵌入式与物联网:通过MicroPython等实现嵌入式开发。
- 版本差异:Python 2.x与3.x不兼容,3.x版本修复了2.x的设计缺陷并引入新特性(如类型注解)。Python 2已于2020年停止维护。
- 性能与优化:Python执行速度低于C/Java,但可通过以下方式优化:使用C扩展(如Cython);利用JIT编译器(如PyPy);并行处理库(如multiprocessing)
- 社区与生态:拥有活跃的开源社区,包管理工具
pip可轻松安装第三方库(如Requests、Matplotlib)。
二 变量与数据类型
以下是常见的数据定义方法:
- 定义基本数据类型整数、浮点数、字符串和布尔值可以直接赋值
- 定义列表(List)列表是可变的序列,用方括号定义
- 定义元组(Tuple)元组是不可变的序列,用圆括号定义
- 定义字典(Dict)字典是键值对集合,用花括号定义
- 定义集合(Set)集合是无序且不重复的元素集,用花括号或
set()函数定义 - 定义自定义对象通过类定义自定义数据类型
- 使用类型注解(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)
三 控制结构
- Python 使用缩进来定义代码块,常见的控制结构包括:
- 条件语句:
- 循环:
- 函数 使用
def关键字定义: - 模块与包 Python 支持模块化编程,可以通过
import导入模块: - 文件操作 文件读写使用
open函数: - 异常处理 使用
try-except处理异常: - 面向对象编程Python 支持面向对象编程,可以定义类和对象:
- 列表推导式 简洁的列表生成方式:
- 常用内置函数 Python 提供了许多内置函数,如
len(),sum(),max(),min(),sorted()等。 - 虚拟环境 使用
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(),函数启动游戏,这确保了代码在被导入为模块时不会自动执行。
