【Python 速览 】 —— 课前甜点,打开你的味蕾

【Python 速览 】 —— 课前甜点,打开你的味蕾
欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡
本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创📩!欢迎评论区留言交流🌟
个人主页 👉 ZyyOvO
本文专栏➡️Python 算法研究所
请添加图片描述

各位于晏,亦菲请阅

前言

Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

Python 官网 上免费提供了 Python 解释器和扩展的标准库,包括源码和适用于各操作系统的机器码形式,并可自由地分发。Python 官网还包含许多免费的第三方 Python 模块、程序和工具发布包及文档链接。

Python 解释器易于扩展,使用 CC++(或其他 C 能调用的语言)即可为 Python 扩展新功能和数据类型。Python 也可用作定制软件中的扩展程序语言。

本教程只是简单介绍了 Python 语言概念和功能。读者在阅读本教程时最好使用 Python 解释器以便随时动手练习。本教程中的所有示例都是相互独立的并可离线阅读。

本教程对每一个功能的介绍并不完整,甚至没有涉及全部常用功能,只是介绍了 Python 中最值得学习的功能,旨在让读者快速感受一下 Python 的特色。学完本教程的读者可以阅读和编写 Python 模块和程序,也可以继续学习 Python 标准库。


课前甜点

如果您的工作主要是用电脑完成的,总有一天您会想能不能自动执行一些任务。比如,对大量文本文件执行查找、替换操作;利用复杂的规则重命名、重排序一堆照片文件;也可能您想编写一个小型数据库、或开发专用的图形界面应用,甚至是开发一个简单的游戏。

作为一名专业软件开发人员,您可能要处理 C/C++/Java 库,但编码、编译、测试、再编译这些开发流程太慢了;也许您正在给这些库开发测试套件,但总觉得这项工作真是枯燥乏味。又或许,您开发了个使用扩展语言的软件,却不想为这个软件专门设计一种新语言。

那么,Python 正好能满足您的需要。

你可以针对这些任务编写 Unix shell 脚本或 Windows 批处理文件,但 shell 脚本擅长的是移动文件和改变文本数据,而不适合编写 GUI 应用或游戏。 你可以编写 C/C++/Java 程序,但即使只完成一个初始版程序也需要耗费很长的开发时间。 Python 则更为简单易用,同时支持 Windows, macOSUnix 操作系统,并能帮助你更快速地完成工作。

Python 虽然简单易用,但它可是真正的编程语言,提供了大量的数据结构,也支持开发大型程序,远超 shell 脚本或批处理文件;Python 提供的错误检查比 C 还多;作为一种“非常高级的语言”,它内置了灵活的数组与字典等高级数据类型。正因为配备了更通用的数据类型,Python比 Awk,甚至 Perl能解决更多问题,而且,很多时候,Python 比这些语言更简单。

Python 支持把程序分割为模块,以便在其他 Python 程序中复用。它还内置了大量标准模块,作为开发程序的基础 —— 您还可以把这些模块当作学习 Python 编程的实例。这些模块包括 I/O、系统调用、套接字,甚至还包括 Tk 图形用户界面工作套件。

Python 是一种 解释型语言 ,不需要编译和链接,可以节省大量开发时间。它的解释器实现了交互式操作,轻而易举地就能试用各种语言功能,编写临时程序,或在自底向上的程序开发中测试功能。同时,它还是一个超好用的计算器。

Python 程序简洁、易读,通常比实现同种功能的 C、C++、Java 代码短很多,原因如下:

  • 高级数据类型允许在单一语句中表述复杂操作;
  • 使用缩进,而不是括号实现代码块分组;
  • 无需预声明变量或参数。

Python “可以扩展”:会开发 C 语言程序,就能快速上手为解释器增加新的内置函数或模块,不论是让核心程序以最高速度运行,还是把 Python 程序链接到只提供预编译程序的库(比如,硬件图形库)。只要下点功夫,就能把 Python 解释器和用 C 开发的应用链接在一起,用它来扩展和控制该应用。

顺便提一句,Python语言的命名源自 BBC 的 “Monty Python 飞行马戏团”,与爬行动物无关(Python 原义为“蟒蛇”)

