Python与C语言基础对比(Python快速入门)
代码较长,建议使用电脑阅读本文。
10分钟入门Python
本文中使用的是Python3
如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的。下面将开始介绍它们的异同。
Python与C语言基本语法对比
Python使用空格来限制代码的作用域,相当于C语言的{ }
。
第一个程序 Hello,World!
C语言
#include<stdio.h>
int main(){
printf("Hello,World!");
return 0;
}
Python
print("Hello,World!")
怎么样,是不是已经感受到Python的精巧了呢。
输入输出
C语言
#include<stdio.h>
int main(){
int number;
float decimal;
char string[20];
scanf("%d", &number);
scanf("%f", &decimal);
scanf("%s", string);
printf("%d\n", number);
printf("%f\n", decimal);
printf("%s\n", 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<stdio.h>
int main()
{
// printf("注释一行");
/**
printf("注释多行");
printf("注释多行");
printf("注释多行");
printf("注释多行");
**/
}
Python
# print("注释一行")
# 三个单引号
'''
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
print("单引号注释多行")
'''
# 三个双引号
"""
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
print("双引号注释多行")
"""
基本运算
C语言
#include<stdio.h>
int main()
{
int Result;
int a = 10, b = 20;
// 加法
Result = a + b;
printf("%d\n", Result);
// 自加
Result++;
++Result ;
printf("%d\n", Result);
// 减法
Result = b - a;
printf("%d\n", Result);
// 自减
Result--;
--Result;
printf("%d\n", Result);
// 乘法
Result = a * b;
printf("%d\n", Result);
Result *= a;
printf("%d\n", Result);
// 除法
Result = b / a;
printf("%d\n", Result);
Result /= a;
printf("%d\n", 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<stdio.h>
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<stdio.h>
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<stdio.h>
int main()
{
for(int i = 0; i < 10; i++){
printf("%d\n", i);
}
}
Python
for i in range(0, 10):
print(i)
range(0, 10)
表示创建一个在[0, 10)区间的整数列表,相当于C语言for循环中的i < 10
条件
函数
C语言
#include<stdio.h>
int function(char name[], int age, float weight)
{
printf("Name:%s\n", name);
printf("Age:%d\n", age);
printf("Weight:%f\n", 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<stdio.h>
#include<math.h>
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快速入门)的更多相关文章
- D17——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D17 20181014内容纲要: 1.jQuery介绍 2.jQuery功能介绍 (1)jQuery的引入方式 (2)选择器 (3)筛选 (4)文本操作 (5) ...
- D13——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D13 20180918内容纲要: 堡垒机运维开发 1.堡垒机的介绍 2.堡垒机的架构 3.小结 4.堡垒机的功能实现需求 1 堡垒机的介绍 百度百科 随着信息安 ...
- D12——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D12 20180912内容纲要: 1.数据库介绍 2.RDMS术语 3.MySQL数据库介绍和基本使用 4.MySQL数据类型 5.MySQL常用命令 6.外键 ...
- D08——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D08 20180829内容纲要: socket网络编程 1 socket基础概念 2 socketserver 3 socket实现简单的SSH服务器端和 ...
- D05——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D05 20180815内容纲要: 1 模块 2 包 3 import的本质 4 内置模块详解 (1)time&datetime (2)datetime ...
- D04——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D04 20180810内容纲要: 1 内置函数 2 装饰器 3 生成器 4 迭代器 5 软件目录结构规范 6 小结 1 内置函数 内置函数方法详 ...
- D03——C语言基础学习PYTHON
C语言基础学习PYTHON——基础学习D03 20180804内容纲要: 1 函数的基本概念 2 函数的参数 3 函数的全局变量与局部变量 4 函数的返回值 5 递归函数 6 高阶函数 7 匿名函数 ...
- D16——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D16 20180927内容纲要: 1.JavaScript介绍 2.JavaScript功能介绍 3.JavaScript变量 4.Dom操作 a.获取标签 b ...
- D15——C语言基础学PYTHON
C语言基础学习PYTHON——基础学习D15 20180926内容纲要: 1.CSS介绍 2.CSS的四种引入方式 3.CSS选择器 4.CSS常用属性 5.小结 6.练习 1 CSS介绍 层叠样式表 ...
随机推荐
- B-S 期权定价模型
Black-Scholes 期权定价模型概述 1997年10月10日,第二十九届诺贝尔经济学奖授予了两位美国学者,哈佛商学院教授罗伯特·默顿(RoBert Merton)和斯坦福大学教授迈伦·斯克尔斯 ...
- js image to base64 摘录
//传入图片路径,返回base64 //用处,由于在新增时,使用的是base64的格式,为了统一,在编辑时,也将图片转为base64,以便于统一处理 /* 使用: 因为图像处理存在一定的延时,所以通过 ...
- java课后动手动脑作业
public class Suiji { public long a=12345L;//定义long类型的a,b,c变量 public long c=12345L; public long m=456 ...
- Selenium3+python自动化016-Selenium Grid
一.Selenium Grid介绍 1.概念 Selenium Grid组件专门用于远程分布式测试或并发测试,通过并发执行测试用例的方式可以提高测试用例的执行速度和效率,解决界面自动化测试执行速度过慢 ...
- python 集合运算交集&并集&差集
差集>>> #两个列表的差集3 >>> ret3 = list(set(a) ^ set(b)) #两个列表的差集 >>> ret4=list(s ...
- 回文串--Manacher算法(模板)
用途:在O(n)时间内,求出以每一个点为中心的回文串长度. 首先,有一个非常巧妙的转化.由于回文串长度有可能为奇数也有可能为偶数,说明回文中心不一定在一个字符上.所以要将字符串做如下处理:在每两个字母 ...
- 第三章:使用ListView展示数据
一.ImageList:存储图像集合 Images 存储的所有图像 ImageSize 图像的大小 ColorDepth 颜色数 TransparentColor 被视为透明的颜色 先设置ColorD ...
- 51nod(1089 最长回文子串 V2)(hash 加二分)
1089 最长回文子串 V2(Manacher算法) 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一个字符串Str,输出Str里最长回文子串的长度. 输入 ...
- 归并排序 ALDS1_5_B:Merge Sort
Merge Sort Write a program of a Merge Sort algorithm implemented by the following pseudocode. You sh ...
- java面试记录三:hashmap、hashtable、concurrentHashmap、ArrayList、linkedList、linkedHashmap、Object类的12个成员方法、消息队列MQ的种类
口述题 1.HashMap的原理?(数组+单向链表.put.get.size方法) 非线程安全:(1)hash冲突:多线程某一时刻同时操作hashmap并执行put操作时,可能会产两个key的hash ...