目录
[一、Python 输入输出(I/O):简洁至上 vs C++ 的严谨性](#一、Python 输入输出(I/O):简洁至上 vs C++ 的严谨性)
[1. 输出:print () 函数 vs C++ 的 cout/printf](#1. 输出:print () 函数 vs C++ 的 cout/printf)
[二、Python 运算符:灵活丰富 vs C++ 的基础通用](#二、Python 运算符:灵活丰富 vs C++ 的基础通用)
[1. 算术运算符:简化运算 vs C++ 的基础实现](#1. 算术运算符:简化运算 vs C++ 的基础实现)
[2. 赋值运算符:更灵活 vs C++ 的基础赋值](#2. 赋值运算符:更灵活 vs C++ 的基础赋值)
[3. 比较运算符:新增身份判断 vs C++ 的基础比较](#3. 比较运算符:新增身份判断 vs C++ 的基础比较)
[4. 逻辑运算符:语法更直观 vs C++ 的符号表示](#4. 逻辑运算符:语法更直观 vs C++ 的符号表示)
[5. 特殊运算符:Python 专属(C++ 无对应)](#5. 特殊运算符:Python 专属(C++ 无对应))
前言:
作为编程入门的核心知识点,输入输出(I/O)和运算符是搭建程序逻辑的基础。Python 以简洁易用著称,而 C++ 则偏向底层和严谨,两者在这两部分的设计思路差异显著。本文将详细讲解 Python 的输入输出和运算符,并在关键节点与 C++ 对比,帮助你更深刻地理解 Python 的特性,同时巩固多语言思维。
一、Python 输入输出(I/O):简洁至上 vs C++ 的严谨性
输入输出是程序与用户交互的核心,Python 把 "简洁" 做到了极致,而 C++ 需要更多的语法约束和类型声明。
1. 输出:print () 函数 vs C++ 的 cout/printf
Python 的print()函数是通用输出工具,无需关注数据类型,一行代码即可完成大部分输出需求。
- **基础用法:**直接输出任意类型数据,无需类型转换、
python
print("Hello Python")
print(100 + 200)
name = "张三"
age = 20
print("姓名:", name, "年龄:", age)
# 结果:姓名: 张三 年龄: 20
- **格式化输出:**一种语法叫做"格式化字符串",此处的f表示"format",此时就可以使用{}这样的语法往字符串里嵌入变量或者表达式。
python
a = 10
print(f'a的值是{a}')
- **多输入处理:**一行输入多个值(用分隔符分割)
python
a, b, c = map(int, input("请输入三个数:").split())
print(a + b + c) # 输入:1 2 3 → 输出:6
C++ 输入需提前声明变量类型,cin自动匹配类型,scanf需指定格式符
cpp
int main()
{
string name;
int age;
float height;
// cin输入:自动匹配类型
cout << "请输入姓名:";
cin >> name;
cout << "请输入年龄:";
cin >> age;
// scanf输入:指定格式符
cout << "请输入身高:";
scanf("%f", &height);
// 多输入:一行输入多个值
int a, b, c;
cout << "请输入三个数:";
cin >> a >> b >> c;
cout << a + b + c << endl;
return 0;
}
核心差异:
- Python 的input()默认返回字符串,C++ 的cin/scanf直接按变量类型接收;
- Python 处理多输入需手动分割(split()),C++ 的cin可直接连续接收;
- Python 无需关注内存地址,C++ 的scanf需加&取地址符(除字符串外)。
补充:
input返回的值其实是一个str,如果只是单纯的拿到用户输入就直接打印就按照str打印即可,如果需要根据用户输入的内容进行算数运算,就需要把读到的str-》int

二、Python 运算符:灵活丰富 vs C++ 的基础通用
1. 算术运算符:简化运算 vs C++ 的基础实现
运算符是对数据进行运算的符号,Python 在 C++ 基础运算符的基础上,新增了特有的运算符(如成员运算符、身份运算符),并简化了部分运算逻辑。
|------|-------------------|----------------|------------------------------------|
| 运算符 | Python 用法 | C++ 用法 | 核心差异 |
| + | 加法 / 字符串拼接 | 加法 / 字符串拼接 | 一致 |
| - | 减法 | 减法 | 一致 |
| * | 乘法 / 字符串重复 | 乘法 | Python 支持"a"*3 → "aaa",C++ 需循环实现 |
| / | 浮点数除法(10/3=3.333) | 整数除法(10/3=3) | C++ 整数相除取整,Python 始终返回浮点数 |
| // | 整除(10//3=3) | 无 | Python 专属,向下取整,负数也适用(-10//3=-4) |
| % | 取模(10%3=1) | 取模 | Python 负数取模更合理(-10%3=2),C++ 返回 - 1 |
| ** | 幂运算(2**3=8) | 无(需 pow (2,3)) | Python 专属,无需调用函数 |
python
a = 10
print(10 / 3) # 3.3333333333333335
print(10 // 3) # 3
print(-10 // 3) #-4
print(2 ** 3) # 8
print("a" * 3) # "aaa"
print(10 % 3) #1
print(-10 % 3) # 2
cpp
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout << 10 / 3 << endl; // 3(整数除法)
cout << (double)10 / 3 << endl; // 3.33333
cout << pow(2, 3) << endl; // 8(需调用pow函数)
// C++无字符串重复运算符,需循环
string s = "a";
for (int i = 0; i < 2; i++) s += "a";
cout << s << endl; // "aaa"
cout << -10 % 3 << endl; // -1
return 0;
}
2. 赋值运算符:更灵活 vs C++ 的基础赋值
赋值运算符用于给变量赋值,Python 支持链式赋值、解包赋值,C++ 仅支持基础赋值和复合赋值。
python
# Python赋值运算符
# 链式赋值
a = b = 10
print(a, b) # 10 10
# 解包赋值
x, y = 10, 20
print(x, y) # 10 20
# 列表解包
nums = [1,2,3]
a,b,c = nums
print(a,b,c) # 1 2 3
# 复合赋值
a = 10
a += 5 # 等价于a = a+5
print(a) # 15
a /= 3 # 等价于a = a/3 → 5.0
print(a) # 5.0
cpp
// C++赋值运算符
#include <iostream>
using namespace std;
int main() {
// 链式赋值
int a = b = 10;
cout << a << " " << b << endl; // 10 10
// C++无解包赋值,需单独赋值
int x = 10, y = 20;
cout << x << " " << y << endl; // 10 20
// 复合赋值
int c = 10;
c += 5;
cout << c << endl; // 15
c /= 3; // 等价于c = c/3 → 5(整数除法)
cout << c << endl; // 5
return 0;
}
3. 比较运算符:新增身份判断 vs C++ 的基础比较
比较运算符用于判断两个值的关系,返回布尔值(True/False),Python 新增了is/is not(身份判断),C++ 无对应实现

python
a = 10
b = 10
c = [1,2,3]
d = [1,2,3]
print(a == b) # True(值相等)
print(a is b) # True(小整数池,内存地址相同)
print(c == d) # True(值相等)
print(c is d) # False(不同列表对象,内存地址不同)
print(c is not d) # True
cpp
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int a = 10, b = 10;
vector<int> c = {1,2,3}, d = {1,2,3};
cout << (a == b) << endl; // 1(true)
// C++判断内存地址需用&
cout << (&a == &b) << endl; // 0(false)
// C++无法直接比较vector内容,需循环
bool equal = true;
for(int i=0; i<3; i++) {
if(c[i] != d[i]) {
equal = false;
break;
}
}
cout << equal << endl; // 1(true)
return 0;
}
4. 逻辑运算符:语法更直观 vs C++ 的符号表示
逻辑运算符用于组合条件判断,Python 用英文单词,C++ 用符号,逻辑一致(均支持短路求值),对于and操作,如果左侧表达式为False,那整体的值一定是False,右侧不必求值;对于or操作来说,如果左侧表达式为True,那整体的值一定是True,右侧不必求值。

如下没有报错
python
a = 10
b = 20
print(a > b and 10 / 0 == 1)
5. 特殊运算符:Python 专属(C++ 无对应)
Python 新增了两类实用运算符,C++ 需通过函数 / 循环实现
成员运算符 :in/not in,判断元素是否在容器中
身份运算符 :is/is not,判断两个变量是否指向同一个对象,小整数池,内存地址相同
python
nums = [1,2,3]
print(2 in nums)
print(4 not in nums)
a = 10
b = 10
print(a is b)
print(a is not b)
三、总结
- 输入输出 :Python 的
input()/print()无需关注类型和格式,简洁易用;C++ 的cin/cout/scanf需强类型匹配,更严谨但代码量更大。 - 运算符 :
- Python 新增
//(整除)、**(幂)、in/not in(成员)、is/is not(身份)等便捷运算符,简化开发; - C++ 算术运算符更基础,需借助函数(如
pow)或循环实现 Python 的便捷功能; - 逻辑运算符 Python 用英文单词(and/or/not),C++ 用符号(&&/||/!),逻辑一致。
- Python 新增
- 设计思路:Python 追求 "极简" 和 "人性化",适合快速开发;C++ 追求 "底层控制" 和 "性能",适合高性能场景。
学习建议
- 新手优先掌握 Python 的输入输出(f-string 格式化、多输入处理)和核心运算符(算术、比较、逻辑);
- 对比 C++ 学习能更清晰理解 "动态类型"(Python)和 "静态类型"(C++)的差异;
- 实际开发中,Python 的
in/is、f-string 等特性能大幅提升开发效率,建议重点掌握。