本教程的其他部分将利用各种示例,介绍 Python 语言、系统的功能,开始只是简单的表达式、语句和数据类型,然后是函数、模块,最后,介绍一些高级概念,如,异常、用户定义的类等功能。


Python解释器

唤出解释器

在可用的机器上 Python 解释器通常被安装为 /usr/local/bin/python3.13;将 /usr/local/bin 加入你的 Unix shell 搜索路径就可以通过键入以下命令来启动它:

python3.13 

这样,就可以在 shell 中运行 Python 了 。因为可以选择安装目录,解释器也有可能安装在别的位置;如果还不明白,就去问问身边的 Python 大神或系统管理员。(例如,常见备选路径还有 /usr/local/python。)

在 Windows机器上当你从 Microsoft Store 安装 Python 之后,python3.13 命令将可使用。 如果你安装了 py.exe 启动器,你将可以使用 py 命令。

在这里插入图片描述

在主提示符中,输入文件结束符(Unix 里是 Control-D,Windows里是 Control-Z),就会退出解释器,退出状态码为 0。如果不能退出,还可以输入这个命令:quit()。

在这里插入图片描述

在支持 GNU Readline 库的系统中,解释器的行编辑功能包括交互式编辑、历史替换、代码补全等。检测是否支持命令行编辑最快速的方式是,在首次出现 Python 提示符时,输入 Control-P。听到“哔”提示音,说明支持行编辑;请参阅附录 交互式编辑和编辑历史,了解功能键。如果没有反应,或回显了 ^P,则说明不支持行编辑;只能用退格键删除当前行的字符。

解释器的操作方式类似 Unix Shell:用与 tty 设备关联的标准输入调用时,可以交互式地读取和执行命令;以文件名参数,或标准输入文件调用时,则读取并执行文件中的 脚本。

另一种启动解释器的方式是 python -c command [arg] ...,这将执行 command 中的语句,相当于 shell 的 -c 选项。 由于 Python 语句经常包含空格或其他会被 shell 特殊对待的字符,通常建议用引号将整个 command 括起来。

Python 模块也可以当作脚本使用。输入:python -m module [arg] ...,会执行 module 的源文件,这跟在命令行把路径写全了一样。

在交互模式下运行脚本文件,只要在脚本名称参数前,加上选项 -i 就可以了。


传入参数

解释器读取命令行参数,把脚本名与其他参数转化为字符串列表存到 sys 模块的 argv 变量里。执行 import sys,可以导入这个模块,并访问该列表。该列表最少有一个元素;未给定输入参数时,sys.argv[0] 是空字符串。给定脚本名是 '-' (标准输入)时,sys.argv[0]'-'。使用 -c command 时,sys.argv[0]‘c’。如果使用选项 -m module,sys.argv[0] 就是包含目录的模块全名。解释器不处理 -c command 或 -m module 之后的选项,而是直接留在 sys.argv 中由命令或模块来处理。


交互模式

在终端(tty)输入并执行指令时,解释器在 交互模式(interactive mode) 中运行。在这种模式中,会显示 主提示符,提示输入下一条指令,主提示符通常用三个大于号(>>>)表示;输入连续行时,显示 次要提示符,默认是三个点(...)。进入解释器时,首先显示欢迎信息、版本信息、版权声明,然后才是提示符:

python3.13 Python 3.13(default, April 42023, 09:25:04)[GCC 10.2.0] on linux Type "help", "copyright", "credits" or "license"formore information. >>>

输入多行架构的语句时,要用连续行。以 if 为例:

the_world_is_flat = True if the_world_is_flat: print("Be careful not to fall off!")

解释器的运行环境

源文件的字符编码

默认情况下,Python 源码文件的编码是 UTF-8。这种编码支持世界上大多数语言的字符,可以用于字符串字面值、变量、函数名及注释 —— 尽管标准库只用常规的 ASCII 字符作为变量名或函数名,可移植代码都应遵守此约定。要正确显示这些字符,编辑器必须能识别 UTF-8 编码,而且必须使用支持文件中所有字符的字体。

如果不使用默认编码,则要声明文件的编码,文件的 第一 行要写成特殊注释。句法如下:

# -*- coding: encoding -*-

其中,encoding 可以是 Python 支持的任意一种 codecs。

比如,声明使用 Windows-1252 编码,源码文件要写成:

# -*- coding: cp1252 -*-

