当前位置: 首页 > news >正文

【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'''

相关文章:

【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): 串口协议&#xff08;SPP&#xff09;是一个蓝牙配置文件&#xff0c;允许设备通过蓝牙模拟传统的串行端口通信。它通常用于无线串口连接&#xff0c;允许设备如计算机和外设&#xff08;例如打印机或条形码扫描器&#xff09;之间进行数据传输。A…...

moviepy 将mp4视频文件提取音频mp3 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 需要更多数据资源和技术解决方案&#xff0c;知识星球&#xff1a; “DataBall - X 数据球(free)” -------------------------------------------------------------…...

imageio 图片转mp4 保存mp4

目录 安装&#xff1a; imageio 图片转mp4 numpy 保存mp4 安装&#xff1a; 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批量运行测试用例 十二、实现数据驱动&#xff08;也称参数化&#xff09; 1、csv文件 1️⃣编辑csv文件 2️⃣更新参数的值 3️⃣修改测试脚本和断言 5️⃣批量运行测试用例 2、Json文件 1️⃣编辑Json文件 2️⃣其他操作和处理csv文件相同 十三、…...

学技术学英语:http状态码 401 Unauthorized vs 403 Forbidden

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#xff1a;先看关键单词&#xff0c;再看英文&#xff0c;最后看中文总结&#xff0c;再回头看一遍英文原文&#xff0c;效果更佳&#xff01;&#xff01; 关键词 unauthorized未授权的/ˌʌnˈɔːθəraɪzd/authentication认证/…...

@LocalBuilder装饰器: 维持组件父子关系

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

React(二)——Admin主页/Orders页面/Category页面

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

移动端屏幕分辨率rem,less

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

Docker Desktop 构建java8基础镜像jdk安装配置失效解决

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

数据结构:栈(Stack)和队列(Queue)—面试题(一)

目录 1、括号匹配 2、逆波兰表达式求值 3、栈的压入、弹出序列 4、最小栈 1、括号匹配 习题链接https://leetcode.cn/problems/valid-parentheses/description/ 描述&#xff1a; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] …...

AR 眼镜之-拍照/录像动效切换-实现方案

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

2025年中科院分区大类划分公布!新增8155本

2025年中科院分区表变更情况 扩大收录范围 2025年的期刊分区表在原有的自然科学&#xff08;SCIE&#xff09;、社会科学&#xff08;SSCI&#xff09;和人文科学&#xff08;AHCI&#xff09;的基础上&#xff0c;增加了ESCI期刊的收录&#xff0c;并根据这些期刊的数据进行…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...