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

web后端知识(php和python)——第一阶段

文章目录

  • 一、基本语法对比
    • 1. 变量定义
    • 2. 数据类型
  • 二、控制结构对比
    • 1. 条件语句
    • 2. 循环语句
  • 三、函数定义对比
    • 1. 基本函数
    • 2. 带默认参数的函数
  • 四、数组 / 列表操作对比
    • 1. 数组 / 列表创建与访问
  • 五、文件操作对比
    • 1. 读取文件
    • 2. 写入文件
  • 六、总结

关于后端开发语言的学习,本文仅仅作为一个抛砖引玉的作用,主要从基础语法和核心操作的角度,对这两种语言进行对比分析,帮助读者理解它们的异同之处。

一、基本语法对比

1. 变量定义

两种语言都使用动态类型系统,但变量声明方式有所不同:

PHP:

$name = "John";
$age = 30;
$is_active = true;

Python:

name = "John"
age = 30
is_active = True

区别:PHP 变量必须以$符号开头,而 Python 不需要;Python 使用首字母大写的True/False表示布尔值,PHP 则使用小写的true/false。

2. 数据类型

两种语言都支持基本数据类型,但在细节上有差异:

PHP 数据类型:

  • 字符串:“Hello” 或 ‘Hello’
  • 整数:42
  • 浮点数:3.14
  • 布尔值:true/false
  • 数组:array(“apple”, “banana”) 或 [“apple”, “banana”]
  • 对象:需要先定义类
  • NULL:null

Python 数据类型:

  • 字符串:“Hello” 或 ‘Hello’
  • 整数:42
  • 浮点数:3.14
  • 布尔值:True/False
  • 列表(List):[“apple”, “banana”]
  • 元组(Tuple):(“apple”, “banana”)
  • 字典(Dictionary):{“name”: “John”, “age”: 30}
  • NoneType:None

Python 提供了更丰富的内置数据结构,如元组(不可变列表)和字典(键值对集合),而 PHP 的数组实际上是有序映射,可以同时作为列表和字典使用。

二、控制结构对比

1. 条件语句

PHP:

$score = 85;if ($score >= 90) {echo "优秀";
} elseif ($score >= 60) {echo "及格";
} else {echo "不及格";
}

Python:

score = 85if score >= 90:print("优秀")
elif score >= 60:print("及格")
else:print("不及格")

显著区别:Python 使用缩进(通常是 4 个空格)来界定代码块,而 PHP 使用花括号{};Python 的条件语句末尾需要冒号:。

php还包括switch语句,而python没有。

2. 循环语句

for 循环 - PHP:

// 遍历数组
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {echo $fruit . "\n";
}// 计数循环
for ($i = 0; $i < 5; $i++) {echo $i . "\n";
}

for 循环 - Python:

# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)# 计数循环
for i in range(5):print(i)

while 循环 - PHP:

$count = 0;
while ($count < 5) {echo $count . "\n";$count++;
}

while 循环 - Python:

count = 0
while count < 5:print(count)count += 1

Python 的for循环更简洁,尤其在遍历序列时;而 PHP 的foreach语法也专门针对数组遍历进行了优化。

三、函数定义对比

1. 基本函数

PHP:

function add($a, $b) {return $a + $b;
}echo add(3, 5); // 输出 8

Python:

def add(a, b):return a + bprint(add(3, 5))  # 输出 8

2. 带默认参数的函数

PHP:

function greet($name, $message = "Hello") {return "$message, $name!";
}echo greet("John"); // 输出 "Hello, John!"
echo greet("John", "Hi"); // 输出 "Hi, John!"

Python:

def greet(name, message="Hello"):return f"{message}, {name}!"print(greet("John"))  # 输出 "Hello, John!"
print(greet("John", "Hi"))  # 输出 "Hi, John!"

两种语言都支持默认参数,但 Python 3.8 + 引入的 f-string 使得字符串格式化更加简洁直观。

四、数组 / 列表操作对比

1. 数组 / 列表创建与访问

PHP:

// 创建数组
$fruits = array("apple", "banana", "cherry");
// 或简化语法
$fruits = ["apple", "banana", "cherry"];// 访问元素
echo $fruits[0]; // 输出 "apple"// 关联数组(键值对)
$person = ["name" => "John","age" => 30
];
echo $person["name"]; // 输出 "John"

Python:

# 创建列表
fruits = ["apple", "banana", "cherry"]# 访问元素
print(fruits[0])  # 输出 "apple"# 创建字典(键值对)
person = {"name": "John","age": 30
}
print(person["name"])  # 输出 "John"
  1. 常用数组 / 列表操作
    PHP 数组操作:
// 添加元素
$fruits[] = "date";
array_push($fruits, "elderberry");// 数组长度
echo count($fruits);// 数组排序
sort($fruits);

Python 列表操作:

# 添加元素
fruits.append("date")
fruits.extend(["elderberry"])# 列表长度
print(len(fruits))# 列表排序
fruits.sort()