第一行 的规则也有一种例外情况,源码以 UNIX “shebang” 行 开头。此时,编码声明要写在文件的第二行。例如:

#!/usr/bin/env python3# -*- coding: cp1252 -*-

注意:

Unix 系统中,为了不与同时安装的 Python 2.x 冲突,Python 3.x 解释器默认安装的执行文件名不是 python。


Python注释

Python 注释以 # 开头,直到该物理行结束。注释可以在行开头,或空白符与代码之后,但不能在字符串里面。字符串中的 # 号就是 # 号注释用于阐明代码,Python 不解释注释,键入例子时,可以不输入注释。

示例如下:

# 这是第一条注释 spam =1# 而这是第二条注释# ... 而这是第三条! text ="# 这不是注释因为它是在引号之内。"

Python用作计算器

数字

解释器像一个简单的计算器:你可以输入一个表达式,它将给出结果值。 表达式语法很直观:运算符 +, -, */ 可被用来执行算术运算;圆括号 (()) 可被用来进行分组。 例如:

2+250-5*6(50-5*6)/48/5# 除法运算总是返回一个浮点数

整数(如,2、4、20 )的类型是 int,带小数(如,5.0、1.6 )的类型是 float。本教程后半部分将介绍更多数字类型。

除法运算 (/) 总是返回浮点数。 如果要做 floor division 得到一个整数结果你可以使用 // 运算符;要计算余数你可以使用 %:

17/3# 经典除法运算返回一个浮点数17//3# 向下取整除法运算会丢弃小数部分17%3# % 运算返回相除的余数5*3+2# 向下取整的商 * 除数 + 余数

Python 用 ** 运算符计算乘方

5**2# 5 的平方2**7# 2 的 7 次方

等号(=)用于给变量赋值。赋值后,下一个交互提示符的位置不显示任何结果:

width =20 height =5*9 width * height 

如果变量未定义(即,未赋值),使用该变量会提示错误:

n # 试图访问一个未定义的变量 Traceback (most recent call last): File "<stdin>", line 1,in<module> NameError: name 'n'isnot defined 

Python 全面支持浮点数;混合类型运算数的运算会把整数转换为浮点数:

4*3.75-1

交互模式下,上次输出的表达式会赋给变量 _。把 Python 当作计算器时,用该变量实现下一步计算更简单,例如:

tax =12.5/100 price =100.50 price * tax price + _ round(_,2)

最好把该变量当作只读类型。不要为它显式赋值,否则会创建一个同名独立局部变量,该变量会用它的魔法行为屏蔽内置变量。

除了 intfloat,Python 还支持其他数字类型,例如 Decimal 或 Fraction。Python 还内置支持 复数,后缀 j 或 J 用于表示虚数(例如 3+5j )。


文本

除了数字 Python 还可以操作文本(由 str 类型表示,称为“字符串”)。 这包括字符 “!”, 单词 “rabbit”, 名称 “Paris”, 句子 “Got your back.” 等等. “Yay! 😃”。 它们可以用成对的单引号 ('...') 或双引号 ("...") 来标示,结果完全相同

'spam eggs'# single quotes"Paris rabbit got your back :)! Yay!"# double quotes'1975'# digits and numerals enclosed in quotes are also strings

要标示引号本身,我们需要对它进行“转义”,即在前面加一个 \。 或者,我们也可以使用不同类型的引号:

'doesn\'t'# 使用 \' 来转义单引号..."doesn't"# ...或者改用双引号'"Yes," they said.'"\"Yes,\" they said."'"Isn\'t," they said.'

在 Python shell 中,字符串定义和输出字符串看起来可能不同。 print() 函数会略去标示用的引号,并打印经过转义的特殊字符,产生更为易读的输出:

s ='First line.\nSecond line.'# \n 表示换行符 s # 不用 print(),特殊字符将包括在字符串中print(s)# 用 print(),特殊字符会被转写,因此 \n 将产生一个新行

如果不希望前置 \ 的字符转义成特殊字符,可以使用 原始字符串,在引号前添加 r 即可:

print('C:\some\name')# 这里 \n 表示换行符!print(r'C:\some\name')# 请注意引号前的 r

原始字符串还有一个微妙的限制:一个原始字符串不能以奇数个 \ 字符结束;

