【Python】Python与C的区别

文章目录

    • 语句结束符
    • 代码块表示
    • 变量声明
    • 函数定义
    • 注释格式
    • 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)来缩进,不过在一个代码文件中应该保持缩进风格的统一。例如:
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关键字。例如:
def add(a, b):return a + b
  • 不需要指定返回类型,Python 会根据return语句返回的值自动确定函数的返回类型。参数也不需要指定类型,同样是在函数调用时根据传入的值来确定参数的类型。而且 Python 函数可以返回多个值,例如return a, b,这在 C 语言中通常需要通过结构体等方式来实现类似的功能。

注释格式

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

Python的标识符

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

  1. 标识符命名规则:

内容限定

在这里插入图片描述

大小写敏感

在这里插入图片描述

不可使用关键字

在这里插入图片描述

2.变量命名规范

见名知意

在这里插入图片描述

下划线命名法

在这里插入图片描述

小写

在这里插入图片描述

数据输入input()函数

变量名=input(提示内容)

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

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

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

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

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

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

数据输出print()函数

输出内容自动换行

不换行输出

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

对齐输出

制表符\t

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/66819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理解Unity脚本编译过程:程序集

https://docs.unity3d.com/Manual/script-compilation.html 关于Unity C#脚本编译的细节,其中一个比较重要的知识点就是如何自定义Assembly。 预定义的assembly 默认情况下,Unity会按照这个规则进行编译。 PhaseAssembly nameScript files1Assembly-…

ubuntu22.04 gcc,g++从10.5切换到低版本9.5

一、安装gcc-9.5 mkdir gcc cd gcc sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends gcc-9 | grep -v i386 | grep "^\w") sudo dpkg -i *.deb sudo…

统计有序矩阵中的负数

统计有序矩阵中的负数 描述 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目 示例 1: 输入:grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]…

Linux内核TTY子系统有什么(6)

接前一篇文章:Linux内核TTY子系统有什么(5) 本文内容参考: Linux TTY子系统框架-CSDN博客 一文彻底讲清Linux tty子系统架构及编程实例-CSDN博客 linux TTY子系统(3) - tty driver_sys tty device driver-CSDN博客 Linux TTY …

深入理解 Python 的多进程编程 (Multiprocessing)

在 Python 中,multiprocessing 模块提供了多进程支持,是处理并发任务的一个核心工具。与多线程不同,多进程可以突破 GIL(Global Interpreter Lock,全局解释器锁)的限制,充分利用多核 CPU 进行并…

《代码随想录》Day31打卡!

《代码随想录》贪心算法:合并区间 本题的完整题目如下所示: 本题的完整思路如下所示: 1.本题依然是先对数组的左边界进行排序。将数组的第一个元素赋值给current。 2.遍历数组,判断current中的右边界和当前元素的左边界是否有重叠…

windows及linux 安装 Yarn 4.x 版本

1. 确保系统环境准备 a. 安装 Node.js Yarn 依赖于 Node.js,所以需要先安装 Node.js。前往 Node.js 官网 下载并安装适合你的 Windows 版本的 Node.js(推荐 LTS 版本)。安装完成后,打开命令提示符(CMD)或 PowerShell,验证安装:node -v npm -v如果显示版本号,则表示安…

KL 散度:多维度解读概率分布间的隐秘 “距离”

深入理解KL散度:从多维度全面剖析 损失函数相关文章(置顶) 1. KL 散度:多维度解读概率分布间的隐秘 “距离” 2. 熵与交叉熵:从不确定性角度理解 KL 散度 3. 机器学习、深度学习关于熵你所需要知道的一切 引言 KL散即…

Spring bean的生命周期和扩展