Python 列表方法更加面向对象,而 PHP 使用全局函数处理数组。

五、文件操作对比

1. 读取文件

PHP:

// 读取整个文件
$content = file_get_contents("example.txt");
echo $content;// 逐行读取
$file = fopen("example.txt", "r");
while (!feof($file)) {$line = fgets($file);echo $line;
}
fclose($file);

Python:

# 读取整个文件
with open("example.txt", "r") as file:content = file.read()print(content)# 逐行读取
with open("example.txt", "r") as file:for line in file:print(line)

Python 的with语句提供了更安全的资源管理,会自动处理文件关闭,而 PHP 需要显式调用fclose()。

2. 写入文件

PHP:

// 写入内容
file_put_contents("output.txt", "Hello, World!");// 追加内容
file_put_contents("output.txt", "More content", FILE_APPEND);

Python:

# 写入内容
with open("output.txt", "w") as file:file.write("Hello, World!")# 追加内容
with open("output.txt", "a") as file:file.write("More content")

六、总结

通过基础语法和操作的对比,我们可以看到:

  • PHP语法更接近 C 语言风格,使用花括号和分号,变量前需加$符号,数组功能强大且灵活,原生支持 HTML 嵌入,非常适合 Web 开发。
  • Python语法简洁优雅,使用缩进来组织代码,可读性强,内置数据结构丰富,标准库功能完善,不仅适用于 Web 开发,还在数据分析、人工智能、自动化脚本等领域有广泛应用。

具体详细用法可参考php教程和python教程


文章转载自:

http://Gi3j793w.ztcwp.cn
http://0KwBFgOR.ztcwp.cn
http://FVLrQd3A.ztcwp.cn
http://Icevsenj.ztcwp.cn
http://tBPDaR7X.ztcwp.cn
http://5VttN8Vl.ztcwp.cn
http://0nCBhsk1.ztcwp.cn
http://YNVQR1Ru.ztcwp.cn
http://YyyvZMPM.ztcwp.cn
http://bfPPSGT9.ztcwp.cn
http://N2iPJYcM.ztcwp.cn
http://ImXYDoUR.ztcwp.cn
http://4C2k0QjC.ztcwp.cn
http://ACuuYiIi.ztcwp.cn
http://ShekSrb1.ztcwp.cn
http://dPGymGjW.ztcwp.cn
http://rq1CZw1T.ztcwp.cn
http://jI1sOg7L.ztcwp.cn
http://PnSrUoLq.ztcwp.cn
http://IrAXYVdK.ztcwp.cn
http://h4yj0eB4.ztcwp.cn
http://961607Y4.ztcwp.cn
http://IfMeqk4n.ztcwp.cn
http://2lSJAs2k.ztcwp.cn
http://jxSxBSxZ.ztcwp.cn
http://Pdx8mbfZ.ztcwp.cn
http://uXoNuFdk.ztcwp.cn
http://BQdBiWbH.ztcwp.cn
http://F79JgoXK.ztcwp.cn
http://hpt4sFuY.ztcwp.cn
http://www.dtcms.com/a/371385.html

相关文章:

  • 安卓学习 之 ProgressBar(进度条)控件
  • Python操作MySQL的两种姿势:原生SQL与ORM框架SQLAlchemy详解
  • TypeScript 核心语法与 Vue2 指令知识点
  • Java 14 开箱,新特性Record、instanceof、switch香香香香
  • HarmonyOS 应用开发新范式:深入探索 Stage 模型与 ArkUI 声明式开发
  • 跳转原生系统设置插件 支持安卓/iOS/鸿蒙UTS组件
  • 5-2EFCore性能优化
  • 《sklearn机器学习——管道和复合估计器》联合特征(FeatureUnion)
  • 大数据毕业设计选题推荐-基于大数据的贵州茅台股票数据分析系统-Spark-Hadoop-Bigdata
  • C++ 容器——unordered_xxx
  • 常见设计模式详解
  • 网络爬虫(web crawler)
  • 319章:使用Scrapy框架构建分布式爬虫
  • (LeetCode 面试经典 150 题) 67. 二进制求和(位运算、字符串)
  • 【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
  • 怎么用CXL加速数据库?· SIGMOD‘25
  • Day23_【机器学习—聚类算法—K-Means聚类 及评估指标SSE、SC、CH】
  • Uniapp 怎么修改项目图标和启动页
  • macos安装openjdk17
  • 像素图生成小程序开发全解析:从图片上传到Excel图纸
  • 运维服务方案,运维巡检方案,运维安全保障方案文件
  • 计算机网络相关
  • 【代码讲解】北通手柄遥控 + Mujoco 仿真 SO-ARM100 机械臂末端位姿
  • ARM 体系结构
  • 云平台面试内容(一)
  • React Hooks 钩子
  • js逆向之JSEncrypt的加密
  • Balabolka:免费高效的文字转语音软件
  • 第3天-Jenkins详解-3
  • Linux内核进程管理子系统有什么第四十三回 —— 进程主结构详解(39)