【Python】Python与C的区别

devtools/2025/1/11 14:54:53/

文章目录

    • 语句结束符
    • 代码块表示
    • 变量声明
    • 函数定义
    • 注释格式
    • Python的标识符
    • 数据输入input()函数
    • 数据输出print()函数

语句结束符

  • C 语言
    • C 语言中每条语句必须以分号;结束。例如,int a = 10;printf("Hello, World!");。分号是语句的一部分,用于告诉编译器一条语句在哪里结束。如果忘记添加分号,编译器会报错,提示语法错误。
  • Python 语言
    • Python 语句一般不需要特定的结束符。语句的结束通常是通过换行来表示的。例如,a = 10print("Hello, World!"),在代码的物理行结束就代表语句结束。不过,也可以使用分号;来在一行中写多条语句,如a = 10; b = 20,但这种用法并不常见,不符合 Python 的代码风格推荐。

代码块表示

  • C 语言
    • C 语言使用花括号{}来表示代码块。例如,在函数定义、条件语句(if - else)、循环语句(forwhile)等结构中,花括号内的所有语句构成一个代码块。例如:
if (a > 10) {printf("a is greater than 10");// 这里可以有多条语句
} else {printf("a is less than or equal to 10");
}

花括号明确界定了代码块的范围,即使代码块中只有一条语句,花括号也可以增强代码的可读性和可维护性,并且在一些编程规范中是被推荐使用的。

  • Python 语言
    • Python 使用缩进来表示代码块。例如,在if - elseforwhile等语句中,相同缩进级别的语句属于同一个代码块。通常使用 4 个空格或者一个制表符(\t)来缩进,不过在一个代码文件中应该保持缩进风格的统一。例如:
python">if a > 10:print("a is greater than 10")# 这里的语句和上面的print语句缩进相同,属于同一个代码块
else:print("a is less than or equal to 10")

缩进的严格要求使得 Python 代码的格式非常重要。如果缩进错误,会导致语法错误或者逻辑错误,因为 Python 是通过缩进来解析代码块结构的。

变量声明

  • C 语言
    • C 语言要求在使用变量之前必须先声明变量的类型。例如,int a;声明了一个整型变量a,可以在声明之后对其进行赋值等操作。而且 C 语言中的变量声明通常位于函数体的开头部分,虽然现代 C 标准(如 C99)允许在代码块的任何位置声明变量,但传统的编程风格还是倾向于在开头声明。
  • Python 语言
    • Python 是动态类型语言,不需要预先声明变量的类型。变量在第一次赋值时被创建。例如,a = 10,这里直接将整数 10 赋给变量a,Python 会自动推断a是一个整数类型的变量。而且变量可以在代码的任何位置进行赋值和重新赋值,其类型也可以根据赋值的值动态变化,如a = 10; a = "Hello",变量a的类型从整数变为了字符串。

函数定义

  • C 语言
    • C 语言函数定义有比较严格的格式。函数头包括返回类型、函数名和参数列表,参数列表中需要明确每个参数的类型。例如:
int add(int a, int b) {return a + b;
}

函数的返回类型必须在函数定义的开头明确指定,函数体用花括号包围,函数内部通过return语句返回一个值,其类型必须与函数定义的返回类型兼容。

  • Python 语言
    • Python 函数定义使用def关键字。例如:
python">def add(a, b):return a + b
  • 不需要指定返回类型,Python 会根据return语句返回的值自动确定函数的返回类型。参数也不需要指定类型,同样是在函数调用时根据传入的值来确定参数的类型。而且 Python 函数可以返回多个值,例如return a, b,这在 C 语言中通常需要通过结构体等方式来实现类似的功能。

注释格式

  • C 语言
    • C 语言有两种注释方式。一种是单行注释,使用//,这种注释方式从//开始到本行结束的内容都被视为注释。另一种是多行注释,使用/*开始和*/结束,在这两个符号之间的所有内容都是注释,这种方式可以用于注释多行内容。例如:
// 这是一个单行注释
int a = 10; /* 这是一个多行注释
可以包含多行内容 */
  • Python 语言
    • Python 也有单行注释和多行注释。单行注释使用#,从#开始到本行结束的内容是注释。多行注释可以使用三个单引号'''或者三个双引号"""包围注释内容。例如:
python"># 这是一个单行注释
a = 10
"""这是一个多行注释
可以包含多行内容"""
  • #号和注释内容一般建议以一个空格隔开
  • 单行注释一般用于对一行或一小部分代码进行解释; 多行注释一般对:Python文件、类或方法进行解释

