【无标题】

Python基础语法

Python以其简洁清晰的语法著称,强制使用缩进来划分代码块,这使得代码具有极佳的可读性。在编写Python代码时,我们通常遵循PEP 8编码规范。Python 3默认使用UTF-8编码,可以直接处理中文等Unicode字符。注释分为单行注释(使用#)和多行注释(使用'''或""")。

变量在Python中无需声明类型,直接赋值即可创建。变量名由字母、数字和下划线组成,且不能以数字开头。Python中的关键字(如if, for, def, class等)具有特殊含义,不能用作变量名。

Python的核心数据类型包括:

● 数字:分为整数(int)和浮点数(float)。

● 字符串(str):用单引号或双引号包裹的文本。

● 布尔值(bool):只有True和False两个值,常用于条件判断。

运算符用于执行各种操作,主要包括:

● 算术运算符:+, -, *, /(除法), //(整除), %(取模), **(幂运算)。

● 比较运算符:==, !=, >, <, >=, <=,返回布尔值。

● 逻辑运算符:and, or, not。

变量与运算符实例

name = "数据分析师" # 字符串变量

experience_years = 3 # 整数变量

is_active = True # 布尔变量

算术运算

total_experience = experience_years + 2

print(f"总经验: {total_experience}")

比较与逻辑运算

if experience_years > 2 and is_active:

print("这是一位经验丰富的活跃分析师。")

流程控制

流程控制决定了代码的执行顺序,让程序能够根据条件做出决策或重复执行任务。

条件语句

if-elif-else结构用于条件判断。程序会从上到下依次检查条件,一旦某个条件为真,就执行对应的代码块,并跳过后续所有分支。

循环

● for循环:用于遍历序列(如列表、字符串、range对象)中的每一个元素。

● while循环:只要给定的条件为True,就会一直重复执行代码块。

跳转语句

● break:立即终止整个循环。

● continue:跳过当前循环的剩余语句,直接进入下一次循环。

实训案例:猜数字游戏

import random

target_number = random.randint(1, 100)

guess = 0

print("我已经想好了一个1到100之间的数字,来猜猜看吧!")

while guess != target_number:

try:

guess = int(input("请输入你的猜测: "))

if guess < target_number:

print("太小了!")

elif guess > target_number:

print("太大了!")

else:

print("恭喜你,猜对了!")

except ValueError:

print("请输入一个有效的整数!")

字符串

字符串是不可变的字符序列。Python提供了多种强大的字符串处理方法。

字符串格式化

● f-string (推荐):在字符串前加f或F,在{}中直接写入变量或表达式,如f"姓名: {name}"。

● format()方法:使用{}作为占位符,然后调用.format()方法传入值,如"姓名: {}".format(name)。

常见操作

● 索引与切片:通过[index]访问单个字符,通过[start🔚step]获取子字符串。负数索引表示从末尾开始计数。

● 常用方法:

○ s.upper() / s.lower(): 转换大小写。

○ s.strip(): 移除首尾空白字符。

○ s.find(sub): 查找子字符串sub的位置。

○ s.replace(old, new): 替换字符串。

○ s.split(sep): 按分隔符sep分割字符串为列表。

实训:文本分析

text = " Python is powerful. Python is easy to learn. "

1. 清理文本

clean_text = text.strip().lower()

2. 统计单词数量

words = clean_text.split()

print(f"单词总数: {len(words)}")

3. 统计特定单词频率

target_word = "python"

count = clean_text.count(target_word)

print(f"单词 '{target_word}' 出现了 {count} 次")

4. 替换文本

new_text = clean_text.replace("powerful", "awesome")

print(f"替换后: {new_text}")

组合数据

组合数据类型用于在一个变量中存储多个值。

列表 (List)

有序、可变的集合。使用[]创建。支持增删改查、切片等操作。

fruits = ["apple", "banana"]

fruits.append("orange") # 添加元素

元组 (Tuple)

有序、不可变的集合。使用()创建。一旦创建,其内容不能修改。常用于存储不应改变的数据,如坐标(x, y)。

集合 (Set)

无序、不重复元素的集合。使用{}或set()创建。常用于去重和集合运算(如交集、并集)。

字典 (Dictionary)

存储键值对(key-value pair)的集合。使用{}创建。键(key)必须是唯一的且不可变(如字符串、数字、元组),值(value)可以是任意类型。

user = {"name": "Alice", "age": 25}

print(user["name"]) # 通过键访问值

实训:学生成绩管理

使用字典存储学生姓名和成绩

students_scores = {

"张三": 85,

"李四": 92,

"王五": 78

}

添加新学生

students_scores["赵六"] = 88

计算平均分

scores = students_scores.values()

average_score = sum(scores) / len(scores)

print(f"班级平均分: {average_score:.2f}")

查找最高分学生

top_student = max(students_scores, key=students_scores.get)

print(f"最高分学生是: {top_student}, 成绩: {students_scores[top_student]}")

函数

函数是一段组织好的、可重复使用的代码,用于实现单一功能。

函数调用与定义

使用def关键字定义函数,然后通过函数名加()来调用。

参数传递

● 位置参数:按参数定义的顺序传递。

● 关键字参数:通过key=value的形式传递,顺序无关。

● 默认参数:为参数指定默认值,调用时可省略。

返回值

函数使用return语句返回结果。如果没有return或return后无值,则默认返回None。

作用域

● 局部变量:在函数内部定义的变量,只在函数内有效。

● 全局变量:在函数外部定义的变量,在整个程序中有效。

特殊形式的函数

● Lambda函数:一种简洁的匿名函数,适用于简单的、一次性的操作。例如:add = lambda x, y: x + y。

实训案例:数据清洗函数

def clean_and_convert_data(raw_data_list):

"""

接收一个包含原始字符串数据的列表,

清洗并转换为浮点数列表。

"""

cleaned_data = []

for data in raw_data_list:

去除空格和'′符号cleanvalue=data.strip().replace("'符号 clean_value = data.strip().replace("′符号cleanvalue=data.strip().replace("", "")

try:

转换为浮点数

numeric_value = float(clean_value)

cleaned_data.append(numeric_value)

except ValueError:

print(f"无法转换数据: {data}")

return cleaned_data

raw_prices = [" 12.50 ", "25.00", "invalid", " $7.99 "]

prices = clean_and_convert_data(raw_prices)

print(f"清洗后的价格: {prices}")

文件与数据格式化

程序运行时的数据是临时的,文件操作可以将数据持久化存储。

文件基础操作

使用内置的open()函数打开文件,推荐使用with语句,它会在操作完成后自动关闭文件。

● 模式:'r' (读取), 'w' (写入,会覆盖), 'a' (追加), 'x' (创建)。

文件与目录管理

os和shutil模块提供了强大的文件和目录管理功能。

● os.path.exists(path): 检查路径是否存在。

● os.makedirs(path): 创建多级目录。

● os.remove(path): 删除文件。

数据维度与格式化

● 一维数据:如CSV文件,可以使用列表存储,通过split()和join()进行简单的格式化。

● 二维数据:如Excel表格,可以使用列表的列表表示。

● JSON格式:一种轻量级的数据交换格式,非常适合存储和传输结构化数据。Python的json模块可以轻松地将字典等数据结构序列化为JSON字符串(json.dumps())或写入文件(json.dump()),也可以从JSON字符串或文件中解析出Python对象(json.loads()和json.load())。

实训案例:用户信息存取

import json

import os

user_data = {

"username": "data_wizard",

"preferences": {

"theme": "dark",

"notifications": True

},

"scores": [95, 88, 92]

}

filename = "user_profile.json"

写入JSON文件

with open(filename, 'w', encoding='utf-8') as f:

json.dump(user_data, f, indent=4, ensure_ascii=False)

print(f"用户信息已保存到 {filename}")

从JSON文件读取

if os.path.exists(filename):

with open(filename, 'r', encoding='utf-8') as f:

loaded_data = json.load(f)

print(f"从文件读取的数据: {loaded_data}")

print(f"用户名: {loaded_data['username']}")

相关推荐
傻小胖2 小时前
Object.defineProperty() 完整指南
开发语言·前端·javascript
I疯子2 小时前
2026-04-07 打卡第 4 天
python
数据知道2 小时前
claw-code 源码分析:Tool Pool 组装——默认策略、过滤、MCP 开关如何影响「可用工具面」?
python·claude code·claw code
xyx-3v2 小时前
qt创建新工程
开发语言·c++·qt
Zzj_tju2 小时前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
汽车搬砖家2 小时前
vSOMEIP系列 -6: vsomeip python版部署,双机跨域通信(vsomeip - davinci AP someip)
python·汽车
小陈工2 小时前
Python Web开发入门(十六):前后端分离架构设计——从“各自为政”到“高效协同”
开发语言·前端·数据库·人工智能·python
前进的李工2 小时前
MySQL用户管理与权限控制指南(含底层架构说明)
开发语言·数据库·sql·mysql·架构
少司府2 小时前
C++基础入门:类和对象(中)
c语言·开发语言·c++·类和对象·运算符重载·默认成员函数