Python 基础知识
一、Python 的环境搭建
在开始 Python 编程之旅之前,你需要先搭建好 Python 的运行环境。这就好比在烹饪之前要准备好炉灶和锅具一样。如今,主流的操作系统如 Windows、macOS 和 Linux 都支持 Python。你可以前往 Python 官方网站下载与你的操作系统相匹配的 Python 安装程序,然后按照安装向导的提示进行操作,很快就能完成安装。安装完成后,为了验证 Python 是否安装成功,可以在命令行(Windows 的 cmd 或 PowerShell,macOS 和 Linux 的终端)中输入 “python” 或 “python3” 命令,如果屏幕显示出 Python 的版本信息,那就说明 Python 已经成功安装并可以使用了。
二、Python 的基本语法元素
(一)变量与数据类型
变量就像是一个个的小盒子,你可以用它来存储各种各样的数据。在 Python 中,定义变量非常简单,你只需要指定一个变量名,然后用等号将其赋值即可,例如 “name = '张三'”、“age = 25”。Python 是一种动态类型语言,这意味着你不需要在定义变量时显式地指定它的数据类型,Python 会根据赋给变量的值自动推断其类型。
Python 中常见的数据类型有:
整数(int):代表整数,如 1、100、-200 等。
浮点数(float) :用于表示带有小数部分的数字,比如 3.14、-0.5 等。
字符串(str) :用来表示文本数据,用单引号(' ')或双引号(" ")括起来,例如 'hello'、"world"。
布尔值(bool) :只有两个可能的值,即 True(真)和 False(假),常用于条件判断。
(二)运算符
运算符就像是数学中的加减乘除符号一样,它们可以对变量或数据进行操作,以实现各种计算或逻辑判断。
算术运算符:包括加(+)、减(-)、乘(*)、除(/)、取模(%,即求余数)等。例如,“a = 10 + 5” 会将 15 赋值给变量 a,“b = 10 % 3” 的结果是 1。
比较运算符 :用于比较两个值的大小或相等性,如等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。比较的结果是一个布尔值,例如 “3 > 2” 的结果是 True。
逻辑运算符:主要有与(and)、或(or)、非(not)。它们常用于组合多个条件表达式进行复杂的逻辑判断。例如,“(x > 0) and (x < 10)” 判断 x 是否在 0 到 10 之间(不包括 0 和 10)。
(三)注释
注释是用来在代码中添加说明性文字的,它不会被 Python 解释器执行。单行注释以井号(#)开头,例如 “# 这是一个注释,用于解释代码的功能”。多行注释则可以使用三引号(''' ''' 或 """ """)包裹,这在需要对一段代码进行详细说明时非常有用。
三、Python 的控制流程
控制流程就像是交通规则一样,它告诉程序代码在什么时候执行、以什么顺序执行,从而实现对程序逻辑的精准控制。
(一)条件语句
条件语句根据条件判断的结果来决定程序的执行路径。在 Python 中,使用 if 语句来实现条件判断。其基本语法结构如下:
if 条件表达式1:代码块1(当条件表达式1为真时执行)
elif 条件表达式2:代码块2(当条件表达式1为假且条件表达式2为真时执行)
else:代码块3(当所有条件表达式都为假时执行)
例如:
temperature = 25
if temperature > 30:print("天气很热")
elif temperature > 20:print("天气适中")
else:print("天气较冷")
在这个例子中,程序会根据温度的值输出不同的天气描述,当温度大于 30 时输出 “天气很热”,当温度在 20 到 30 之间(不包括 30)时输出 “天气适中”,否则输出 “天气较冷”。
(四)循环语句
循环语句可以让你的代码重复执行某一段操作,直到满足特定的条件为止。Python 中主要有两种循环结构:for 循环和 while 循环。
1\. for 循环
for 循环通常用于遍历一个序列(如列表、元组、字符串)中的元素。其基本语法是:
for 变量 in 序列:
循环体(要重复执行的代码)
例如:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:print(fruit)
这段代码会依次输出列表中的水果名称,先是 “apple”,然后是 “banana”,最后是 “orange”。
2\. while 循环
while 循环则会一直执行循环体中的代码,只要给定的条件表达式为真。语法格式为:
while 条件表达式:
循环体
比如,下面的代码会输出数字 1 到 5:
count = 1
while count <= 5:print(count)count += 1
这里,count 初始值为 1,每次循环都会输出 count 的值,然后将其加 1,当 count 超过 5 时循环结束。
四、Python 的函数
函数是一段具有特定功能的代码块,它可以帮助你组织代码、提高代码的复用性,避免重复编写相同的代码片段。在 Python 中,定义一个函数使用 def 关键字,其语法如下:
def 函数名(参数列表):
函数体
return 返回值(可选)
例如,下面定义了一个计算两个数之和的函数:
def add_numbers(a, b):
sum = a + b
return sum
调用这个函数时,你可以将两个数作为参数传递进去,例如 “result = add_numbers(3, 5)”,函数会返回它们的和 8,然后你可以将返回值存储在变量 result 中供后续使用。
函数不仅可以有返回值,也可以没有返回值。例如,下面这个函数的作用是打印一段问候信息,没有返回值:
def greet(name):
print(f"Hello, {name}! Welcome to Python programming.")
你可以通过 “greet('张三')” 来调用它,此时程序会输出 “Hello, 张三! Welcome to Python programming.”。
五、Python 的数据结构
(一)列表(list)
列表是一种有序的、可以修改的数据结构,它就像是一个可以容纳多个元素的容器。列表中的元素可以是不同类型的数据,如整数、字符串、浮点数等。你可以用方括号([])来创建一个列表,并使用索引来访问列表中的元素。索引从 0 开始,例如:
numbers = [1, 2, 3, 4, 5]
print(numbers[0]) # 输出 1
print(numbers[3]) # 输出 4
列表还支持切片操作,可以获取从某个起始索引到某个结束索引之间的子列表。例如,“numbers[1:4]” 会返回 [2, 3, 4]。
你可以对列表进行各种操作,如添加元素(使用 append() 方法)、删除元素(使用 remove() 方法或 del 语句)、修改元素值(直接通过索引赋值)、获取列表长度(使用 len() 函数)等。
(二)元组(tuple)
元组与列表类似,也是一个有序的元素序列,但元组一旦创建就不能被修改,也就是说它是不可变的。元组使用圆括号(())来定义,例如 “fruits = ('apple', 'banana', 'orange')”。你可以访问元组中的元素,但不能修改它们的值。元组的不可变性使得它在某些场景下很有用,比如当你需要确保数据不会被意外修改时。
(三)字典(dict)
字典是一种无序的、可修改的数据结构,它以键 - 值对的形式存储数据。键就像是一个标识符,通过它你可以快速地查找对应的值。字典用大括号({})来创建,键和值之间用冒号(:)分隔,例如:
person = {'name': '张三', 'age': 25, 'city': '北京'}
要访问字典中的值,你可以使用对应的键,如 “(personprint['name'])” 会输出 “张三”。
字典支持添加新的键 - 值对、修改现有键对应的值、删除键 - 值对(使用 del 语句或 pop() 方法)等操作。
六、Python 中的文件操作
在实际的编程应用中,经常需要处理文件,比如读取文件中的数据进行分析,或者将程序生成的结果写入文件保存。Python 提供了简单易用的文件操作功能。
(一)打开文件
要对文件进行操作,首先需要使用 open() 函数打开它。open() 函数的基本语法是:
file_object = open(file_name, mode)
其中,file_name 是文件的名称(可以包含路径),mode 是打开文件的模式,常见的模式有:
'r':读取模式,默认模式,打开文件用于读取内容。如果文件不存在,会抛出异常。
'w':写入模式,打开文件用于写入内容。如果文件已存在,会清空原有内容;如果文件不存在,会创建新文件。
'a':追加模式,打开文件用于在文件末尾追加内容。如果文件不存在,会创建新文件。
'b':二进制模式,用于处理二进制文件,如图片、视频等。通常会与 'r'、'w'、'a' 等模式组合使用,如 'rb'、'wb'。
例如:
# 以读取模式打开文件
file = open('data.txt', 'r')
# 以写入模式打开文件
file = open('output.txt', 'w')
(二)读取文件
打开文件后,可以使用各种方法读取文件内容。常用的有:
read() 方法:读取文件的全部内容,并返回一个字符串。
content = file.read()
print(content)
readline() 方法:逐行读取文件内容,每次读取一行,返回一个字符串。如果到达文件末尾,返回空字符串。
line = file.readline()
while line:print(line)line = file.readline()
readlines() 方法:读取文件的所有行,返回一个列表,列表中的每个元素是一行内容。
lines = file.readlines()
for line in lines:print(line)
(三)写入文件
对于写入模式或追加模式打开的文件,可以使用 write() 方法将字符串写入文件。
file = open('output.txt', 'w')
file.write('Hello, Python!\n')
file.write('Welcome to file writing.')
file.close() # 写入完成后关闭文件
需要注意的是,在完成文件操作后,应该使用 close() 方法关闭文件,以释放系统资源。或者你可以使用 with 语句来操作文件,它会在代码块执行完毕后自动关闭文件,这是一个更安全、更推荐的做法。例如:
with open('data.txt', 'r') as file:content = file.read()print(content)
七、Python 中的库与模块
Python 的强大之处还体现在它拥有丰富的库和模块,这些库和模块就像是一个个功能强大的工具箱,为开发者提供了大量的预编写好的代码,你可以直接使用它们来完成各种复杂的任务,而无需从零开始编写所有代码。
(一)导入模块
要使用一个模块,你需要先用 import 语句将其导入。例如,导入 math 模块(提供数学函数和常量):
import math
print(math.sqrt(16)) # 输出 4.0
print(math.pi) # 输出圆周率 π 的值如果你想导入模块中的特定函数或变量,可以使用 from...import... 语句。例如:from math import sqrt, pi
print(sqrt(25)) # 输出 5.0
print(pi) # 输出 π 的值
这样可以避免每次使用时都要加上模块名前缀。
(二)常用库简介
NumPy:这是一个科学计算的基础库,提供了大量的数学函数和高效的多维数组对象(ndarray),在数据处理、数值计算等领域非常常用。例如,你可以用 NumPy 快速地进行矩阵运算、统计分析等操作。
Pandas :它主要用于数据处理和分析,提供了 DataFrame 和 Series 这两种数据结构。DataFrame 类似于表格,可以存储二维数据;Series 则是一维数组。通过 Pandas,你可以轻松地进行数据清洗、转换、聚合等操作,非常适合处理结构化数据,如 CSV 文件中的数据。
Matplotlib :这是一款强大的绘图库,可以帮助你创建各种静态、动态的图表,如折线图、柱状图、散点图等。在数据分析和可视化领域,Matplotlib 是一个必备的工具,能够让你直观地展示数据的规律和趋势。