Python的标识符

是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。

  1. 标识符命名规则:

内容限定

在这里插入图片描述

大小写敏感

在这里插入图片描述

不可使用关键字

在这里插入图片描述

2.变量命名规范

见名知意

在这里插入图片描述

下划线命名法

在这里插入图片描述

小写

在这里插入图片描述

数据输入input()函数

python">变量名=input(提示内容)

• 使用 input() 语句可以从键盘获取输入

• 使用一个变量接收(存储) input 语句获取的键盘输入数据即可

• 要注意,无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型,需要自行进行转换

python">print("请问你是谁")
name = input ()
print(f"Get!!! 你是{name}")

input()语句其实是可以在要求使用者输入内容前,输出提示内容的哦,方式如下:

python">name = input ("请问你是谁 ")
print(f"Get!!! 你是{name}")

数据输出print()函数

输出内容自动换行

不换行输出

python">print("Hello",end='')
print("world",end='')
'''运行结果:
Helloworld'''

对齐输出

制表符\t

在字符串中,有一个特殊符号,效果等同于在键盘上按下:tab键

它可以让我们的多行字符串进行对齐

python">print("Hello world")
print("good night")
print("Hello\tworld")
print("good\tnight")
'''运行结果:
Hello world
good night
Hello	world
good	night'''

http://www.ppmy.cn/devtools/149631.html

相关文章

面试:类模版中函数声明在.h,定义在.cpp中,其他cpp引用引入这个头文件,会有什么错误?

1、概述 类模版中函数声明在.h&#xff0c;定义在.cpp中&#xff0c;其他cpp引用引入这个头文件&#xff0c;会有什么错误?报编译错误&#xff1a;error C2512: Demo<int>: no appropriate default constructor available 举例如下代码&#xff1a;demo.h 声明模版类 …

智元机器人完成 1000 台通用具身机器人下线

2025 年 1 月 6 日&#xff0c;智元机器人宣布其量产的第 1000 台通用具身机器人正式下线245。此次下线的机器人中&#xff0c;双足人形机器人 731 套&#xff0c;型号为远征 A2、灵犀 X1&#xff1b;轮式通用机器人 269 套&#xff0c;型号为远征 A2-D、A2-W57。 智元机器人位…

HarMonyOS 鸿蒙系统使用 Grid构建网格

网格布局是由“行”和“列”分割的单元格所组成&#xff0c;通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力&#xff0c;子组件占比控制能力&#xff0c;是一种重要自适应布局&#xff0c;其使用场景有九宫格图片展示、日历、计算器等。 Ar…

解决nginx多层代理后应用部署后访问发现css、js、图片等样式加载失败

一般是采用前后端分离部署方式&#xff0c;被上一层ng代理后&#xff0c;通过域名访问报错&#xff0c;例如&#xff1a;sqx.com.cn/应用代理路径。 修改nginx配置&#xff0c;配置前端页面的路径&#xff1a; location / {proxy_pass http://前端页面所在服务器的IP:PORT;pro…

RT-Thread Studio中的静态线程是什么

RT-Thread Studio中的静态线程是RT-Thread实时操作系统中线程的一种创建方式。以下是对RT-Thread Studio中静态线程的详细解释&#xff1a; 一、定义与特点 定义&#xff1a; 静态线程是在编译时就确定了线程的数量和属性&#xff0c;将线程的控制块和堆栈空间预分配好&#x…

js装饰器模式

装饰器模式是一种结构型设计模式&#xff0c;它允许你在不改变对象结构的情况下&#xff0c;动态地给对象添加新的行为或职责。 装饰器模式通过创建一个装饰器类&#xff0c;来包装原始对象&#xff0c;并在不改变原始对象的基础上&#xff0c;为其添加新的功能。装饰器类和原始…

【Linux】gawk编辑器

一、基本介绍 相较于sed编辑器来说&#xff0c;gawk提供了一种编程语言&#xff0c;而不仅仅是编辑器命令。 在gawk编程语言中&#xff0c;可以实现以下操作&#xff1a; 定义变量来保存数据&#xff1b;使用算术和字符串运算符来处理数据&#xff1b;使用结构化编程语法&…

自动化巡检系统如何提高运维效率?

一、自动化巡检系统简介 &#xff08;一&#xff09;定义与基本原理 自动化巡检系统是一种借助先进的信息技术&#xff0c;旨在对各类系统进行高效、精准监测的智能化工具。它主要依靠预设的脚本、专业的监测工具以及相关的软件模块&#xff0c;按照既定的规则和流程&#xff0…