【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期刊的收录,并根据这些期刊的数据进行…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...