字符串文字可以跨越多行。一种方法是使用三重引号:"""..."""'''...''' 。行尾会自动包含在字符串中,但可以通过在行尾添加 \ 来避免这种情况。 在下面的示例中,不包含首行换行符::

print("""\ Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """)

字符串可以用 + 合并(粘到一起),也可以用 * 重复:

# 3 乘以 'un',再加 'ium'3*'un'+'ium'

相邻的两个或多个 字符串字面值 (引号标注的字符)会自动合并:

'Py''thon''Python'

拼接分隔开的长字符串时,这个功能特别实用:

text =('Put several strings within parentheses ''to have them joined together.') text 'Put several strings within parentheses to have them joined together.'

这项功能只能用于两个字面值,不能用于变量或表达式:

prefix ='Py' prefix 'thon'# 不能拼接变量和字符串字面值 File "<stdin>", line 1 prefix 'thon'^^^^^^ SyntaxError: invalid syntax ('un'*3)'ium' File "<stdin>", line 1('un'*3)'ium'^^^^^ SyntaxError: invalid syntax 

合并多个变量,或合并变量与字面值,要用 +

合并多个变量,或合并变量与字面值,要用 +: 

字符串支持 索引 (下标访问),第一个字符的索引是 0。单字符没有专用的类型,就是长度为一的字符串:

word ='Python' word[0]# 0 号位的字符'P' word[5]# 5 号位的字符'n'

索引还支持负数,用负数索引时,从右边开始计数:

word[-1]# 最后一个字符'n' word[-2]# 倒数第二个字符'o' word[-6]'P'

注意,-00 一样,因此,负数索引从 -1 开始。

除了索引操作,还支持 切片。 索引用来获取单个字符,而 切片 允许你获取子字符串:

word[0:2]# 从 0 号位 (含) 到 2 号位 (不含) 的字符'Py' word[2:5]# 从 2 号位 (含) 到 5 号位 (不含) 的字符'tho'

切片索引的默认值很有用;省略开始索引时,默认值为 0,省略结束索引时,默认为到字符串的结尾:

word[:2]# 从开头到 2 号位 (不含) 的字符'Py' word[4:]# 从 4 号位 (含) 到末尾'on' word[-2:]# 从倒数第二个 (含) 到末尾'on'

注意,输出结果包含切片开始,但不包含切片结束。因此,s[:i] + s[i:] 总是等于 s:

word[:2]+ word[2:]'Python' word[:4]+ word[4:]'Python'

还可以这样理解切片,索引指向的是字符 之间 ,第一个字符的左侧标为 0,最后一个字符的右侧标为 n ,n 是字符串长度。例如:

+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0123456-6-5-4-3-2-1

第一行数字是字符串中索引 0…6 的位置,第二行数字是对应的负数索引位置。i 到 j 的切片由 i 和 j 之间所有对应的字符组成。

对于使用非负索引的切片,如果两个索引都不越界,切片长度就是起止索引之差。例如, word[1:3] 的长度是 2。

索引越界会报错:

word[42]# word 只有 6 个字符 Traceback (most recent call last): File "<stdin>", line 1,in<module> IndexError: string index out of range

但是,切片会自动处理越界索引:

word[4:42]'on' word[42:]''

Python 字符串不能修改,是 immutable 的。因此,为字符串中某个索引位置赋值会报错:

word[0]='J' Traceback (most recent call last): File "<stdin>", line 1,in<module> TypeError:'str'object does not support item assignment word[2:]='py' Traceback (most recent call last): File "<stdin>", line 1,in<module> TypeError:'str'object does not support item assignment 

要生成不同的字符串,应新建一个字符串:

'J'+ word[1:]'Jython' word[:2]+'py''Pypy'

内置函数 len() 返回字符串的长度:

s ='supercalifragilisticexpialidocious'len(s)34

列表

Python 支持多种 复合 数据类型,可将不同值组合在一起。最常用的 列表 ,是用方括号标注,逗号分隔的一组值。列表 可以包含不同类型的元素,但一般情况下,各个元素的类型相同:

squares =[1,4,9,16,25] squares [1,4,9,16,25]

和字符串(及其他内置 sequence 类型)一样,列表也支持索引和切片:

