【Python】Python与C的区别
文章目录
- 语句结束符
- 代码块表示
- 变量声明
- 函数定义
- 注释格式
- Python的标识符
- 数据输入input()函数
- 数据输出print()函数
语句结束符
- C 语言
- C 语言中每条语句必须以分号
;
结束。例如,int a = 10;
、printf("Hello, World!");
。分号是语句的一部分,用于告诉编译器一条语句在哪里结束。如果忘记添加分号,编译器会报错,提示语法错误。
- C 语言中每条语句必须以分号
- Python 语言
- Python 语句一般不需要特定的结束符。语句的结束通常是通过换行来表示的。例如,
a = 10
和print("Hello, World!")
,在代码的物理行结束就代表语句结束。不过,也可以使用分号;
来在一行中写多条语句,如a = 10; b = 20
,但这种用法并不常见,不符合 Python 的代码风格推荐。
- Python 语句一般不需要特定的结束符。语句的结束通常是通过换行来表示的。例如,
代码块表示
- C 语言
- C 语言使用花括号
{}
来表示代码块。例如,在函数定义、条件语句(if - else
)、循环语句(for
、while
)等结构中,花括号内的所有语句构成一个代码块。例如:
- C 语言使用花括号
if (a > 10) {printf("a is greater than 10");// 这里可以有多条语句
} else {printf("a is less than or equal to 10");
}
花括号明确界定了代码块的范围,即使代码块中只有一条语句,花括号也可以增强代码的可读性和可维护性,并且在一些编程规范中是被推荐使用的。
- Python 语言
- Python 使用缩进来表示代码块。例如,在
if - else
、for
、while
等语句中,相同缩进级别的语句属于同一个代码块。通常使用 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)允许在代码块的任何位置声明变量,但传统的编程风格还是倾向于在开头声明。
- C 语言要求在使用变量之前必须先声明变量的类型。例如,
- Python 语言
- Python 是动态类型语言,不需要预先声明变量的类型。变量在第一次赋值时被创建。例如,
a = 10
,这里直接将整数 10 赋给变量a
,Python 会自动推断a
是一个整数类型的变量。而且变量可以在代码的任何位置进行赋值和重新赋值,其类型也可以根据赋值的值动态变化,如a = 10; a = "Hello"
,变量a
的类型从整数变为了字符串。
- Python 是动态类型语言,不需要预先声明变量的类型。变量在第一次赋值时被创建。例如,
函数定义
- 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 语言有两种注释方式。一种是单行注释,使用
//
,这种注释方式从//
开始到本行结束的内容都被视为注释。另一种是多行注释,使用/*
开始和*/
结束,在这两个符号之间的所有内容都是注释,这种方式可以用于注释多行内容。例如:
- C 语言有两种注释方式。一种是单行注释,使用
// 这是一个单行注释
int a = 10; /* 这是一个多行注释
可以包含多行内容 */
- Python 语言
- Python 也有单行注释和多行注释。单行注释使用
#
,从#
开始到本行结束的内容是注释。多行注释可以使用三个单引号'''
或者三个双引号"""
包围注释内容。例如:
- Python 也有单行注释和多行注释。单行注释使用
# 这是一个单行注释
a = 10
"""这是一个多行注释
可以包含多行内容"""
- #号和注释内容一般建议以一个空格隔开
- 单行注释一般用于对一行或一小部分代码进行解释; 多行注释一般对:Python文件、类或方法进行解释
Python的标识符
是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
- 标识符命名规则:
• 内容限定
• 大小写敏感
• 不可使用关键字
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'''
相关文章:

【Python】Python与C的区别
文章目录 语句结束符代码块表示变量声明函数定义注释格式Python的标识符数据输入input()函数数据输出print()函数 语句结束符 C 语言 C 语言中每条语句必须以分号;结束。例如,int a 10;、printf("Hello, World!");。分号是语句的一部分,用于…...

[开源]自动化定位建图系统(视频)
系统状态机: 效果展示: 1、 机器人建图定位系统-基础重定位,定位功能演示 2、 机器人建图定位系统-增量地图构建,手动回环检测演示 3、… 开源链接: https://gitee.com/li-wenhao-lwh/lifelong-backend Qt人机交互…...

