云计算百科
云计算领域专业知识百科平台

web后端安全

Python——“胶水语言”

定义:Python 是一种跨平台、解释型、通用、功能强大易于上手的高级编程语言

特点:

简洁易读与强制缩进: 语法接近自然语言,不需要复杂的括号和分号。通过强制缩进(Indentation)来划分代码块,这使得代码结构清晰,强制程序员写出规范、易读的代码。

动态类型: 变量无需提前声明类型(例如你可以直接写 x = 10,然后改成 x = "字符串"),类型在运行时自动推断,大大提高了开发效率,但也需要开发者注意类型安全。

解释型与跨平台: 它是解释型语言,无需编译即可直接运行,便于调试。同时具有极强的可移植性,只要安装了 Python 解释器,代码就可以在 Windows、macOS、Linux 等多种操作系统上无缝运行。

面向对象与多范式: 支持面向对象编程(类、继承、多态),同时也支持过程式编程和函数式编程(如 Lambda 表达式),开发者可以根据需求灵活选择。

“自带电池”与生态强大: Python 拥有极其丰富的标准库(涵盖文件、网络、正则等),以及海量的第三方库(如科学计算、Web框架、AI模型库),几乎任何需求都能找到现成的轮子。

应用领域:

web开发、数据科学、人工智能和机器学习、自动化运维和测试、游戏开发、系统运维

变量:

内存中某个对象的引用(Reference)。

常见变量:

数据类型 代码例子 说明
整数(int) age = 25 没有小数点的数字,正负均可。
浮点数(float) price = 19.99 带有小数点的数字。
字符串 (str) name = "Alice" 文本数据,用单引号 ' ' 或双引号 " " 括起来。
布尔值 (bool) is_ok = True 逻辑值,只有 True(真)和 False(假)两种状态。
列表 (list) fruits = ["A", "B"] 有序的可变集合,用方括号 [] 表示,可以装不同类型的数据。
元组 (tuple) point = (3, 5) 有序的不可变集合,用圆括号 () 表示,定义后不能修改。
字典 (dict) person = {"name": "Bob"} 键值对(Key-Value)集合,用花括号 {} 表示,像查字典一样通过键找值。
空值 (None) result = None 表示“什么都没有”的特殊类型,常用于初始化变量

数据类型-list\\tuple\\dict

list列表用[ ]标识,可以修改

 tuple元组用( )标识,是不可变序列, 只能读取,适合存储固定数据

 dict字典用{ }标识,以键值对形 式存在。

类型转换

Python f-string:是在字符串前加f或F修饰符,Python会自动将其值转换为字符串插入。

 允许在字符串中直接嵌入变量、表达式或函数调用的一种字符串格式化方法。

 语法:字符串前添加f,使用花括号{}包裹内容。

 另一种方式:+号拼接。

 注意:必须使用 str()将数字转换为字符串后,才能进行字符串连接

函数

函数(Function)是 Python 编程的核心构建块,也是实现代码复用和模块化的关键。你可以把它想象成一个“微波炉”:你把食材(输入)放进去,它按照预设的程序(处理逻辑)运行,最后产出热腾腾的食物(输出)。

定义函数的关键字:def

单值返回: 使用 return 语句返回一个结果。

流程控制

冒号 ::写在 if、elif、else 语句的末尾,表示接下来是代码块的开始。

缩进:Python 不使用大括号 {},而是使用缩进(通常为 4 个空格或 1 个 Tab)来表示代码块的归属注意: 同一代码块内的语句必须保持相同的缩进量。

条件语句——“交通指挥官”

单分支结构(if)

逻辑: 如果条件成立,就执行某段代码;不成立就跳过。 场景: 比如“如果余额不足,就提示充值”。

例子

balance = 50

if balance < 100:

    print("余额不足,请充值!") # 条件成立,会执行

双分支结构 (if-else)

逻辑: 二选一。如果条件成立执行 A,否则执行 B。 场景: 比如“如果登录成功,进入主页;否则提示密码错误”。

例子:

age = 18

if age >= 18:

    print("已成年,欢迎进入!")

else:

    print("未成年,禁止入内!")

多分支结构 (if-elif-else)

逻辑: 多选一。从上往下依次判断,哪个条件成立就执行哪个,如果都不成立执行最后的 else。 场景: 比如成绩评级、用户等级判断。

例子:

score = 85

if score >= 90:

    grade = "A (优秀)"

elif score >= 80: # 只有在第一个if不成立时,才会检查这个

    grade = "B (良好)"

elif score >= 70:

    grade = "C (中等)"

else:

    grade = "D (不及格)"

print(grade) # 输出: B (良好)

循环语句

while循环——未知次数的“守门员”

while 循环的核心逻辑是条件判断。只要条件为真(True),它就一直执行。当你不知道要循环多少次,只知道“什么时候停下来”时,就用 while 循环。

核心逻辑: “当条件满足时,就一直做某事。”

特点: 循环次数在开始前通常是未知的。必须在循环体内手动改变条件变量,否则容易造成“死循环”。

