Web 后端python

Web 后端python

Web 后端python

python

Python是一种功能强大且易于上手的高级编程语言
特点

  1. . 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单
  2. 易于阅读:Python 代码定义的更清晰
  3. 易于维护:Python的成功在于它的源代码是相当容易维护的
    应用领域:web开发、数据科学、人工智能和机器学习、 自动化运维
    和测试、游戏开发、系统运维

1. 基本语法

Python 最大的特点是无需声明变量类型,直接赋值即可(设置变量无需前缀)
单行注释:以“#”开始,到该行末尾结束

在这里插入图片描述


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

  • 允许在字符串中直接嵌入变量、表达式或函数调用的一种字符串格式化方法
  • 语法:字符串前添加f,使用大括号{}包裹内容
  • 另一种方式:+号拼接
    注意:必须使用 str()将数字转换为字符串后,才能进行字符串连接
    实际演示:
str_num = "123" int_num = int(str_num) # 字符串转换为整数 #str 字符串类型 int 整数类型 print(f"字符串 '{str_num}' 转换为整数: {int_num}") new_message = "我的分数是: " + str(int_num) #str(int_num) 数字类型转换为字符串类型 print(new_message) 输出: 字符串 '123' 转换为整数: 123 我的分数是: 123 

不同类型不能直接用+拼接在一串代码中,需转换为同一类型

在这里插入图片描述

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

ist列表

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

# 定义一个待办事项列表(列表中的项从左到右依次是0 1 2) todo_list = ["买牛奶", "取快递", "写代码"] # 添加新项 todo_list.append("运动30分钟") # 修改第二项 todo_list[1] = "取快递(顺丰)" print(todo_list) # 输出:['买牛奶', '取快递(顺丰)', '写代码'] # 删除第三项 del todo_list[2] print(todo_list) # 输出:['买牛奶', '取快递(顺丰)', '运动30分钟'] 输出: ['买牛奶', '取快递(顺丰)', '写代码', '运动30分钟'] ['买牛奶', '取快递(顺丰)', '运动30分钟'] 

tuple元组

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

# 定义个人核心信息元组 person_info = ("zs", "110101199001011234", "1990-01-01") print(person_info[0]) # 查看姓名 # 尝试修改元组元素(会报错,体现不可变性) person_info[1] = "110101199001015678" # TypeError: 'tuple' object does not support item assignment(这是报错显示) 输出:zs 

dict字典

dict字典用{ }标识,以一键一值两两相对的形式存在

# 定义通讯录字典 contact = {"zs": "13800138000"} # 新增联系人 contact["lisi"] = "13700137000" # 修改手机号 contact["wu"] = "13900139999" # 通过键取值 print(contact["zs"]) # 输出:13800138000 #查看字典 print(contact) 输出:{'zs': '13800138000', 'lisi': '13700137000', 'wu': '13900139999'} 

3. 流程控制-条件语句

核心规则:缩进!
Python 不使用大括号 {},而是依赖缩进(通常是 4 个空格)来定义
代码块
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进
空白数量
,这个必须严格执行

在这里插入图片描述


缩进数报错:

在这里插入图片描述

if语句

if语句:根据不同情况执行不同代码

在这里插入图片描述

while循环

while循环格式

# while 循环 count = 3 while count > 0: print(f"While倒计时: {count}") count -= 1 

while 条件 :重复执⾏的代码

在这里插入图片描述


注意:条件一直满足(死循环),会一直重复循环,电脑容易卡死

for循环

for 临时变量 in 容器 :重复执⾏的代码

# for 循环遍历范围 (左闭右开) for i in range(1, 6, 2): #数字2,第三个参数表示步长 print(f"For循环数字: {i}") 输出: For循环数字: 1 For循环数字: 3 For循环数字: 5 
在这里插入图片描述


循环遍历

# for 循环遍历范围 (左闭右开) for i in range(1, 6, 2): # 遍历 1, 2, 3, 4, 5 print(f"For循环数字: {i}") #遍历列表 fruits=["apple","banana","orange","peach","watermelon"] for fruit in fruits: # 遍历列表中的每个元素 print(fruit) # 遍历元组 tuple = ("zs", "110101199001011234", "1990-01-01") for tup in tuple: # 遍历元组中的每个元素 print(tup) #遍历字典 ;字典以一键一值两两相对的形式存在 iddict = {'name':'zs','age':'18'} #遍历字典的键 for key in iddict: #iddict 取的是键 print(key) #遍历字典的值 for value in iddict.values():#需要使用.values进行取值 print(value) 输出: For循环数字: 1 For循环数字: 3 For循环数字: 5 apple banana orange peach watermelon zs 110101199001011234 1990-01-01 name age zs 18 

