# C++与Python的对比 与 Python基本语法 --- ### **1. 变量** **区别:** Python 不需要声明类型,它会自动推导,相当于前面加了C++的 `auto` 一样,并且也不需要分号 | C++ | Python | | :-------------------- | :------------------------------------------- | | `int a = 10;` | `a = 10` | | `float b = 3.14;` | `b = 3.14` | | `string s = "hello";` | `s = "hello"` | | `bool f = true;` | `f = True` (首字母需要大写与C++的true不一样) | --- ### **2. 输入输出 ** **输出:** | C++ | Python | | :---------------------- | :---------------- | | `cout << "Hello";` | `print("Hello")` | | `cout << "Num: " << a;` | `print("Num", a)` | **输入:** Python 的输入默认是字符串类型,如果要进行计算,需要手动强制类型转化 | C++ | Python | | :-------------------- | :----------------------------------------------------------- | | `string s; cin >> s;` | `s = input()` | | `int n; cin >> n;` | `n = int(input())` (必须强制类型转化为`int`才能用于数学计算) | --- ### **3. 判断语句** **区别:** 1. 没有括号 `()` 包围条件 2. 行尾必须加冒号 `:` 3. **没有大括号 `{}`,全靠缩进(通常为4个空格,可以使用Tab按键来快速缩进)来表示某个代码块** 4. `else if` 变成了 `elif` **C++:** ```cpp if (x > 0) { cout << "正数"; } else if (x == 0) { cout << "零"; } else { cout << "负数"; } ``` **Python:** ```python if x > 0: # 没括号,有冒号 print("正数") # 必须缩进,表示是属于 x > 0 的这个代码块 elif x == 0: # else if 变成 elif,并且回退缩进,从 x > 0 的代码块中退出 print("零") else: print("负数") ``` ### Python的缩进 你可以把缩进看作是**“文件目录的层级”** * 缩进越深,说明它属于越内部的逻辑 * 一旦缩进退回来,说明那个逻辑块结束了 **C++ (用花括号 `{}` 决定范围)** C++ 根本不在乎你有没有缩进,只要有 `{}` 就能跑。哪怕你写成一行也是对的(虽然很丑) ```cpp // C++ 即使写得乱七八糟,机器也能读懂,因为有 {} void fun() { if(isReady){ do(); } } ``` **Python (用缩进决定范围)** Python 没有 `{}`,**必须**靠缩进排版。如果你乱写,程序直接报错,或者逻辑完全变了 ```python # Python 必须写得整整齐齐 def fun(): # 函数下也必须缩进,代表函数的代码块范围 if is_ready: # 冒号代表下面要开始缩进来确定它自己的代码块范围了 do() # 这行缩进了,说明它属于 if print("Done") # 这行退回去一个缩进了,说明它不属于 if,但属于 fun 函数内部 print("Over") # 没有缩进,代表它不属于任何逻辑代码块的内部 ``` --- ### **4. 循环 ** #### **For 循环** **区别:** C++ 的 `for(int i=0; i