Python 简单基础教程

news/2025/12/8 19:45:10/文章来源:https://www.cnblogs.com/ning1208/p/19323432

Python 是一门简洁、易上手的编程语言,广泛应用于数据分析、Web 开发、人工智能、自动化等领域。本教程从零基础开始,带你掌握 Python 核心基础。

一、环境准备

1. 安装 Python

  • 安装注意:
    • Windows:勾选「Add Python to PATH」(添加到环境变量),否则无法在命令行直接运行 Python。
    • Mac/Linux:系统通常自带 Python2,需确认安装的是 Python3(命令行输入 python3 --version 验证)。

2. 运行 Python 的方式

  • 交互式解释器:命令行输入 python(Windows)或 python3(Mac/Linux),进入交互式环境,输入代码回车即可执行(退出用 exit() 或 Ctrl+D)。
  • 脚本文件:新建 .py 后缀的文件(如 hello.py),写入代码后,命令行执行 python hello.py(Windows)或 python3 hello.py(Mac/Linux)。
  • IDE 推荐:新手推荐 PyCharm(社区版免费)、VS Code(安装 Python 插件),提供代码补全、调试等功能。

二、第一个 Python 程序

# 单行注释:打印Hello World
"""
多行注释:
这是我的第一个Python程序
"""
print("Hello, Python!")  # 输出字符串

运行结果:Hello, Python!

  • print():Python 内置函数,用于输出内容到控制台。
  • 注释:# 开头是单行注释,""" """''' ''' 是多行注释,注释不执行,用于解释代码。

三、变量与数据类型

1. 变量定义

Python 变量无需声明类型,直接赋值即可,变量名遵循:

  • 由字母、数字、下划线组成,不能以数字开头;
  • 区分大小写;
  • 不能用关键字(如 ifforprint 等)。
name = "小明"  # 字符串
age = 18       # 整数
height = 1.75  # 浮点数
is_student = True  # 布尔值(True/False)
print(name, age, height, is_student)

2. 常用数据类型

类型 说明 示例
整数(int) 正/负整数、0 10-50
浮点数(float) 小数 3.14-0.5
字符串(str) 文本,单/双/三引号包裹 'Python'"123"'''多行字符串'''
布尔值(bool) 真/假 TrueFalse
列表(list) 有序可变集合 [1, 2, 'a']
元组(tuple) 有序不可变集合 (1, 2, 'a')
字典(dict) 键值对无序集合 {'name': '小明', 'age': 18}

3. 类型转换

# 字符串转整数
num_str = "123"
num = int(num_str)
print(num + 1)  # 输出 124# 整数转字符串
age = 18
age_str = str(age)
print("年龄:" + age_str)  # 输出 年龄:18# 浮点数转整数(截断小数)
print(int(3.99))  # 输出 3

四、运算符

1. 算术运算符