ISP流程--去马赛克详解
前言 本期我们将深入讨论ISP流程中的去马赛克处理。我们熟知,彩色图像由一个个像元组成,每个像元又由红、绿、蓝(RGB)三通道构成。而相机传感器只能感知光的强度,无法直接感知光谱信息,即只有亮暗而没有颜色…...
Objective-C语言的软件工程
Objective-C语言的软件工程探讨 引言 在软件工程的领域中,编程语言的选择是至关重要的。Objective-C,作为一种为苹果公司的macOS和iOS操作系统而开发的编程语言,凭借其灵活性和强大的功能被广泛应用于应用开发。然而,随着Swift等…...
Objective-C语言的语法糖
Objective-C语言的语法糖探秘 在编程语言的发展历程中,语法糖(Syntactic Sugar)是一个颇具趣味性和重要性的概念。它让编程的表达更加简洁直观,同时提高了代码的可读性和可维护性。Objective-C 作为一种面向对象的编程语言&#…...
设计模式中的代理模式
在Java中,代理模式(Proxy Pattern)可以通过静态代理和动态代理两种主要方式实现。 一、静态代理模式 在编译时就已经确定了代理类和被代理类的关系。 代理类和目标对象通常实现相同的接口或继承相同父类。 缺点是对于每个需要代理的目标对象…...
15个学习Python 的编程游戏网站
从小很多人都会在想,那些枯燥的教学课程要是全部变成游戏就好了,这样的话那期末成绩不得立即起飞了嘛?那对于编程很多人也有这样的想法,边玩边学就好了 这不已经有很多程序员开发了多款边玩边学的编程游戏供大家使用,…...
微信小程序实现拖拽盒子效果
要实现一个当前盒子高度由里面的盒子进行支配高度拖拽的效果 // wxml<view class"exmation-item" wx:elif"{{type4}}"> <view class"exmation-item-drag-box" id"drag-box"> <!-- 内容 --><view class"exm…...
Linux-蓝牙协议
SPP (Serial Port Profile): 串口协议(SPP)是一个蓝牙配置文件,允许设备通过蓝牙模拟传统的串行端口通信。它通常用于无线串口连接,允许设备如计算机和外设(例如打印机或条形码扫描器)之间进行数据传输。A…...

moviepy 将mp4视频文件提取音频mp3 - python 实现
DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” -------------------------------------------------------------…...
imageio 图片转mp4 保存mp4
目录 安装: imageio 图片转mp4 numpy 保存mp4 安装: FFMPEG: pip install imageio[ffmpeg] pyav: pip install imageio[pyav] imageio 图片转mp4 import glob import osimport cv2 import imageio from natsort import natsortedfrom PIL import …...

Postman接口测试04|批量运行测试用例、参数化、Mock Server、Cookie鉴权、Newman生成测试报告
目录 十一、Postman批量运行测试用例 十二、实现数据驱动(也称参数化) 1、csv文件 1️⃣编辑csv文件 2️⃣更新参数的值 3️⃣修改测试脚本和断言 5️⃣批量运行测试用例 2、Json文件 1️⃣编辑Json文件 2️⃣其他操作和处理csv文件相同 十三、…...
学技术学英语:http状态码 401 Unauthorized vs 403 Forbidden
📢📢📢:先看关键单词,再看英文,最后看中文总结,再回头看一遍英文原文,效果更佳!! 关键词 unauthorized未授权的/ˌʌnˈɔːθəraɪzd/authentication认证/…...

@LocalBuilder装饰器: 维持组件父子关系
一、前言 当开发者使用Builder做引用数据传递时,会考虑组件的父子关系,使用了bind(this)之后,组件的父子关系和状态管理的父子关系并不一致。为了解决组件的父子关系和状态管理的父子关系保持一致的问题,引入LocalBuilder装饰器。…...

React(二)——Admin主页/Orders页面/Category页面
文章目录 项目地址一、侧边栏1.1 具体实现 二、Header2.1 实现 三、Orders页面3.1 分页和搜索3.2 点击箭头显示商家所有订单3.3 页码按钮以及分页 四、Category页面4.1 左侧商品添加栏目4.2 右侧商品上传栏 五、Sellers页面六、Payment Request 页面(百万数据加载&a…...

移动端屏幕分辨率rem,less
谷歌模拟器:能直接看到移动端效果 屏幕分辨率 右键电脑桌面 ,点击显示设置 PC端是逻辑分辨率,移动端代码也是参考逻辑分辨率 网页端宽度和逻辑分辨率尺寸相同 手机屏幕尺寸不同,网页宽度均为 100% 所以就需要添加视口标签&#x…...

Docker Desktop 构建java8基础镜像jdk安装配置失效解决
Docker Desktop 构建java8基础镜像jdk安装配置失效解决 文章目录 1.问题2.解决方法3.总结 1.问题 之前的好几篇文章中分享了在Linux(centOs上)和windows10上使用docker和docker Desktop环境构建java8的最小jre基础镜像,前几天我使用Docker Desktop环境重新构建了一个…...

数据结构:栈(Stack)和队列(Queue)—面试题(一)
目录 1、括号匹配 2、逆波兰表达式求值 3、栈的压入、弹出序列 4、最小栈 1、括号匹配 习题链接https://leetcode.cn/problems/valid-parentheses/description/ 描述: 给定一个只包括 (,),{,},[,] …...

AR 眼镜之-拍照/录像动效切换-实现方案
目录 📂 前言 AR 眼镜系统版本 拍照/录像动效切换 1. 🔱 技术方案 1.1 技术方案概述 1.2 实现方案 1)第一阶段动效 2)第二阶段动效 2. 💠 默认代码配置 2.1 XML 初始布局 2.2 监听滑动对 View 改变 3. ⚛️…...

2025年中科院分区大类划分公布!新增8155本
2025年中科院分区表变更情况 扩大收录范围 2025年的期刊分区表在原有的自然科学(SCIE)、社会科学(SSCI)和人文科学(AHCI)的基础上,增加了ESCI期刊的收录,并根据这些期刊的数据进行…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...