自从上次经丙察察游了一次滇藏线,已有3个没写一篇了。今天利用由某大模型生成的上面这张思维导图,配合这个大模型生成的6000多字拼凑出一篇博文聊以交差。
Python语言概述
一、语言特点
1.语法简单明了
Python的语法简洁易懂,使得编写代码变得简单快速。这种简洁的语法不仅易于编写,也易于阅读和维护。
2.高级语言,易于学习
Python是一种高级编程语言,它提供了许多内置函数和库,使得开发人员可以快速构建复杂的程序。由于Python的语法简单易懂,初学者可以快速上手,并能够快速构建出实用的程序。
3.解释型语言,可读性强
Python是一种解释型语言,这意味着开发人员可以直接在命令行中运行代码,而无需事先编译。此外,Python的代码易于阅读和理解,这使得开发人员可以更好地协作和分享代码。
4.可扩展性
Python具有很高的可扩展性,开发人员可以使用C、C++等语言编写扩展模块来增强Python的功能。这使得Python可以应用于许多高性能的领域,如科学计算、大数据处理等。
5.动态类型系统
Python具有动态类型系统,这意味着开发人员不需要事先声明变量的类型。这使得编写代码变得更加简单和快速,同时也提高了代码的可读性和可维护性。
6.优雅的语法和设计哲学
Python的语法和设计哲学注重代码的可读性和简洁性。这种设计哲学使得Python的代码易于阅读和理解,同时也让Python成为了一种优雅的编程语言。
二、应用领域
Python的应用领域非常广泛,包括Web开发、数据科学、人工智能、机器学习、自动化等等。这意味着使用Python可以让你在多个领域中发挥你的技能和经验。Python拥有许多强大的库和框架,如NumPy、Pandas、Django和Flask等。这些库和框架可以帮助开发人员快速构建高质量的程序和应用程序。Python可以在多个平台上运行,包括Windows、Linux和Mac OS等。这使得开发人员可以轻松地在不同的操作系统上开发和部署Python应用程序。
Python基础学习
一、 数据类型
基本数据类型有以下几种:
- 整型(int):整数类型包括正整数和负整数。Python的整型是长整型,能表达的数的范围是无限的。
- 浮点型(Float):浮点类型包括两部分,整数部分和小数部分。
- 字符串型(String):字符串是用双引号“”或者单引号‘’括起来的一个或多个字符,主要用来表示一些描述性的内容,如名字、性别、国籍等。
- 布尔型(Boolean):布尔类型的变量是具有两种逻辑状态的变量,通常情况下是True和False,一般用于关系运算或逻辑运算。
此外,Python还有几种复合数据类型:
- 列表(List):列表是由一系列特定元素顺序排列的元素组成的,其中元素可以是任意的类型,包括列表本身。
- 元组(Tuple):元组即为不可修改的列表。
- 字典(Dictionary):字典是由键(Key)和对应的值(Value)对组成的,用大括号“{}”括起来。
- 集合(Set):集合是由不重复的元素组成的,用大括号“{}”或者用set()函数创建。
二、 运算符
Python的运算符主要分为以下几类:
- 算术运算符:包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取余运算符(%)、整除运算符(//)和幂次方运算符(**)。这些运算符用于进行基本的数学运算。
- 比较运算符:包括等于运算符(==)、不等于运算符(!=)、大于运算符(>)、小于运算符(<)、大于等于运算符(>=)和小于等于运算符(<=)。这些运算符用于比较两个值是否相等或存在大小关系。
- 赋值运算符:例如等于赋值运算符(=),用于将等号右侧的值赋给左侧的变量。此外,还有加法赋值运算符(+=)、减法赋值运算符(-=)、乘法赋值运算符(*=)、除法赋值运算符(/=)、取余赋值运算符(%=)、整除赋值运算符(//=)和幂次方赋值运算符(**=)。这些运算符用于将运算结果赋值给变量。
- 逻辑运算符:包括与运算符(and)和或运算符(or)。这些运算符用于进行逻辑运算。
- 所属运算符:例如在运算符in和not in,用于判断某个值是否在一个容器中。
- 二元赋值符:例如加法赋值符(+=),用于将等号右侧的值加到左侧的变量上,相当于a = a + 1。其他还有减法赋值符(-=)、乘法赋值符(*=)、除法赋值符(/=)、取余赋值符(%=)、整除赋值符(//=)和幂次方赋值符(**=)。
这些运算符在Python编程中有着广泛的应用,可以用于进行各种数学计算、比较、赋值和逻辑运算。
Python 运算符优先级从高到低如下:
- **:幂运算。
- ~:按位取反。
- +:正号。
- -:负号。
- *:乘法。
- /:除法。
- %:取模。
- //:整除。
- +:加法。
- -:减法。
- <<:左移。
- >>:右移。
- &:按位与。
- ^:按位异或。
- |:按位或。
- ==:是否相等。
- !=:是否不相等。
- >:大于。
- >=:大于等于。
- <:小于。
- <=:小于等于。
- is:是。
- is not:不是。
- in:是否在。
- not in:不在。
- not:布尔“非”。
- and:布尔“与”。
- or:布尔“或”。
这些运算符的优先级决定了它们在表达式中的执行顺序。
三、表达式
Python中的表达式可以根据需求使用不同的运算符和操作数,以下是一些常见的Python表达式及其介绍:
- 算术表达式:使用算术运算符进行数学计算,例如a+b、a-b、a*b、a/b、a//b等。
- 比较表达式:使用比较运算符进行比较,例如a==b、a!=b、a>b、a<b、a>=b、a<=b等。
- 赋值表达式:使用赋值运算符将右侧的值赋给左侧的变量,例如a=1。
- 逻辑表达式:使用逻辑运算符进行逻辑运算,例如a and b、a or b、not a等。
- 成员测试表达式:使用in或notin运算符测试一个值是否在容器中,例如a in [1, 2, 3]或a not in [1, 2, 3]。
- 身份测试表达式:使用is或is not运算符测试两个变量是否是同一个对象,例如a is b或a is not b。
- 列表推导式:使用for循环和if条件对列表进行过滤和转换,例如[i*2 for i in range(10) if i%2==0]。
- 生成器表达式:与列表推导式类似,但生成器表达式不会立即生成整个列表,而是按需生成元素,例如(i*2 for i in range(10) if i%2==0)。
- 条件表达式:使用if-else语句根据条件选择返回值,例如a if condition else b。
- lambda表达式:使用lambda关键字定义匿名函数,例如lambda x: x*2。
这些表达式根据需求在Python编程中灵活运用,可以完成各种数据计算、比较、赋值和逻辑运算等操作。
四、 推导式和生成器表达式
Python推导式和生成器表达式是Python语言中非常强大且有用的特性,可以用来生成新的数据序列或返回满足特定条件的元素。
推导式:
- 列表推导式:列表推导式是Python中用于简化代码的一种方法,可以从可迭代对象中快速生成满足特定条件的列表。其基本语法为:[expression for item in iterable [if condition]]。其中expression是表达式,item是迭代变量,iterable是可迭代对象,condition是条件表达式。例如,生成一个包含1到10之间所有偶数的列表,可以使用如下列表推导式:[i for i in range(1, 11) if i % 2 == 0]。
- 集合推导式:集合推导式与列表推导式类似,但是它生成的是集合而不是列表。语法为:{expression for item in iterable [if condition]}。例如,生成一个包含1到10之间所有偶数的集合,可以使用如下集合推导式:{i for i in range(1, 11) if i % 2 == 0}。
- 字典推导式:字典推导式用于生成字典,其语法为:{key: value for item in iterable [if condition]}。例如,从一个包含学生姓名和成绩的列表中生成一个字典,其中学生姓名作为键,成绩作为值,可以使用如下字典推导式:{name: score for name, score in student_list}。
生成器表达式:
生成器表达式与列表推导式类似,但是它返回的是一个生成器而不是列表。生成器是一种特殊类型的迭代器,它可以按需生成元素,而不是一次性生成所有元素。生成器表达式使用圆括号而不是方括号,语法与列表推导式相同,例如:(expression for item in iterable [if condition])。与列表推导式一样,生成器表达式也可以嵌套在其他表达式中。例如,从一个包含大量数据的列表中按需生成满足特定条件的元素时,使用生成器表达式可以节省内存空间。
小结:Python的推导式和生成器表达式提供了灵活且强大的方式来生成新的数据序列或返回满足特定条件的元素。通过使用这些特性,可以简化代码、提高效率并更好地控制内存使用。
五、 控制流语句
Python中的控制流语句主要包括条件语句、循环语句和循环控制。
1. 条件语句
if语句
用来检验一个条件,如果条件为真,执行if-块,否则执行else-块(可选)。
例如:x =10 if x >0: print("x is a positive number")。
elif语句
用于if语句中,把两个相关联的if-else语句合并成一个if-elif-else语句,使程序更加简单,且减少缩进。
例如:x =0 if x >0: print("x is a positive number") elif x <0: print("x is a negative number") else: print("x is zero")。
2. 循环语句
for循环
用于遍历序列(如列表、元组、字符串)或其他可迭代对象。
例如:for i in range(5): print(i)。
while循环
只要在一个条件为真的情况下,while语句允许重复执行一块语句。
例如:i =0 while i <5: print(i) i +=1。
3. 循环控制语句
break语句
用于跳出当前最近的一层循环。
例如:for i in range(5): if i ==3: break print(i)。
continue语句
用于跳过当前循环的剩余部分,然后进入下一次循环。
例如:for i in range(5): if i ==3: continue print(i)。
以上是Python中的主要控制流语句,它们使程序具有了选择和重复执行的能力,从而增强了程序的灵活性和效率。
六. 模块
1. 基本概念
Python的模块是一种组织代码的有效方式,它可以将代码逻辑上相关的函数和变量组织在一个文件(模块)中。通过使用模块,可以将程序的开发划分为多个较小的任务,使得开发人员可以专注于自己的领域,同时减少代码冗余和增强代码的可重用性和可维护性。
Python模块是一个包含Python代码的文件,通常以.py结尾。模块可以定义函数、类和变量,也可以包含可执行的代码。通过使用模块,可以将代码组织成逻辑相关的块,并使其可重用和可维护,使用Python模块,需要使用import语句来导入模块。
在Python中,一个.py文件就是一个模块,模块的名字就是文件的名字。例如,有一个名为test.py的文件,其中定义了一个函数add,那么在其他文件中就可以通过import test来引入这个模块,然后通过test.add()来调用这个函数。
模块的分类主要有以下三种:
- 内置模块:Python解释器自带的模块,如math, os等。
- 第三方模块:需要手动安装的模块,可以通过pip install 模块名 来安装。
- 自定义模块:用户自己编写的模块,可以将程序中的公用功能抽取出来放到一个模块中供大家使用。
使用模块的好处主要有以下几点:
- 提高代码的可重用性和可维护性:通过将代码组织成模块,可以使代码更加清晰、易于理解和维护。同时,通过将一些常用功能封装到模块中,可以避免重复编写相同的代码。
- 简化代码:通过将代码分解为多个模块,可以使每个模块的功能更加单一、职责更加明确,从而降低代码的复杂度。
- 方便团队协作:通过将代码划分为多个模块,可以使不同开发人员专注于不同的模块开发,提高开发效率。同时,也方便代码的共享和交流。
- 扩展功能:通过自定义模块,可以将一些通用的功能封装到模块中,方便后续项目直接使用。同时,也可以通过引入第三方模块来扩展程序的功能。
2. 常用模块的使用
Python的os、re和csv模块是常用的模块,它们分别提供了操作系统相关功能、正则表达式处理和CSV文件处理的功能。下面分别介绍这三个模块的使用方法和相关介绍。
os模块
os模块是Python标准库之一,提供了许多与操作系统交互的函数。它可以让我们轻松地访问文件系统、环境变量和进程管理等功能。下面是一些常用的os模块函数:
* os.path.join:将多个路径组合成一个路径。 |
* os.listdir:列出指定目录下的所有文件和子目录。 |
* os.getcwd:获取当前工作目录。 |
* os.chdir:改变当前工作目录。 |
* os.environ:获取环境变量。下面是一个简单的例子: |
下面是一个简单的例子:
import os
# 获取当前工作目录
current_dir = os.getcwd()
print("Current directory:", current_dir)
# 改变当前工作目录
os.chdir("/path/to/directory")
print("Current directory:", os.getcwd())
re模块
re模块是Python标准库之一,提供了正则表达式相关的功能。它可以让我们使用正则表达式来匹配和处理字符串。下面是一些常用的re模块函数:
* re.match:匹配字符串是否符合正则表达式的规则。 |
* re.search:在字符串中搜索符合正则表达式的子串。 |
* re.findall:查找字符串中所有符合正则表达式的子串。下面是一个简单的例子: |
下面是一个简单的例子:
import re
# 匹配字符串是否符合正则表达式的规则
pattern = r"\d+" # 匹配一个或多个数字
string = "abc123def456"
match = re.match(pattern, string)
if match:
print("Match found:", match.group()) # 输出:Match found: 123456
else:
print("No match found.")
csv模块
csv模块是Python标准库之一,提供了CSV文件相关的处理功能。它可以让我们读取和写入CSV文件,并将数据按照表格形式进行读写。下面是一个简单的例子:
import csv
# 读取CSV文件并打印每行数据
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row) # 输出CSV文件的每一行数据
总结
Python的优点包括语法简单明了、高级语言易于学习、解释型语言可读性强、应用领域广泛、强大的库和框架、跨平台兼容性、丰富的文档和社区支持、可扩展性、动态类型系统以及优雅的语法和设计哲学。这些优点使得Python成为了一种流行的编程语言,并让越来越多的开发人员爱上了这种语言。无论你是初学者还是经验丰富的开发人员,Python都将成为你编程旅程中的得力助手。