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"
- 常用数组 / 列表操作
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教程