一文学会Python基础知识
一、入门必备:环境搭建与基础认知
1. 环境搭建
Python是跨平台语言,推荐两种主流搭建方式,满足不同需求:
基础版(纯解释器):前往Python官方网站(https://www.python.org/)下载对应系统(Windows/Mac/Linux)的安装包,安装时务必勾选“Add Python to PATH”(Windows系统),完成后打开命令行(Windows cmd/终端),输入“python --version”,若显示版本号(如Python 3.11.4)则安装成功。进阶版(IDE工具):推荐使用PyCharm(社区版免费)或VS Code(需安装Python插件)。IDE能提供代码补全、语法检查、调试等功能,大幅提升编码效率,适合长期学习和项目开发。2. 核心认知
Python是一种解释型、面向对象、弱类型语言,语法简洁易懂,被广泛应用于爬虫、数据分析、人工智能、后端开发等领域。核心特点:
解释型:无需编译,代码逐行执行,调试方便,但运行速度略慢于C/C++等编译型语言。弱类型:变量无需声明数据类型,赋值后自动确定类型(如a=1则a为整数,a="hello"则变为字符串)。缩进敏感:以缩进(通常4个空格)划分代码块,替代其他语言的大括号,缩进错误会直接导致语法报错。二、核心语法:从变量到流程控制
1. 变量与数据类型
(1)变量定义
变量是存储数据的容器,定义规则:以字母、下划线开头,可包含字母、数字、下划线,区分大小写,不能使用Python关键字(如if、for、print等)。
示例:
# 正确定义name = "Alice" # 字符串变量age = 20 # 整数变量score = 95.5 # 浮点数变量is_student = True # 布尔变量# 错误定义1name = "Bob" # 不能以数字开头if = 5 # 不能使用关键字my name = "Tom" # 不能包含空格(2)常用数据类型
整数(int):正负整数及0,支持加减乘除、取余(%)、整除(//)、幂运算(**)等。示例:3 + 5 = 8,7 % 3 = 1(取余),2 **3 = 8(2的3次方)。浮点数(float):带小数点的数字,注意浮点数运算可能存在精度问题(如0.1 + 0.2 ≈ 0.30000000000000004),可通过decimal模块解决。字符串(str):用单引号()、双引号(")或三引号(/""")包裹的文本,三引号可用于多行字符串。字符串常用操作:
s = "Python"print(len(s)) # 求长度:输出6print(s[0]) # 索引取值(从0开始):输出Pprint(s[2:4]) # 切片(左闭右开):输出thprint(s.upper()) # 转大写:输出PYTHONprint(s.replace("P", "J")) # 替换:输出Jython布尔值(bool):仅两个值True(真)和False(假),常用于条件判断,注意首字母大写。空值(None):表示无值,不同于0和空字符串,常用于初始化变量或函数返回空结果。(3)类型转换
可通过内置函数实现类型转换,避免类型错误:
a = "123"b = int(a) # 字符串转整数:b=123c = float(a) # 字符串转浮点数:c=123.0d = str(b) # 整数转字符串:d="123"e = bool(0) # 整数转布尔值:e=False(0、空字符串、None均转为False,非0值转为True)2. 运算符
Python支持多种运算符,按功能分类:
算术运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)、//(整除)、**(幂)。赋值运算符:=(基础赋值)、+=(a += 1 等价于 a = a + 1)、-=、*=、/=等。比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于),结果为布尔值。逻辑运算符:and(与,同时为真才真)、or(或,有一个为真就真)、not(非,取反)。成员运算符:in(存在)、not in(不存在),常用于字符串、列表等序列。示例:"a" in "abc" → True。3. 流程控制
(1)条件判断(if-elif-else)
根据条件执行不同代码块,语法:
score = 85if score >= 90:print("优秀")elif score >= 70:print("良好")elif score >= 60:print("及格")else:print("不及格") # 输出:良好(2)循环结构(for、while)
for循环:适用于已知循环次数或遍历序列(字符串、列表等),语法:
# 遍历字符串for char in "Python":print(char, end=" ") # 输出:P y t h o n# 遍历范围(range函数:生成连续整数,左闭右开)for i in range(1, 6): # 1到5(不包含6)print(i) # 输出1、2、3、4、5while循环:适用于未知循环次数,满足条件时持续循环,语法:
i = 1while i <= 5:print(i)i += 1 # 必须更新变量,避免死循环# 输出1、2、3、4、5循环控制:break(终止当前循环)、continue(跳过本次循环,进入下一次)。
三、进阶基础:容器、函数与模块
1. 常用容器类型
容器用于存储多个数据,Python常用容器有列表、元组、字典、集合。
(1)列表(list)
有序、可变(可增删改)容器,用方括号[]包裹,元素类型可不同。
# 定义列表lst = [1, "hello", True, 3.14]# 增lst.append(5) # 末尾添加:[1, "hello", True, 3.14, 5]lst.insert(1, "world") # 指定位置插入:[1, "world", "hello", True, 3.14, 5]# 删lst.remove("hello") # 按值删除:[1, "world", True, 3.14, 5]del lst[0] # 按索引删除:["world", True, 3.14, 5]# 改lst[2] = 6.66 # 按索引修改:["world", True, 6.66, 5]# 查print(lst[1]) # 索引查询:True(2)元组(tuple)
有序、不可变(一旦定义无法修改)容器,用圆括号()包裹,元素类型可不同,访问速度比列表快。
tup = (1, 2, 3, "Python")print(tup[2]) # 输出3# tup[0] = 0 # 报错:元组不可修改(3)字典(dict)
无序、可变容器,以键值对(key: value)存储,用大括号{}包裹,key必须唯一且为不可变类型(整数、字符串、元组),value可任意类型。
# 定义字典dic = {"name": "Alice", "age": 20, "score": 95.5}# 增/改dic["gender"] = "female" # 新增键值对dic["age"] = 21 # 修改已有键的值# 删del dic["score"] # 按key删除# 查print(dic["name"]) # 按key查询:Aliceprint(dic.get("height", 165)) # 安全查询,无key时返回默认值165(4)集合(set)
无序、无重复元素容器,用大括号{}或set()函数创建,常用于去重和集合运算。
# 定义集合(自动去重)s1 = {1, 2, 2, 3} # {1, 2, 3}s2 = set([3, 4, 5]) # {3, 4, 5}# 集合运算print(s1 & s2) # 交集:{3}print(s1 | s2) # 并集:{1, 2, 3, 4, 5}print(s1 - s2) # 差集:{1, 2}2. 函数
函数是封装可复用代码的模块,提高代码可读性和复用性,分为内置函数和自定义函数。
(1)内置函数
Python自带大量实用内置函数,无需定义可直接使用:
print("hello") # 输出内容len([1, 2, 3]) # 求长度:3max(1, 3, 5) # 求最大值:5min(2, 4, 6) # 求最小值:2sum([1, 2, 3]) # 求和:6(2)自定义函数
用def关键字定义,语法:
def 函数名(参数1, 参数2, ...):"""函数说明文档(可选)"""函数体(缩进)return 返回值(可选,无return则返回None)# 示例:定义一个求两数之和的函数def add(a, b):"""计算两个数的和"""return a + b# 调用函数result = add(3, 5)print(result) # 输出8参数类型:位置参数(必须按顺序传入)、默认参数(定义时赋值,调用时可省略)、关键字参数(调用时指定参数名,无需按顺序)。
# 默认参数def print_info(name, age=18):print(f"姓名:{name},年龄:{age}")print_info("Alice") # 省略age,使用默认值18:姓名:Alice,年龄:18print_info("Bob", 20) # 传入age,覆盖默认值:姓名:Bob,年龄:20print_info(age=22, name="Charlie") # 关键字参数,顺序无关:姓名:Charlie,年龄:223. 模块与包
模块是包含Python代码的.py文件,包是多个模块的集合,用于组织代码和避免命名冲突。
(1)导入模块
# 导入整个模块import mathprint(math.sqrt(16)) # 调用模块中的函数:4.0# 导入模块中的指定函数from math import sqrt, powprint(pow(2, 3)) # 输出8.0# 导入模块并起别名import math as mprint(m.pi) # 输出圆周率:3.141592653589793(2)安装第三方模块
Python官方库(内置模块)之外的模块,需通过pip工具安装,命令行输入:
pip install 模块名 # 安装最新版pip install 模块名==版本号 # 安装指定版本pip uninstall 模块名 # 卸载模块示例:安装数据分析模块pandas → pip install pandas。
四、实战技巧:异常处理与代码规范
1. 异常处理(try-except)
代码运行时可能出现错误(异常),如除以0、索引越界等,用try-except捕获异常,避免程序崩溃。
try:a = 10 / 0 # 可能出现异常的代码except ZeroDivisionError:print("错误:除数不能为0") # 异常发生时执行else:print("运算成功") # 无异常时执行finally:print("无论是否异常,都会执行") # 必执行代码# 输出:错误:除数不能为0;无论是否异常,都会执行2. 代码规范
缩进:统一使用4个空格,不混用空格和Tab。命名:变量、函数用小写字母+下划线(snake_case),如user_name;类用首字母大写(CamelCase),如User。注释:单行注释用#,多行注释用三引号,注释简洁明了,说明代码功能而非细节。空行:函数、类之间用空行分隔,代码块内部合理留白,提升可读性。五、总结与进阶方向
以上内容覆盖Python核心基础知识,掌握后可独立编写简单脚本(如数据处理、自动化工具等)。进阶方向建议:
面向对象编程:学习类(class)、继承、封装、多态,提升代码结构化和复用性。实战练习:通过小项目巩固知识,如简易计算器、文件批量处理、爬虫爬取网页数据等。领域拓展:根据兴趣选择方向,如数据分析(pandas、numpy)、爬虫(requests、scrapy)、人工智能(tensorflow、pytorch)等。Python学习的核心是多练多总结,遇到问题时查阅官方文档(https://docs.python.org/)或社区(Stack Overflow),逐步积累实战经验。
评论 (0)