当前位置: 首页 > news >正文

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 是一个必备的工具,能够让你直观地展示数据的规律和趋势。

相关文章:

  • 正则表达式(Regular Expression)详解
  • 配置VS的DLL文件引用目录(两种方案,无需每次生成dll后手动将其复制到exe目录下)
  • 表面等离子共振技术(SPR)在小分子与蛋白质相互作用研究中的应用
  • MyBatis 动态 SQL 完整笔记
  • 世界少棒联盟(Little League Baseball)·棒球1号位
  • 【LangChain基础系列】深入全面掌握文本分类
  • C——VS的调试技巧
  • 更多 QVariant 使用案例
  • Python序列Day3
  • 如何对 Oracle 日志文件进行校验
  • 钯铂贵金属分离回收树脂
  • Nginx 配置多个监听端口
  • obj = null; 赋值null之前没有其他引用指向obj对象,那么,当obj=null时,会被垃圾回收机制立即回收吗?
  • 编程题 02-线性结构2 一元多项式的乘法与加法运算【PAT】
  • PostgreSQL 的 pg_current_logfile 函数
  • 【Ubuntu】Netplan静态网络配置
  • 缺乏实体人形机器人的主流高精度仿真方案
  • Flutter接入ProtoBuff和原生Android通信【性能最优】
  • tmux 入门与实用指南
  • 39、.NET GC是什么? 为什么需要GC?
  • 江西暴雨强对流明显,专家:落雨区高度重叠,地质灾害风险高
  • 黄晨光任中科院空间应用工程与技术中心党委书记、副主任
  • 哥伦比亚总统称将在访华期间签署“一带一路”倡议意向书,外交部回应
  • 指挥家高健:东方市民音乐会“高贵不贵”,我愿意常来
  • 印巴军事对峙加剧,小规模冲突收场还是走向大战?
  • 科普|治疗腰椎间盘突出症,筋骨平衡理论如何提供新视角?