【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期刊的收录,并根据这些期刊的数据进行…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