4. 面向对象实战

Python函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段

在这里插入图片描述

自定义函数格式:

def 函数名(参数列表): # 函数体,包含一系列缩进的语句 return 返回值 # 可选,用于返回结果给调用者 

参数

# 打印指定信息 # 参数:执行函数时候,传递的额外信息,多个参数以逗号隔开 def print_hello(info,message): print(info) print(message) # 调用函数 print_hello("helloworld","你好,世界!") 输出: 你好,世界! helloworld 

类/实例化/魔术方法

class Dog: species = "犬科" # 类属性 #self 表示当前对象;通俗理解,谁来调用,self就表示谁 def __init__(self, name, age): # 构造函数:自动调用 self.name = name # 实例属性 self.age = age def bark(self): # 实例方法:手动调用 print(f"{self.name}在汪汪叫")#打印当前对象的属性 # return 语句用于从函数中返回一个值。 # 当函数执行到 return 语句时,它会立即停止执行,并将 return 后面的表达式的值作为结果返回。 def __str__(self): # 实例方法 return f"{self.name}今年{self.age}岁了" # 创建对象 dog1 = Dog("小黑", 3) dog1.bark() # 输出:小黑在汪汪叫;因为dog1调用的该方法,所以self就表示dog1 dog2 = Dog("小白", 3) dog2.bark() # 输出:小白在汪汪叫;因为dog2调用的该方法,所以self就表示dog2 # 当你对一个对象执行print() 操作时,Python 会自动查找并调用该对象的 `__str__` 方法 print(dog1) # 输出:小黑今年3岁了 print(dog2) # 输出:小白今年3岁了 # 1. 自动执行__str__魔术方法 2. return执行完方法后会返回一个值 3. 打印返回值 
# 单独解释参数和返回值 # 目的:求两个数的和 # 传递额外信息 def sum(a,b): num=a+b #加法运算 return num #返回运算后的结果 n=sum(2,3) #用一个变量,接收函数执行后的返回值 print(n) #输出变量的值 

Python中的魔术方法,也被称为双下划线方法或特殊方法,这些方法的名称前后都带有两个下划线,例如__init__、__str__等

  • 主要作用是为Python中的对象提供内置的、特殊的行为
  • 构造函数: 固定命名为 init(可以将类中需要外部赋值的放入到其中)
  • self: 必须是所有实例方法和构造函数的第一个参数,代表当前对象

PHP与Python核心区别

在这里插入图片描述

Python模块

Python模块:是包含Python代码的文件,其扩展名通常为.py

  • 模块是Python程序的基本组成部分,它们提供了封装代码的方式,使得代码更加组织化、易于重用和维护
  • 模块可以包含函数、类和变量,也可以包含可执行的代码
  • 常见模块类型:系统内置模块、自定义模块、第三方模块

1.系统内置模块

系统内置模块:是Python自带的标准库,它们提供了丰富的功能和工具,用于执行各种常见的任务。系统内置模块包括:os模块、sys模块、random模块、time模块
如:

#导入math模块 import math #求平方根 num=math.sqrt(4) num2=math.pow(2,3) print(num)#输出:2.0 print(num2)#输出:8.0 
在这里插入图片描述


指定使用模块中的某一个函数(只能使用你指定导入的函数)

2.自定义模块

自定义模块:开发者自己编写的模块,用于封装特定的功能或逻辑。自定义模块可以是任何有效的Python文件(以“.py”为后缀名),里面可以包含全局变量、函数、类等
第一步:自定义模块(注意:不与系统内置模块重名)

在这里插入图片描述


第二步:导入并使用自定义模块

在这里插入图片描述

3.第三方模块

第三方模块:是由其他开发者或组织编写的,并发布到Python包索引等公共仓库中的模块

  • pip 是 Python 中的标准库管理器。它允许你安装和管理不属于 Python标准库的其它软件包

在线安装:pip命令
- 注意:可以不更新pip

在这里插入图片描述


Python模块下载
pip install 库名
pip install 库名 -i 镜像源
-i 更换安装源 (默认是使用国外的源,下载速度慢)

在这里插入图片描述


