python与c语言在语法上的区别-Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文。
10分钟入门Python
本文中使用的是Python3
如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的。下面将开始介绍它们的异同。
Python与C语言基本语法对比
Python使用空格来限制代码的作用域,相当于C语言的{ }。
第一个程序 Hello,World!
C语言
#include
int main(){
printf("Hello,World!");
return 0;
}
Python
print("Hello,World!")
怎么样,是不是已经感受到Python的精巧了呢。
输入输出
C语言
#include
int main(){
int number;
float decimal;
char string[20];
scanf("%d", &number);
scanf("%f", &decimal);
scanf("%s", string);
printf("%d ", number);
printf("%f ", decimal);
printf("%s ", string);
return 0;
}
Python
number = int(input())
decimal = float(input())
string = input()
print(number)
print(decimal)
print(string)
如果你尝试自己写一个Python循环输出语句,你肯定会发现Python的输出默认的换行的,如果不想让它换行,可给end参数复制"",例如
连续输出不换行
for i in range(0, 10):
print(i, end="")
代码注释
C语言
#include
int main()
{
//printf("注释一行");
/**
printf("注释多行");
printf("注释多行");
printf("注释多行");
printf("注释多行");
**/
}
Python
# print("注释一行")
# 三个单引号
'''
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
'''
# 三个双引号
"""
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
"""
基本运算
C语言
#include
int main()
{
int Result;
int a = 10, b = 20;
// 加法
Result = a + b;
printf("%d ", Result);
// 自加
Result++;
++Result ;
printf("%d ", Result);
// 减法
Result = b - a;
printf("%d ", Result);
// 自减
Result--;
--Result;
printf("%d ", Result);
// 乘法
Result = a * b;
printf("%d ", Result);
Result *= a;
printf("%d ", Result);
// 除法
Result = b / a;
printf("%d ", Result);
Result /= a;
printf("%d ", Result);
}
Python
a = 10
b = 20
# 加法
result = a + b
print(result)
# 减法
result = a - b
print(result)
# 乘法
result = a * b
print(result)
result *= a
# 除法
result = b / a
print(result)
result /= a
print(result)
注意:Python没有自加,自减运算符,即i++、++i、i--、--i,其他运算符基本与C语言相同。
判断语句
C语言
#include
int main()
{
int a = 1, b = 2, c = 1;
if(a == b)
{
printf("a == b");
}
else if(a == c)
{
printf("a == c");
}
else
{
printf("error");
}
}
Python
a = 1
b = 2
c = 1
if a == b:
print("a == b")
elif a == c:
print("a == c")
else:
print("error")
elif相当于else if,其他用法与C语言相同。
循环语句
while循环
C语言
#include
int main()
{
int a = 0, b = 10;
while(a < b)
{
a++;
}
printf("%d", a);
}
Python
a = 0
b = 10
while a < b:
a+=1
else:
print(a)
for循环
C语言
#include
int main()
{
for(int i = 0; i < 10; i++){
printf("%d ", i);
}
}
Python
for i in range(0, 10):
print(i)
range(0, 10)表示创建一个在[0, 10)区间的整数列表,相当于C语言for循环中的i < 10条件
函数
C语言
#include
int function(char name[], int age, float weight)
{
printf("Name:%s ", name);
printf("Age:%d ", age);
printf("Weight:%f ", weight);
return 1;
}
int main()
{
char name[20];
int age;
float weight;
printf("请输入名字:");
scanf("%s", name);
printf("请输入年龄:");
scanf("%d", &age);
printf("请输入体重:");
scanf("%f", &weight);
if(function(name, age, weight) == 1)
{
printf("执行完毕");
}
}
Python
#!/usr/bin/env python
# _*_coding:utf-8_*_
def function(name, age, weight):
print("Name:" + name)
print("Age:", age)
print("Weight", weight)
return 1
if __name__ == "__main__":
name = input("请输入名字:")s
age = input("请输入年龄:")
weight = input("请输入体重:")
if (function(name=name, age=age, weight=weight) == 1):
print("执行完毕")
注意代码的作用域,缩减相同表达的意思与C语言的{ }相同。
导入头文件
C语言
#include
#include
float make_sqrt(float numA, float numB, float numC)
{
float sum = sqrt(numA + numB + numC);
return sum;
}
int main()
{
float a, b, c, result;
scanf("%f %f %f", &a, &b, &c);
result = make_sqrt(a, b, c);
printf("%f", result);
return 0;
}
Python
#!/usr/bin/env python
# _*_coding:utf-8_*_
import cmath
import cmath as mt
from cmath import sqrt
def make_sqrt_sum(numA, numB, numC):
sum1 = cmath.sqrt(numA + numB + numC)
sum2 = mt.sqrt(numA + numB + numC)
sum3 = sqrt(numA + numB + numC)
return sum1, sum2, sum3;
if __name__ == "__main__":
a, b, c = map(float, input().split())
result1, result2, result3 = make_sqrt_sum(a, b, c)
print(result1, result2, result3)
导入模块
import cmath
import cmath as mt
from cmath import sqrt
第一种方法是直接导入cmath库(sqrt模块包含在该库中),
第二种方法是导入后给它起个别名(后面使用的使用不用敲那么长的名字了),
第三种方法是直接导入cmath库中的sqrt模块(我们只用到了这个模块)。
数组
Python的数组相当灵活,这里直接介绍Python类似数组的组件,及其常用操作。
列表
列表中每个存储的每个元素可以是不同的类型,例如整数、小数、字符串等。列表中可以实现元素的添加、修改、删除操作,元素的值可以被修改。
peopleList = ["eye", "mouth", "nose", "brow", "ear", 1.80, 120]
print(peopleList) # 输出整个列表
print(peopleList[0]) # 访问索引为0的元素
peopleList[1] = "head" # 修改索引为1的元素
peopleList.append("arm") # 在列表末尾添加元素
peopleList.insert(1, "foot") # 在列表中插入元素
del peopleList[0] # 删除索引位置的元素
result = peopleList.pop(0) # 删除并引用索引位置的元素,先复制给result再从列表中删除
peopleList.remove("nose") # 根据值来删除元素
元组
元组与列表类似,不同的是,它的元素初始化后不能再修改。但可以通过重新给变量赋值操作,达到修改元素的目的。
# 元组
peopleTuple = ("eye", "mouth", "nose", "brow", "ear", 1.80, 120)
print(peopleTuple)
peopleTuple = ("eye", "mouth", "nose", "brow", "head", 6.6, 999) # 重新给变量赋值来达到修改元素的目的
字典
字典是由键-值对组成的集合,可通过键名对值进行操作。
peopleDict = {"e": "eye", "m": "mouth", "n": "nose", "b": "brow", "h": 1.80, "w": 120}
print(peopleDict)
print(peopleDict["e"]) # 访问
peopleDict["a"] = "arm" # 添加键-值对
peopleDict["w"] = 190 # 修改键-值对
del peopleDict["a"] # 删除键-值对
最后
Python博大精深,要想学好建议还是认真研读一本书。
本文已在公众号:MachineEpoch发布,转载请注明出处。
python与c语言在语法上的区别-Python与C语言基础对比(Python快速入门)相关推荐
- python与c语言在语法上的区别-C语言和Python编程先学习哪个
原标题:C语言和Python编程先学习哪个 初学者,Python和C语言先学哪个好? 就像是"先有鸡还是先有蛋一样",先学python还是先学C语言,这也是个世纪难题. 这种纠结并 ...
- python与c语言在语法上的区别-python和c语言的区别是什么
Python可以说是目前最火的语言之一了,人工智能的兴起让Python一夜之间变得家喻户晓,Python号称目前最最简单易学的语言,现在有不少高校开始将Python作为大一新生的入门语言.本萌新也刚开 ...
- python与c语言在语法上的区别-论c++/java/c 与python的语法上的区别
复习C/C++.Java语言知识,结合Python语言知识,结合实例代码说明C/C++.Java与Python的区别(综述题). 要求: 至少列出十点以上区别: 要求每点说明时要结合示例代码: 严禁抄 ...
- python与c语言在语法上的区别-c语言和python之间有什么区别
c语言和python的区别是:1.Python是一种面向对象的解释型语言,通过缩进来表示语句体,在Python中每一条语句结尾后没有分号:2.C是一种面向过程的编译型语言,通过"{}&quo ...
- C语言和C++语言在语法上面的部分区别
(2011-03-16 17:12:13) 标签: 杂谈 分类:计算机 C语言和C++语言在语法上面的部分区别: 1.C语言的定义必须在最前面,C++可以在任何地方定义,比如 for(int i=0; ...
- oracle 和mysql语法上的区别,Mysql和Oracle的一些语法区别
作为一个有追求的程序猿,当然要不断的学习,巴拉巴拉巴拉...好了,贴一个网址给大家,哈哈 MySQL与Oracle 差异比较:http://www.cnblogs.com/HondaHsu/p/364 ...
- python编程入门指南-最简单的Python编程入门指南,没基础也能快速入门Python编程...
原标题:最简单的Python编程入门指南,没基础也能快速入门Python编程 对Python这门编程语言来讲,几乎是没什么不能做到的.最难的不过是如何入门,也就是你进入Python编程的第一步. 其实 ...
- python与c语言在语法上的相同点和不同点_python与c语言的语法有哪些不一样的
python与C的区别如下: 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在您第一次给它赋值的时候.C是静态类型语言,一种在编译期间就确定数据类型的语言 ...
- 论c++/java/c 与python的语法上的区别
复习C/C++.Java语言知识,结合Python语言知识,结合实例代码说明C/C++.Java与Python的区别(综述题). 要求: 至少列出十点以上区别: 要求每点说明时要结合示例代码: 严禁抄 ...
最新文章
- BST AVL 红黑树 B B+树
- Swift中使用正则表达式
- java设计模式---模板方法模式
- 如何准确看清用户需求?
- 互联网1分钟 | 0121 Vlog陌生人社交APP「自言」为年轻人打造生活视频分享平台;周鸿祎:智能设备要警惕“海豚音攻击”...
- 活动推荐 | 于斯为盛,论道长沙!CCL 2018等你来!
- 最短路径(Shortest Paths)
- html的带分页的表格写法,Html表格分页
- Android之解决多语言适配部分TextView内容左对齐和内容一行不排满就到第二行问题
- ubuntu命令之dpkg
- 重定位代码Repair
- 关于口令强度等级的设计
- ESP8266获取B站粉丝数
- 转换HLP文件到CHM格式
- ACK (Acknowledge character)数据通信中的确认字符
- 萌新必看—10种前端存储哪家强,一文读尽!
- 用互联网对接传统行业,改良还是颠覆?
- 网络应用之javascript循环语句
- 用生成函数法解决数列求和问题
- QGC二次开发 # 视频流代码分析