squares[0]# 索引操作将返回条目1 squares[-1]25 squares[-3:]# 切片操作将返回一个新列表[9,16,25]

列表还支持合并操作:

squares +[36,49,64,81,100][1,4,9,16,25,36,49,64,81,100]

immutable 字符串不同, 列表是 mutable类型,其内容可以改变:

cubes =[1,8,27,65,125]# 这里有点问题4**3# 4 的立方是 64,不是 65!64 cubes[3]=64# 替换错误的值 cubes [1,8,27,64,125]

你也可以在通过使用 list.append() 方法,在列表末尾添加新条目(我们将在后面介绍更多相关的方法):

cubes.append(216)# 添加 6 的立方 cubes.append(7**3)# 和 7 的立方 cubes [1,8,27,64,125,216,343]

Python 中的简单赋值绝不会复制数据。 当你将一个列表赋值给一个变量时,该变量将引用现有的列表。你通过一个变量对列表所做的任何更改都会被引用它的所有其他变量看到。:

rgb =["Red","Green","Blue"] rgba = rgb id(rgb)==id(rgba)# 它们指向同一个对象True rgba.append("Alph") rgb ["Red","Green","Blue","Alph"]

切片操作返回包含请求元素的新列表。以下切片操作会返回列表的浅拷贝:

correct_rgba = rgba[:] correct_rgba[-1]="Alph" correct_rgba ["Red","Green","Blue","Alph"] rgba ["Red","Green","Blue","Alph"]

为切片赋值可以改变列表大小,甚至清空整个列表:

letters =['a','b','c','d','e','f','g'] letters ['a','b','c','d','e','f','g']# 替换一些值 letters[2:5]=['C','D','E'] letters ['a','b','C','D','E','f','g']# 现在移除它们 letters[2:5]=[] letters ['a','b','f','g']# 通过用一个空列表替代所有元素来清空列表 letters[:]=[] letters []

内置函数 len() 也支持列表:

letters =['a','b','c','d']len(letters)4

还可以嵌套列表(创建包含其他列表的列表例如:

a =['a','b','c'] n =[1,2,3] x =[a, n] x [['a','b','c'],[1,2,3]] x[0]['a','b','c'] x[0][1]'b'

走向编程的第一步

当然,我们还能用 Python 完成比二加二更复杂的任务。 例如,我们可以像下面这样写出 斐波那契数列 初始部分的子序列:

# 斐波那契数列:# 前两项之和即下一项的值 a, b =0,1while a <10:print(a) a, b = b, a+b 0112358

本例引入了几个新功能。

第一行中的 多重赋值:变量 a 和 b 同时获得新值 0 和 1最后一行又用了一次多重赋值,体现了,等号右边的所有表达式的值,都是在这一语句对任何变量赋新值之前求出来的——求值顺序为从左到右。

while 循环只要条件(这里是 a < 10)为真就会一直执行。Python 和 C 一样,任何非零整数都为真,零为假。这个条件也可以是字符串或列表类型的值,事实上,任何序列都可以:长度非零就为真,空序列则为假。示例中的判断只是最简单的比较。比较操作符的写法和 C 语言一样: < (小于)、 > (大于)、 == (等于)、 <= (小于等于)、 >= (大于等于)及 != (不等于)。

循环体 是 缩进的:缩进是 Python 组织语句的方式。在交互式命令行里,得为每个缩进的行输入空格(或制表符)。使用文本编辑器可以实现更复杂的输入方式;所有像样的文本编辑器都支持自动缩进。交互式输入复合语句时,要在最后输入空白行表示完成(因为解析器不知道哪一行代码是代码块的最后一行)。注意,同一块语句的每一行的缩进相同。

print() 函数输出给定参数的值。 除了可以以单一的表达式作为参数(比如,前面的计算器的例子),它还能处理多个参数,包括浮点数与字符串。 它输出的字符串不带引号,且各参数项之间会插入一个空格,这样可以实现更好的格式化操作,就像这样:

i =256*256print('The value of i is', i) The value of i is65536

关键字参数 end 可以取消输出后面的换行, 或用另一个字符串结尾:

a, b =0,1while a <1000:print(a, end=',') a, b = b, a+b 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

扩展阅读

文本序列类型 — str
字符串是 序列类型 ,支持序列类型的各种操作。

字符串的方法
字符串支持很多变形与查找方法。

f 字符串
内嵌表达式的字符串字面值。

格式字符串语法
使用 str.format() 格式化字符串。

printf 风格的字符串格式化
这里详述了用 % 运算符格式化字符串的操作。

本文小结

本文的话题到这里就结束了,后面的文章我们会展开讲解 Python的更多话题,流程控制语句,数据结构,类和对象等等… 感谢您的观看!

如果你觉得这篇文章对你有所帮助,请为我的博客 点赞👍收藏⭐️ 评论💬或 分享🔗 支持一下!你的每一个支持都是我继续创作的动力✨!🙏
如果你有任何问题或想法,也欢迎 留言💬 交流,一起进步📚!❤️ 感谢你的阅读和支持🌟!🎉
祝各位大佬吃得饱🍖,睡得好🛌,日有所得📈,逐梦扬帆⛵!

Read more

[Python] Windows中CMD输入python总是打开商店?教你彻底解决这个“陷阱”

[Python] Windows中CMD输入python总是打开商店?教你彻底解决这个“陷阱”

在 Windows 10 和 Windows 11 系统中,很多新手 Python 学习者可能都遇到过这样一个奇怪的问题:在命令提示符(CMD)中输入 python 命令时,不是打开 Python 解释器,而是直接跳转到微软商店。这是怎么回事?难道我操作错了? 别慌,这其实是 Windows 系统自身的“坑”,而不是你的错。本文将带你一步一步关闭这个陷阱式“别名”机制,并且教你正确安装可用的 Python 环境,让你轻松开启 Python 编程之旅! 一、为什么输入 python 会打开 Microsoft Store? 这其实是 Windows 系统自带的一种“别名映射”机制。当你在命令行中输入 python 或

By Ne0inhk
文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)