a = 10
b = 3
print(a + b)  # 加:13
print(a - b)  # 减:7
print(a * b)  # 乘:30
print(a / b)  # 除:3.333...
print(a // b) # 整除:3
print(a % b)  # 取余:1
print(a **b) # 幂:1000

2. 比较运算符(返回布尔值)

print(10 > 3)   # True
print(10 == 3)  # False
print(10 != 3)  # True
print(10 >= 10) # True

3. 逻辑运算符

# and(都真才真)、or(有真就真)、not(取反)
print(True and False)  # False
print(True or False)   # True
print(not True)        # False

4. 赋值运算符

x = 5
x += 3  # 等价于 x = x + 3 → x=8
x *= 2  # 等价于 x = x * 2 → x=16

五、条件语句

根据条件执行不同代码,语法:

if 条件1:执行代码1
elif 条件2:执行代码2
else:执行代码3

示例:

score = 85
if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 60:print("及格")
else:print("不及格")
# 输出:良好

六、循环语句

1. for 循环(遍历可迭代对象:列表、字符串、范围等)

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:print(fruit)# 遍历数字范围(range(起始, 结束, 步长),结束不包含)
for i in range(1, 5):  # 1,2,3,4print(i)# 遍历字符串
for char in "Python":print(char)

2. while 循环(满足条件时循环)

# 计算1-10的和
sum_num = 0
i = 1
while i <= 10:sum_num += ii += 1  # 必须更新i,否则无限循环
print(sum_num)  # 输出:55

3. 循环控制

  • break:终止整个循环;
  • continue:跳过当前循环,进入下一次;
  • else:循环正常结束(未被break打断)时执行。

示例:

for i in range(1, 6):if i == 3:continue  # 跳过3if i == 5:break     # 终止循环print(i)
else:print("循环正常结束")
# 输出:1 2 4(else未执行)

七、列表(List)

列表是 Python 最常用的有序可变集合,支持增删改查。

# 定义列表
nums = [1, 2, 3, 4, 5]# 访问元素(索引从0开始)
print(nums[0])   # 第一个元素:1
print(nums[-1])  # 最后一个元素:5# 切片([起始:结束:步长])
print(nums[1:3]) # [2,3]
print(nums[:3])  # 从开头到索引2:[1,2,3]
print(nums[::2]) # 步长2:[1,3,5]# 添加元素
nums.append(6)   # 末尾添加:[1,2,3,4,5,6]
nums.insert(2, 7)# 索引2插入7:[1,2,7,3,4,5,6]# 删除元素
nums.remove(7)   # 删除指定值:[1,2,3,4,5,6]
nums.pop()       # 删除末尾元素:[1,2,3,4,5]
del nums[0]      # 删除索引0元素:[2,3,4,5]# 修改元素
nums[0] = 10     # [10,3,4,5]# 长度
print(len(nums)) # 4

八、字典(Dict)

字典是键值对(key:value)的无序集合,键唯一且不可变(字符串、数字、元组),值可任意。

# 定义字典
student = {"name": "小明","age": 18,"gender": "男"
}# 访问值(通过键)
print(student["name"])  # 小明
print(student.get("age")) # 18(推荐,键不存在返回None)# 添加/修改键值对
student["score"] = 90   # 添加
student["age"] = 19     # 修改# 删除键值对
del student["gender"]
student.pop("score")# 遍历字典
for key in student:print(key, student[key])# 获取所有键/值
print(student.keys())   # dict_keys(['name', 'age'])
print(student.values()) # dict_values(['小明', 19])

九、函数

函数是可重复使用的代码块,提高代码复用性,语法:

def 函数名(参数1, 参数2=默认值):"""函数说明"""执行代码return 返回值

示例:

# 无参数无返回值
def say_hello():print("Hello!")say_hello()  # 调用函数:Hello!# 有参数有返回值
def add(a, b=0):  # b有默认值"""计算两个数的和"""return a + bresult = add(3, 5)
print(result)  # 8
result2 = add(10)  # 使用默认值b=0,输出10

函数参数类型

  • 位置参数:按顺序传参(如 add(3,5));
  • 关键字参数:按键传参(如 add(b=5, a=3));
  • 默认参数:定义时指定默认值,调用可省略(如 add(10));
  • 可变参数:*args(接收多个位置参数,元组)、**kwargs(接收多个关键字参数,字典)。
def func(*args, **kwargs):print(args)    # (1,2,3)print(kwargs)  # {'name':'小明','age':18}func(1,2,3, name="小明", age=18)

十、模块与包

1. 模块(.py 文件)

将函数、变量写在一个 .py 文件中,其他文件可导入使用。

示例:

  • 新建 mymodule.py
    def multiply(a, b):return a * bPI = 3.14159
    
  • 另一个文件导入:
    # 导入整个模块
    import mymodule
    print(mymodule.multiply(2,3))  # 6
    print(mymodule.PI)             # 3.14159# 导入指定内容
    from mymodule import multiply, PI
    print(multiply(4,5))           # 20# 导入并改名
    import mymodule as mm
    print(mm.PI)                   # 3.14159
    

2. 包

多个模块组成的文件夹(需包含 __init__.py 文件),用于组织代码。

十一、文件操作

1. 读取文件

# 方式1:手动关闭文件
f = open("test.txt", "r", encoding="utf-8")  # r=只读,指定编码避免中文乱码
content = f.read()  # 读取全部内容
# content = f.readline()  # 读取一行
# content = f.readlines() # 读取所有行,返回列表
print(content)
f.close()  # 必须关闭文件# 方式2:with自动关闭文件(推荐)
with open("test.txt", "r", encoding="utf-8") as f:content = f.read()print(content)

2. 写入文件

# w=覆盖写入,a=追加写入
with open("test.txt", "w", encoding="utf-8") as f:f.write("Hello Python!\n")  # \n换行f.writelines(["第一行\n", "第二行\n"])  # 写入多行# 追加
with open("test.txt", "a", encoding="utf-8") as f:f.write("追加的内容")

十二、异常处理

捕获代码运行中的错误,避免程序崩溃,语法:

try:可能出错的代码
except 异常类型1:出错后的处理
except 异常类型2 as e:打印错误信息(e)
else:无异常时执行
finally:无论是否异常都执行(如关闭文件)

示例:

try:num = int(input("请输入数字:"))print(10 / num)
except ValueError:print("输入的不是数字!")
except ZeroDivisionError as e:print(f"错误:{e}(不能除以0)")
else:print("执行成功!")
finally:print("程序结束")

十三、进阶方向

掌握基础后,可学习:

  1. 面向对象编程(类、对象、继承、封装、多态);
  2. 常用标准库(os、sys、datetime、json 等);
  3. 第三方库(numpy/pandas 数据分析、requests 爬虫、flask/django Web开发、tensorflow/pytorch 人工智能);
  4. 正则表达式、多线程/多进程、数据库操作等。

如果有具体的知识点想深入了解(如面向对象、第三方库使用),可以针对性提问!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/993459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

屏幕上那一行刺眼的红色 `Time Limit Exceeded`,是不是你我再熟悉不过的场景?

本文提供了一种与AI协作进行算法优化的新思路。通过一个结构化的AI指令模板,引导AI扮演“算法陪练”的角色,不仅能解决代码性能问题,更能帮助开发者深入理解优化原理,真正提升个人能力。无论是深夜在 LeetCode 上奋…

【论术】项目复盘总结-响应式界面

工作的意义和动力本质上是终身学习者在自由市场中的创造性表达 —— 佚名 项目需求:首页需要在用户屏幕下实现自适应并尽量维持UI稿中的样式,而用户的分辨率不能保持在1920*1080,缩放比率通常在150%,且界面图片要确保…

if 的虚拟语气和省略形式

时态 从句谓语动词 主句谓语动词现在 \(\text{did/were}\) \(\text{would/coud/should/might + do}\)过去 \(\text{had done}\) \(\text{would/coud/should/might + have done}\)将来 \(\text{did/were, were to do, s…

Ubuntu 架构磁盘清理的手段

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

西电2025硕士网课——人工智能安全与伦理练习答案

西电2025年研究生网课人工智能安全与伦理(北航雨课堂) 答案参考于https://github.com/LazzyXP/AI-Security-and-Ethics-BeiHang-Univer...,修改了一部分错误的答案第一章-AI安全与伦理概述AI 解释生成系统的手段包括…

高级语程序设计第八次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx/ 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/15590 学号:102500302 姓名:陈婧妍 编写并运行书本第11章11.13编程练…

2026上海办公室装修实力强的公司推荐三家:资质与案例双标杆指南

2026上海办公室装修实力强的公司推荐三家:资质与案例双标杆指南在上海选择办公室装修实力强的公司,核心看 “资质硬实力、场景适配深度、交付履约率” 三大核心维度。结合《上海市公装服务质量标准(2025 版)》及行…

枚举

1.认识枚举2.应用场景3.例子

cs61a-36链表的练习

在练习之前先创建链表类如图所示 这个tolinked 函数的作用是把python中的可迭代对象转化为链表 练习1:def split(L) ‘’‘返回(mid,last,length) 测试实例如下split(tolinked([1,2,3,4,5])) (Link(3,Link(4,Link…

数据库操控与数据管理——Rust 与 SQLite 的集成

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

20232315 2025-2026-1 《网络与系统攻防技术》实验八实验报告

20232315 2025-2026-1 《网络与系统攻防技术》实验八实验报告20232315 2025-2026-1 《网络与系统攻防技术》实验八实验报告 目录一、实验基本信息二、实验内容三、实验要求四、实验过程4.1 4.2 4.3 4.4 4.5 五、回答问…

3分钟搞定,CI/CD工具Arbess安装和配置 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Ring智能可视门铃调试代码漏洞致远程代码执行

本文详细分析了CVE-2025-64983漏洞。该漏洞存在于SwitchBot智能可视门铃旧版固件中,由于遗留了活跃的调试代码,攻击者可通过Telnet连接并获取设备访问权限,导致远程代码执行风险。CVE-2025-64983 - Ring智能可视门铃…

认识设计模式——单例模式 - 指南

认识设计模式——单例模式 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

完美的盆栽配土

营养土+10%园土 营养土中不含钙镁和微量元素,园土正好富含钙镁和微量元素。这样就不必使用带TE的肥料,也不必额外补钙镁,能省不少钱,也省了不少事,配肥料的时候不用加这个加那个的。 按照植物体内的元素含量,植物…

Anthropic API Key

Anthropic API Keyagent1.ts:import {createAgent} from langchain; import dotenv/configconst agent = createAgent({model: claude-sonnet-4-5-20250929} );const response = await agent.invoke({messages: [{role…

应用文档抽取技术,赋予RPA理解和处理复杂现实世界信息的能力

如果将RPA机器人比作一位不知疲倦的“数字员工”,那么它过往的工作大多依赖清晰的指令和固定的路径——就像在规划好的格子里填色。然而,现实业务中充满了格式各异、内容复杂的“不规则拼图”,如PDF合同、扫描发票等…

Day57(27)-F:\vs_ai_work\vue-tlias-management

ElementPlusTlias智能学习辅助系统修改密码 | 退出登录​ ​ ​ ​ ​ ​ ​ ​ 首页 ​ ​ ​ …

完美的园艺配土

营养土+10%园土 营养土中不含钙镁和微量元素,园土正好富含钙镁和微量元素。这样就不必使用带TE的肥料,也不必额外补钙镁,能省不少钱。 按照植物体内的元素含量,植物对大量元素的需求量是这样的:10x氮:10x钾:5x钙:…

深入解析:在百度seo快速收录要求是什么 有哪些

深入解析:在百度seo快速收录要求是什么 有哪些pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…