c语言与python的语法区别_来自python的C语言(基本语法),从,Python,看,基础,篇
一个学过C/C++的咸鱼,最近学起了Python,不得不说,知识还是老知识,语法也简单多了,但就是容易搞混。大致总结一下Python与C的区别,以后别张冠李戴啦,嘻嘻。
Part 1.输入与输出
输入任意类型的数据,python用的是input(),input()中无论输入什么,都会默认为字符串的形式,如果要输入数字,可以写为x=eval(input()),而对于确定类型的数字,比如要输入整型数字,可以写为x=int(input());而C语言对于整型、实型、字符(串)型数据,都可以用scanf。整型/实型scanf(“%d/f”,&x),要加引用符号“&”,而字符串不必加引用符号:scanf("%s",x)。对于(单一)字符型数据,用getchar()输入;对于字符串,除了scanf输入,还可以用gets()输入。
输出最常用的非print莫属啦(C语言为printf),但首先值得注意的是print自带换行功能,即print('xxx')等效于C语言中的printf("xxx\n"),当然,print中的单引号换成双引号也可以,但两种引号不能混搭(一边单引号,一边双引号)。Python中,不想换行怎么办?那就加上end=''关键字参数,即print('xxx',end='')等效于C语言中的printf("xxx")。对于具体的输出,与输入一样,C语言需要关键字%d、%s等等,而Python不必写这些形态符号,不同形态的输出也就更方便啦。C语言:printf("output:%d\n",x);Python:print('output:'+str(x));对于整型、实型数据的输出,如果伴随字符串,则要使用str()以字符形态输出,毕竟,字符型数据太傲娇,不愿与整型、实型数据为伍,后者不得不装扮成字符型数据呀。
Part 2.逻辑值
C++特有的bool型数据在Python当中会是怎样的呢?在绝大多数IDE中,C++的bool值是true和false,不能大写;而在Python中,True与False首字母要大写,其他逻辑含义不变,True仍代表1或非0整数,False仍为0。
在交互式环境中,“in”与“not in"语句可以判断某元素是否属于某一数组(列表),比如:列表spam=[1,2,3],我们判断3在不在里面,输入3 in spam,会返回结果:True;若是3 not in spam,则返回的判断结果为False,列表的具体内容我们会在之后讲解。
None值表示没有值,像print()这样的函数不会返回任何值,那么None就是它的返回值。
在Python中,and、or、not更加直白的表示了与、或、非,在C/C++中,它们分别是&&、||、!。如判断句:
Python版本:(2<3) and (4<5) or not (5==6)
C/C++版本:(2<3) && (4<5) || !(5==6)
其实,在基础语法中,C与Python最明显的区别还是——";"。Python的语句不用分号结尾!!!
Part 3.条件&循环语句
条件语句:
//C语言:
if(条件1){
语句内容;
}
else if(条件2){
语句内容;
}
else{
语句内容;
}
#Python语言:
if 条件1:
语句内容#要缩进
elif 条件2:
语句内容#要缩进
else:
语句内容#要缩进
while语句:
//C语言:
while(循环条件){
语句内容;
};
#Python语言:
while 循环条件:
语句内容#要缩进
for语句:
//C语言:
for(i=0;i<10;i=i+2){
语句内容;
}
#Python语言:
for i in range(0,10,2):
语句内容//要缩进
对于终止循环的continue与break,在两种语言中功能相同,不过Python中不必加上分号。
Part 4.导入与终止
导入某种功能(数学公式、排序函数等)时,C语言直接在头文件引用对应功能:#include,如果是导入自己写的头文件,
则为#include"xxx.h";Python则使用import关键字导入,如import random,也可以写为from random import*,后者在调用random模块时就不需要random.前缀了,不过为了使名称完整,最好使用前者的写法。
Python可以导入sys模块,使用sys.exit()函数终止程序运行;也可以按Ctrl+C强行终止程序。
C++中可以通过引入stdlib.h头文件,使用system("pause")实现程序的暂停;Python可以是使用input()语句实现程序的暂停。
Part 5.全局变量
在C/C++中,我们会用define或const语句进行全局定义,而在Python中,使用global语句定义。
Part 6.函数
C语言要写明函数类型int/char/void等,而形参也要标明类型。对于Python,函数定义为"def xxx():",形参也无需标明类型。
Part 7.代码实战
最后,举个栗子对上述内容做个总结吧:
Python版本:
def collatz(number):
if not(number%2):
number=number//2
return number
else:
number=number*3+1
return number
print("请输入一个整数:",end='')
num=int(input())#input默认输入字符型数据,输整数,则需用int()包含
while num !=1:
num=collatz(num)
print(num)
运行结果:
C版本:
#include
int collatz(int number){//要指明函数本身形态int以及形参的形态int
if(!(number%2)){
number/=2;//number为int型,得到结果均会转为整型,相当于整除
return number;
}
else{number=3*number+1;
return number;
}
}
int main(){
int num;
printf("请输入一个整数:");//python的print自带换行功能,如果不想换行,则要加上end=''关键字
scanf("%d",&num);//整型、实型数据用scanf输入,分别对应%d和%f/%lf
while(num!=1){
num=collatz(num);
printf("%d\n",num);//输出也要指明输出数据的形态
}
return 0;
}
运行结果:
感谢耐心观看,如有错误,欢迎指正。
c语言与python的语法区别_来自python的C语言(基本语法),从,Python,看,基础,篇相关推荐
- sql和python有什么区别_该用Python还是SQL?4个案例教你节省时间
在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答.每种语言都有其优势,它们之间也存在着不同的区别.不能否认的是,有些操作用Python执行起来要比SQL更加高效.这篇文章分享 ...
- 语言语法糖_【c#】几种常用语法糖
语法糖(syntactic sugar)是由英国计算机科学家Peter J. Landin发明的术语,指计算机语言中添加的某种语法.这种语法不影响语言的功能,但更方便使用. 在开发中使用语法糖能够让程 ...
- spss与python和sql区别_数据分析中的Excel、R、Python、SPSS、SAS和SQL
作为一直想入门数据分析的童鞋们来说,如何选定一门面向数据分析的编程语言或工具呢?注意是数据分析,而不是大数据哦,数据分析是基础了. 数据分析的工具千万种,综合起来万变不离其宗.无非是数据获取.数据存储 ...
- 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...
代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...
- python做数学计算器_从零开始学习PYTHON3讲义(二)把Python当做计算器
<从零开始PYTHON3>第二讲 上一讲我们说过了如何启动Python IDLE集成开发学习环境,macOS/Linux都可以在命令行执行idle3.Windows则从开始菜单中去寻找ID ...
- 阿里达摩院python教程真的吗_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...
- 小学生python编程写游戏_教你如何像玩游戏一样学Python
原标题:教你如何像玩游戏一样学Python 在编程世界,关于哪个语言是最好的争论从未停止,虽然道理谁也不服谁,但是关于编程的热度,我们可以从TIOBE 编程语言排行榜中得到结果. ▲用Python进行 ...
- perl语言入门第七版 电子版_百迈客带您走近生信分析【入门篇】
年末促销倒计时:59天 百迈客推出年末活动促销,发文有礼.推广有礼以及多种产品钜惠来袭,百迈客为您倾情打造科研福利,您还在等什么?快快行动起来领取您的超级奖励吧!(详情请见"决战2020!品 ...
- python爬取工资_找工作如何和HR谈薪资,python教你爬取行业标准工资
找工作不可避免的要涉及到薪酬问题,如何沟通才能最大程度达到自己的预期? 同样level的公司,有人年薪十几万,有的人插了个草标就把自己卖了,面试中被问到具体的薪资数目.常常会陷入要价太高(或者太低)的 ...
最新文章
- dataconnectiondialog mysql_MySQL的DataConnectionDialog
- JavaScript [ 转 ] —— 面向对象编程(三):非构造函数的继承
- 北理工计算机原理与应用实验,北理工计算机原理与应用实验三教程.docx
- SpringIOC容器介绍
- AI机器人不认同人类语言 产生自己的交流方式 Facebook关闭了他们的人工智能系统...
- 如何编写数据库可视化界面_编写用于数据可视化的替代文本
- .net性能测试和优化1 基本概念
- MQ java.lang.OutOfMemoryError: unable to create new native thread
- php安装sqlserver2008,php53 mssql2008_sqlserver2008安装环境_php mssql库
- 远程桌面登陆不上的解决思路
- 小米笔记本适合计算机专业吗,小米笔记本性价比如何?该不该买?这篇最客观了。...
- HUAWEI 机试题:统计射击比赛成绩
- 华硕路由 ac ax_【路由器】华硕网络开启802.11ax电竞生态
- linux下安装MySQL遇到的坑
- 谷歌地图api 微信小程序_使用Google的融合位置提供程序API进行实时位置跟踪
- IOS开发者自带弱网测试工具界面说明NETWORK LINK CONDITIONER
- “故宫小书包”公益活动走进四川乡村学校
- 如何理解拜占庭将军问题
- stm32单片机实现多个闹钟_STM32实现对RTC闹钟唤醒的设计
- 毕业设计-互联网 + 背景下基于微信小程序的农产品分销系统