requests库
requests 是Python常⽤的⽹络请求库,核⼼功能是模拟浏览器向⽹站发送请求、获取数据
第一步:pip install requests
下载的模块保存路径存在:Python\Python310\Lib\site-packages

在这里插入图片描述


第二步:导入第三方模块并使用

在这里插入图片描述


python模块
总结

在这里插入图片描述

oneforall

OneForAll 是一款基于 Python 开发的、功能全面的子域名信息收集与爆破工具
下载网址:oneforall

  • 可高效枚举目标域名的子域名、获取相关解析记录与资产信息

常用于网络安全渗透测试
安装:pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

在这里插入图片描述


在这里插入图片描述


使用:python oneforall.py --target 域名 run

在这里插入图片描述

Read more

上传本地文件(夹)代码到GitHub 超详细讲解最全命令集合(配图 适用全部)

下面我用最稳妥、最常用的方式,手把手教你把本地代码文件夹上传到 GitHub。不管你是第一次用 GitHub,还是之前总出错,按这个来基本不会翻车。 【注意】:https://github.com/beiyang366/LYVCSHOP  为作者的GitHub 仓库地址  一、准备工作(只需一次) 1️⃣ 注册 / 登录 GitHub 👉 https://github.com 登录即可(你应该已经有了) 2️⃣ 安装 Git(如果没装) 📥 下载地址(Windows / macOS / Linux): 👉 https://git-scm.com/ 安装完成后,打开 命令行 / Git Bash,输入: git --version 能看到版本号说明安装成功 ✅ 二、在

By Ne0inhk

DeepSeek-Coder-V2开源:128K上下文的AI编程利器

导语:深度求索(DeepSeek)正式开源新一代代码大模型DeepSeek-Coder-V2,以128K超长上下文、338种编程语言支持和比肩GPT-4 Turbo的性能,为开发者带来全新的AI编程体验。 【免费下载链接】DeepSeek-Coder-V2-Base开源代码智能利器DeepSeek-Coder-V2,性能比肩GPT4-Turbo,支持338种编程语言,128K代码上下文,助力编程如虎添翼。 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-Coder-V2-Base 行业现状:代码大模型进入"性能与开放"双轨竞争时代 随着生成式AI技术的快速发展,代码大模型已成为提升软件开发效率的关键工具。近年来,从GitHub Copilot到Cursor等基于大模型的编程辅助工具不断涌现,推动着开发范式的变革。据行业研究显示,配备AI辅助工具的开发者完成相同任务的效率平均提升30%以上,尤其在代码生成、调试和文档撰写方面表现突出。 当前市场呈现出"闭源商业模型"与"开源社区模型"并行发展的格局。闭源模

By Ne0inhk

VSCode Git工作树黑科技:3步实现高效多任务并行开发(开发者必看)

第一章:VSCode 后台智能体 Git 工作树 Visual Studio Code(VSCode)在现代开发流程中扮演着核心角色,其内置的 Git 集成能力极大提升了版本控制效率。通过后台运行的 Git 智能代理,VSCode 能实时监控工作树状态,自动刷新文件变更、分支差异与提交历史,无需手动执行 `git status` 或 `git log`。 工作树状态监控机制 VSCode 利用轻量级后台进程监听 `.git` 目录变化,结合文件系统事件(如 inotify on Linux),实现毫秒级响应。该机制支持以下功能: * 自动高亮已修改文件 * 显示行级变更标记(新增/删除/修改) * 实时更新分支对比视图 配置自定义 Git 路径 当系统存在多个 Git 版本时,

By Ne0inhk
Windows环境Git安装教程(下载Git安装包、安装Git、验证Git是否安装成功、设置名字和邮箱)

Windows环境Git安装教程(下载Git安装包、安装Git、验证Git是否安装成功、设置名字和邮箱)

文章目录 * 1. 下载Git安装包 * 1.1 通过清华大学开源软件镜像站下载(推荐) * 1.2 通过Git官网下载 * 1.3 通过联想电脑管家下载 * 2. 安装Git(一路点击Next即可) * 3. 验证Git是否安装成功 * 4. 设置个人信息(名字和邮箱) 1. 下载Git安装包 1.1 通过清华大学开源软件镜像站下载(推荐) 下载地址:https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/ https://mirrors.tuna.tsinghua.edu.cn/github-release/git-for-windows/git/ 点击 LatestRelease/ 目录 下载

By Ne0inhk