文科生封神!Python+AI 零门槛变现:3 天造 App,指令即收入(附脉脉 AI 沙龙干货)

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 一、前言:打破“AI是理科生专属”的迷思 * 二、行业新趋势:为什么文科生学Python+AI更有优势? * 2.1 文科生 vs 理科生:AI时代的核心竞争力对比 * 2.2 核心变现逻辑:靠Python+AI,“指令即收入” * 三、Python+AI零基础学习路径(文科生专属版) * 3.1 学习路径流程图 * 3.2 分阶段学习核心内容(新颖且落地) * 阶段1:Python核心基础(7天)—— 只学“AI开发必备” * 阶段2:AI大模型交互(10天)

By Ne0inhk
保姆级教程!VSCode 配置 Python 环境一篇就够

保姆级教程!VSCode 配置 Python 环境一篇就够

欢迎阅读我的文章!更多精彩内容,欢迎关注: • B站主页:🫱小枫Geek • 微信公众号:Procode   • 视频教程:🫱VSCode配置Python环境   前言 刚上大学,很多同学第一次接触编程,想用 Python 入门,却常常卡在环境配置上。今天带大家从 Python 安装 → VSCode 配置 → 运行代码,一步到位搞定,不踩坑! 一、下载安装 Python 1. 打开 Python 官网。 2. 在下载页面选择 Windows 系统版本。 3. 我们只需要下载 3.0 以上版本即可,这里以 Python 3.12 为例。 下载完成后开始安装: * 其他选项默认即可,点击下一步完成安装。 重点注意:一定要勾选

By Ne0inhk
SkyWalking - Python 应用追踪:基于 skywalking-python 的埋点

SkyWalking - Python 应用追踪:基于 skywalking-python 的埋点

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕SkyWalking这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * 🐍 SkyWalking - Python 应用追踪:基于 skywalking-python 的埋点 * 🧭 什么是 SkyWalking? * 🐍 Python 埋点基础:skywalking-python * 🔧 安装与配置 * 📡 示例一:Flask 应用自动追踪 * 🧵 示例二:手动埋点 —— 自定义 Span * 🔗 跨服务追踪:Python 与 Java 交互 * 🔄 上下文传播机制详解 * 📊 数据上报协议:gRPC vs HTTP * 🎯 性能影响评估 * 🧩 插件生态与框架支持 * 🧭 分布式追踪原理图解 * 🧪 示例三:异步任务追踪(Celery) *

By Ne0inhk