bean生命周期流程 生命周期扩展处理说明实例化:createBeanInstance 构造方法, 如Autowired的构造方法注入依赖bean 如UserService构造方法注入AppDAO: Autowired public UserService(AppDAO appDAO) {System.out.println("Autowired appDAO:"…

node-sass@4.14.1报错的最终解决方案分享

输入npm i全安装文件所需的依赖的时候,博主是使用sass去书写的,使用的是node-sass4.14.1和sass-loader7.3.1的版本的,安装的时候老是出现错误, node-sass4.14.1版本不再被支持的原因 node-sass 是一个基于 LibSass 的 Node.js 绑…

设计模式(观察者模式)

设计模式(观察者模式) 第三章 设计模式之观察者模式 观察者模式介绍 观察者模式(Observer Design Pattern) 也被称为发布订阅模式 。模式定义:在对象之间定义一个一对多的依赖,当一个对象状态改变的时候…

将光源视角的深度贴图应用于摄像机视角的渲染

将光源视角的深度贴图应用于摄像机视角的渲染是阴影映射(Shadow Mapping)技术的核心步骤之一。这个过程涉及到将摄像机视角下的片段坐标转换到光源视角下,并使用深度贴图来判断这些片段是否处于阴影中。 1. 生成光源视角的深度贴图 首先&…

PyCharm 的安装与使用(Window)

1 PyCharm 简介 PyCharm 是一款由 JetBrains 公司开发的专门用于 Python 语言开发的集成开发环境(IDE)。以下是其相关介绍: 1.1 特点与功能 智能代码编辑:提供高度智能化的代码编辑器,支持语法高亮、自动补全、代码重…

(vue)el-table-column type=“selection“表格选框怎么根据条件添加禁选

(vue)el-table-column type"selection"表格选框怎么根据条件添加禁选 html <el-table:data"tableData"style"width: 100%"><el-table-columntype"selection"width"55":selectable"checkSelectable">…

Vue3 网络请求

文章目录 Vue3 网络请求CORS问题ajaxfetchaxios Vue3 网络请求 CORS问题 同源&#xff1a;指的是当前用户所在的URL与被请求的URL的协议名、域名、端口必须完全相同。一旦有一个或多个不同&#xff0c;就是非同源请求&#xff0c;也就是我们经常说的跨域请求&#xff0c;简称…

C# 之某度协议登录,JS逆向,手机号绑定,获取CK

.NET兼职社区 .NET兼职社区 .NET兼职社区 .NET兼职社区 有需要指导&#xff0c;请私信我留言V或者去社区找客服。

深入Android架构(从线程到AIDL)_20 IPC的Proxy-Stub设计模式02

2、 IBinder接口的一般用途 前言 一般用途 Android的IPC框架仰赖单一的IBinder接口。此时Client端调用IBinder接口的transact()函数&#xff0c;透过IPC机制而调用到远方(Remote)的onTransact()函数。在Java层框架里&#xff0c; IBinder接口实现于Binder基类&#xff0c;如下…

C++ Json库的使用

1.Json库的使用&#xff0c;包含C Json的创建、读写、字符串Json互转等&#xff0c;覆盖日常使用场景 前提&#xff1a;按照参考的文章部署好nlohmann/json 上代码 #include <iostream> #include <fstream> #include "nlohmann/json.hpp" using json n…

初学stm32 --- ADC单通道采集

目录 ADC寄存器介绍&#xff08;F1&#xff09; ADC控制寄存器 1(ADC_CR1) ADC控制寄存器 2(ADC_CR2) ADC采样时间寄存器1(ADC_SMPR1) ADC采样时间寄存器2(ADC_SMPR2) ADC规则序列寄存器 1(ADC_SQR1) ADC规则序列寄存器 2(ADC_SQR2) ADC规则序列寄存器 3(ADC_SQR3) AD…

FPGA技术的深度理解

目录 引言 FPGA的基本原理 结构组成 工作原理 FPGA的设计流程 设计阶段 编程阶段 实现阶段 FPGA的应用领域 FPGA编程技巧和示例代码 编程技巧 示例代码 结论 引言 FPGA&#xff08;现场可编程门阵列&#xff09;是一种可编程的集成电路&#xff0c;它允许用户根据…