常用场景: 用户输入验证、游戏主循环、网络请求重试等。

例子:

password = ""

while password != "123456": # 只要密码不对,就一直循环

    password = input("请输入密码:")

print("登录成功!")

for循环——已知次数的“遍历器”

for 循环的核心任务是遍历(Iteration)。当你明确知道要处理多少个元素,或者要循环多少次时,就用 for 循环。

核心逻辑: “对于这个列表/范围里的每一个元素,我都执行一次操作“。

特点: 循环次数在开始前通常是已知的,且不需要手动管理计数器,代码不易出错。

常用搭档: range() 函数(生成数字序列)、列表、字符串、字典等可迭代对象。

例子:

for i in range(1, 6): # range(1, 6) 代表 1,2,3,4,5

    print(i)

类\\实例化\\魔术方法

类与实例化:蓝图与实体

类 (Class):它是创建对象的蓝图或模板。它定义了一类事物共有的属性(数据)和方法(行为)。比如,“人类”是一个类,它定义了人都有名字、年龄,都能说话。

实例化 (Instantiation):这是根据类创建具体对象的过程。这个过程会生成类的实例(Instance),也就是内存中的一个具体实体。

实例 (Instance):它是类的具体化表现。比如,根据“人类”这个蓝图,我们创建出“张三”这个具体的人。每个实例都有自己独立的属性值(如张三的年龄是 20,李四的年龄是 25)。

魔术方法:让类拥有“超能力”

定义:

魔术方法(Magic Methods),也叫特殊方法(Special Methods)或 Dunder Methods(Double Underscore),是 Python 为你预留的“钩子”。它们以双下划线开头和结尾(如 __init__),由 Python 解释器在特定时刻自动调用,让你的类能支持内置操作。

你不需要直接写 obj.__str__(),而是写 str(obj),Python 会自动触发它。

分类:

1、对象表示(让对象更好看):

__str__:定义 str(obj) 或 print(obj) 时的行为。面向用户,要求可读性强。

__repr__:定义 repr(obj) 时的行为。面向开发者,要求精确,最好能通过这个字符串重建对象。

2、数值与比较(让对象能计算)

__add__:定义 + 运算符的行为(如 obj1 + obj2)。

__eq__, __lt__, __gt__:定义 ==, <, > 比较运算符的行为。

3、容器行为(让对象像列表/字典)

__len__:定义 len(obj) 的返回值。

__getitem__ / __setitem__:定义 obj[key] 的取值和赋值行为。

4、可调用与上下文

__call__:让实例像函数一样被调用(obj())。

__enter__ / __exit__:支持 with 语句(上下文管理器)。

PHP与Pyton的区别

维度 PHP Python
主要定位 Web 开发专用(服务器端脚本 通用型语言(胶水语言),用途广泛
典型应用 网站后端、WordPress、电商系统 数据分析、AI/机器学习、自动化、Web 后端
语法风格 类似 C 语言,使用大括号 {} 和 $ 符号 强制缩进,代码简洁如伪代码
类型系统 弱类型(动态类型) 强类型(动态类型)
执行方式 嵌入 HTML 中执行 独立的脚本或应用
学习曲线 入门简单,但语法细节较多 极其平缓,非常适合编程初学者

Python的模块

系统模块

系统模块(也称为标准库模块或内置模块)是 Python 安装时自带的模块。你不需要额外安装,直接导入即可使用。它们就像是 Python 官方自带的“瑞士军刀”。

特点: 稳定、无需安装、跨平台。

常见模块及用途

os / sys:与操作系统交互,处理文件路径、命令行参数等。

math / random:数学计算和随机数生成。

datetime / time:处理日期和时间。

json:解析和生成 JSON 数据。

re:正则表达式,用于文本匹配。

subprocess:启动新进程,执行系统命令

自定义模块

自己写的模块。当你写了一个包含函数或类的 .py 文件,并希望在其他程序中复用它时,它就变成了一个自定义模块。

特点: 针对性强、便于团队协作、代码复用。

命名规则: 必须遵守标识符命名规则(不能以数字开头,不能包含特殊字符 – 等)。

使用方式: 将文件放在项目目录中,使用 import 导入。

第三方模块

第三方模块是由社区开发者编写并发布的模块。它们不在 Python 标准库中,需要通过包管理工具 pip 联网安装。这是 Python 生态强大的主要原因。

特点: 功能强大、更新快、需要安装。

安装方式: 在终端或命令行输入 pip install 模块名。

常见热门模块:

数据科学: NumPy(科学计算基石)、Pandas(数据分析)、Matplotlib(绘图)。

网络请求: Requests(比内置的 urllib 更优雅)。

Web 开发: Django(重量级框架)、Flask(轻量级框架)、FastAPI(现代异步框架)。

爬虫: Beautiful Soup、Scrapy。

人工智能: TensorFlow、PyTorch、Scikit-learn。

赞(0)
未经允许不得转载:网硕互联帮助中心 » web后端安全
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!